1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 18:54:02 +01:00
llvm-mirror/tools/llvm-objcopy
James Henderson 94e7e8ac11 [llvm-objcopy/strip] Fix off-by-one error in SYMTAB_SHNDX need check
The check for whether an extended symbol index table was required
dropped the first SHN_LORESERVE sections from the sections array before
checking whether the remaining sections had symbols. Unfortunately, the
null section header is not present in this list, so the check was
skipping the first section that might be important. If that section
contained a symbol, and no subsequent ones did, the .symtab_shndx
section would not be emitted, leading to a corrupt object.

Also consolidate and expand test coverage in the area to cover this bug
and other aspects of the SYMTAB_SHNDX section.

Reviewed by: alexshap, MaskRay

Differential Revision: https://reviews.llvm.org/D97661
2021-03-04 10:23:45 +00:00
..
COFF [llvm-objcopy] Delete --build-id-link-{dir,input,output} 2021-02-15 11:17:32 -08:00
ELF [llvm-objcopy/strip] Fix off-by-one error in SYMTAB_SHNDX need check 2021-03-04 10:23:45 +00:00
MachO [llvm-objcopy] Delete --build-id-link-{dir,input,output} 2021-02-15 11:17:32 -08:00
wasm [llvm-objcopy] Delete --build-id-link-{dir,input,output} 2021-02-15 11:17:32 -08:00
BitcodeStripOpts.td [llvm-objcopy][MachO] Add llvm-bitcode-strip driver 2020-09-18 18:13:05 -07:00
Buffer.cpp [llvm-objcopy] preserve file ownership when overwritten by root 2021-02-12 18:01:43 -08:00
Buffer.h [llvm-objcopy] preserve file ownership when overwritten by root 2021-02-12 18:01:43 -08:00
CMakeLists.txt [llvm-objcopy][MachO] Add llvm-bitcode-strip driver 2020-09-18 18:13:05 -07:00
CommonOpts.td [llvm-objcopy][ELF] Implement --only-keep-debug 2019-11-05 08:56:15 -08:00
CopyConfig.cpp [llvm-objcopy] Delete --build-id-link-{dir,input,output} 2021-02-15 11:17:32 -08:00
CopyConfig.h [llvm-objcopy] Delete --build-id-link-{dir,input,output} 2021-02-15 11:17:32 -08:00
InstallNameToolOpts.td [llvm-install-name-tool] Add -prepend_rpath option 2020-10-23 15:01:03 -07:00
llvm-objcopy.cpp [llvm-objcopy] If input=output, preserve umask bits, otherwise drop S_ISUID/S_ISGID bits 2021-02-24 11:10:09 -08:00
llvm-objcopy.h [llvm-objcopy][MachO] Add support for universal binaries 2020-10-06 04:01:40 -07:00
ObjcopyOpts.td [llvm-objcopy] Delete --build-id-link-{dir,input,output} 2021-02-15 11:17:32 -08:00
StripOpts.td [llvm-objcopy][MachO] Add support for removing Swift symbols 2020-05-26 16:49:56 -07:00