llvm-project/lld/test/COFF
Peter Collingbourne 31275d4472 COFF: Correctly handle relocations against early discarded sections.
Don't crash if we encounter a reference to an early discarded section
(such as .drectve). Instead, handle them the same way as sections
discarded by comdat merging, i.e. either print an error message or
(for debug sections) silently ignore the relocation.

Differential Revision: https://reviews.llvm.org/D40235

llvm-svn: 318689
2017-11-20 19:37:07 +00:00
..
Inputs [coff] correctly emit safeseh entries for handlers defined in dlls 2017-11-16 01:22:01 +00:00
alternatename.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
ar-comdat.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
arm-thumb-branch-error.s COFF ARM: Error out if 24 bit thumb branches are out of range 2016-08-05 17:33:24 +00:00
arm64-import2.test Update tests for ARMNT/ARM64 reloc names 2017-11-06 07:22:17 +00:00
arm64-magic.yaml [COFF] Add initial support for linking ARM64 binaries 2017-07-01 20:29:27 +00:00
arm64-relocs-imports.test [COFF] Add support for IMAGE_REL_ARM64_SECREL 2017-11-08 07:31:50 +00:00
armnt-blx23t.test Update tests for ARMNT/ARM64 reloc names 2017-11-06 07:22:17 +00:00
armnt-branch24t.test Update tests for ARMNT/ARM64 reloc names 2017-11-06 07:22:17 +00:00
armnt-entry-point.test COFF: Make test commands shorter. NFC. 2015-08-06 16:47:46 +00:00
armnt-imports.test Update tests for ARMNT/ARM64 reloc names 2017-11-06 07:22:17 +00:00
armnt-mov32t-exec.test Update tests for ARMNT/ARM64 reloc names 2017-11-06 07:22:17 +00:00
armnt-movt32t.test Update tests for ARMNT/ARM64 reloc names 2017-11-06 07:22:17 +00:00
associative-comdat.s Give associative-comdat lld test a triple 2017-06-16 20:51:42 +00:00
base.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
baserel.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
cl-gl.test Identify object files compiled with cl.exe /GL. 2016-11-15 01:01:51 +00:00
combined-resources.test Revert "Revert "Revert "Revert "Switch external cvtres.exe for llvm's own resource library."""" 2017-07-08 03:06:10 +00:00
common-alignment.test [COFF] Add support for aligncomm directives 2017-08-14 19:07:27 +00:00
common.test [LLD] Mark a number of x86 only tests to require x86 2017-07-18 18:40:50 +00:00
conflict-mangled.test COFF: Define overloaded toString functions. 2016-12-07 23:17:02 +00:00
conflict.test [LLD] Mark a number of x86 only tests to require x86 2017-07-18 18:40:50 +00:00
constant-export.test Merge a test YAML file and a test file. 2017-05-16 01:16:20 +00:00
constant.test [LLD] Mark a number of x86 only tests to require x86 2017-07-18 18:40:50 +00:00
debug.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
def-export-stdcall.s [COFF] Fix exporting of functions starting with underscores, etc 2017-10-23 09:08:24 +00:00
def-name.test Revert "Revert "Revert "Revert "Switch external cvtres.exe for llvm's own resource library."""" 2017-07-08 03:06:10 +00:00
defparser.test COFF: Make test commands shorter. NFC. 2015-08-06 16:47:46 +00:00
delayimports-armnt.yaml Update tests for ARMNT/ARM64 reloc names 2017-11-06 07:22:17 +00:00
delayimports-error.test Do not allow delay-importing data symbols. 2017-05-25 18:03:34 +00:00
delayimports.test COFF: /delayload:<DLLNAME> is case-insensitive. 2015-09-03 14:49:47 +00:00
delayimports32.test COFF: Stop emitting a non-standard COFF symbol table into PEs. 2017-11-17 19:51:20 +00:00
dll.test Revert "Revert "Revert "Revert "Switch external cvtres.exe for llvm's own resource library."""" 2017-07-08 03:06:10 +00:00
dllexport-mingw.s [COFF] Fix exporting of functions starting with underscores, etc 2017-10-23 09:08:24 +00:00
dllimport-gc.test Revert "Revert "Revert "Revert "Switch external cvtres.exe for llvm's own resource library."""" 2017-07-08 03:06:10 +00:00
driver-windows.test Accept not only lld-link but also LLD-LINK, for example. 2017-04-12 18:29:52 +00:00
driver.test Add the --version option. 2017-10-23 14:57:53 +00:00
duplicate.test COFF: handle multiply defined symbols with different storage 2017-09-01 22:12:10 +00:00
entry-inference.test Use error() instead of warn() to report undefined symbols. 2017-10-06 23:43:54 +00:00
entry-inference2.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
entry-inference32.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
entry-mangled.test [LLD] Mark a number of x86 only tests to require x86 2017-07-18 18:40:50 +00:00
entrylib.ll [LLD] Mark a number of x86 only tests to require x86 2017-07-18 18:40:50 +00:00
error-limit.test [COFF] support /ERRORLIMIT option 2017-04-05 00:43:54 +00:00
export-all.s [COFF] Improve the autoexport check for symbols from import libraries with -opt:noref 2017-11-16 07:22:44 +00:00
export-arm64.yaml [COFF] Add a test for producing DLLs and import libraries for ARM64 2017-07-25 06:08:25 +00:00
export-armnt.yaml [COFF] Correctly set the thumb bit in DLL export addresses 2017-07-25 06:10:44 +00:00
export-exe.test COFF: We no longer require lib.exe to test DLL exports. 2016-12-15 00:11:17 +00:00
export.test [COFF] Don't produce weak aliases in import libraries 2017-08-16 05:23:00 +00:00
export32.test [COFF] Add a test for def files with spaces between @ and ordinal 2017-10-26 20:11:54 +00:00
failifmismatch.test COFF: Make test commands shorter. NFC. 2015-08-06 16:47:46 +00:00
filetype.test COFF: Make test commands shorter. NFC. 2015-08-06 16:47:46 +00:00
force.test Use error() instead of warn() to report undefined symbols. 2017-10-06 23:43:54 +00:00
guardcf.test Define __guard_{iat,longjmp}_{count,table} symbols. 2017-06-21 02:26:19 +00:00
heap.test COFF: Make test commands shorter. NFC. 2015-08-06 16:47:46 +00:00
hello32.test Fix SizeOfImage in the PE header. 2017-10-25 23:00:40 +00:00
help.test COFF: Make test commands shorter. NFC. 2015-08-06 16:47:46 +00:00
icf-associative.test Disable GC and ICF when /debug is present 2017-11-13 18:38:25 +00:00
icf-circular.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
icf-circular2.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
icf-data.test COFF ICF: Merge only functions. Do not merge read-only data. 2017-04-27 23:03:22 +00:00
icf-different-align.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
icf-executable.s COFF: Stop requiring comdat sections to have an external leader to participate in ICF. 2017-11-20 18:51:29 +00:00
icf-local.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
icf-simple.test Disable GC and ICF when /debug is present 2017-11-13 18:38:25 +00:00
icf-xdata.s All .xdata sections are eligble for ICF 2017-11-17 19:50:10 +00:00
implib-name.test COFF: improve link conformance for import names 2017-07-19 02:01:27 +00:00
imports-mangle.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
imports.test [LLD] Mark a number of x86 only tests to require x86 2017-07-18 18:40:50 +00:00
include-lto.ll [LLD] Mark a number of x86 only tests to require x86 2017-07-18 18:40:50 +00:00
include.test COFF: Fix invalid comdat sections in test cases. 2017-11-20 05:31:37 +00:00
include2.test COFF: New symbol table design. 2016-12-09 21:55:24 +00:00
internal.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
invalid-debug-type.test [COFF] Fix interaction between /DEBUG and /PDB 2017-05-18 15:15:10 +00:00
invalid-obj.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
largeaddressaware.test COFF: Make test commands shorter. NFC. 2015-08-06 16:47:46 +00:00
lib.test COFF: add support for lib mode usage 2017-06-15 20:39:58 +00:00
libpath.test COFF: Make test commands shorter. NFC. 2015-08-06 16:47:46 +00:00
linkenv.test Handle _LINK_ env string as command line parameters. 2017-04-24 22:20:03 +00:00
linkrepro-manifest.test Try to fix test on windows. 2017-10-25 05:33:28 +00:00
linkrepro-pdb.test COFF: Add type server pdb files to linkrepro tar file. 2017-10-20 19:48:26 +00:00
linkrepro-res.test COFF: Add resource files to linkrepro instead of the cvtres object file. 2017-10-16 23:15:04 +00:00
linkrepro.test Revert r291526: Re-enable /linkrepro test on Windows. 2017-01-10 02:08:37 +00:00
lldmap.test Port recent changes to ELF/MapFile.cpp to COFF. 2017-04-29 18:50:39 +00:00
loadcfg.ll [COFF] Don't hard-code the load configuration size 2016-03-15 09:48:27 +00:00
loadcfg.test COFF: Fix invalid comdat sections in test cases. 2017-11-20 05:31:37 +00:00
loadcfg32.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
locally-imported-arm64.test Update tests for ARMNT/ARM64 reloc names 2017-11-06 07:22:17 +00:00
locally-imported.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
locally-imported32.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
long-section-name.test COFF: Stop emitting a non-standard COFF symbol table into PEs. 2017-11-17 19:51:20 +00:00
lto-cache.ll COFF: Implement ThinLTO cache and cache pruning support. 2017-09-08 00:50:50 +00:00
lto-chkstk.ll COFF: Make test commands shorter. NFC. 2015-08-06 16:47:46 +00:00
lto-comdat.ll refactor COFF linker to use new LTO API 2017-02-02 23:58:14 +00:00
lto-debug-pass-arguments.ll Add parsing of mllvm command line options. 2017-03-30 20:10:40 +00:00
lto-lazy-reference.ll LTO: Don't follow lazy references when seeing new definitions in the combined LTO object 2016-10-12 09:00:06 +00:00
lto-linker-opts.ll IR: Replace the "Linker Options" module flag with "llvm.linker.options" named metadata. 2017-06-12 20:10:48 +00:00
lto-new-symbol.ll COFF: Make test commands shorter. NFC. 2015-08-06 16:47:46 +00:00
lto-opt-level.ll COFF: Stop emitting a non-standard COFF symbol table into PEs. 2017-11-17 19:51:20 +00:00
lto-parallel.ll refactor COFF linker to use new LTO API 2017-02-02 23:58:14 +00:00
lto-reloc-model.ll COFF: When generating code for LTO, use static reloc model on 32-bit x86. 2017-10-11 00:46:58 +00:00
lto.ll COFF: Make test commands shorter. NFC. 2015-08-06 16:47:46 +00:00
machine.test COFF: Make test commands shorter. NFC. 2015-08-06 16:47:46 +00:00
manifest.test lld: /manifestuac:no shouldn't disable /manifestdependency: 2017-07-26 23:38:10 +00:00
manifestinput-error.test Fix crbug 759265 by suppressing llvm mt warnings. 2017-09-06 01:50:36 +00:00
manifestinput-nowarning.test Fix crbug 759265 by suppressing llvm mt warnings. 2017-09-06 01:50:36 +00:00
manifestinput.test Remove trailing whitespace. 2017-10-27 19:23:12 +00:00
merge.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
msvclto-archive.ll [LLD] Mark a number of x86 only tests to require x86 2017-07-18 18:40:50 +00:00
msvclto-order.ll [LLD] Mark a number of x86 only tests to require x86 2017-07-18 18:40:50 +00:00
msvclto.ll [LLD] Mark a number of x86 only tests to require x86 2017-07-18 18:40:50 +00:00
nodefaultlib.test Use error() instead of warn() to report undefined symbols. 2017-10-06 23:43:54 +00:00
noentry.test Revert "Revert "Revert "Revert "Switch external cvtres.exe for llvm's own resource library."""" 2017-07-08 03:06:10 +00:00
nopdb.test Add a /nopdb flag to disable PDB generation 2017-03-22 19:49:12 +00:00
opt.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
options.test Revert r303378: Set IMAGE_DLL_CHARACTERISTICS_NO_BIND. 2017-09-15 22:49:13 +00:00
order.test COFF: Open and map input files asynchronously on Windows. 2016-12-15 04:02:23 +00:00
out.test Revert "Revert "Revert "Revert "Switch external cvtres.exe for llvm's own resource library."""" 2017-07-08 03:06:10 +00:00
pdb-comdat.test [llvm-pdbutil] Support dumping CodeView from object files. 2017-09-01 20:06:56 +00:00
pdb-diff.test [llvm-pdbutil] Add support for dumping detailed module stats. 2017-08-21 14:53:25 +00:00
pdb-global-gc.yaml Disable GC and ICF when /debug is present 2017-11-13 18:38:25 +00:00
pdb-globals.test [PDB] Ignore all S_UDT symbols when writing PDBs. 2017-08-14 18:44:58 +00:00
pdb-heapsite.yaml [codeview] Fix handling of S_HEAPALLOCSITE 2017-10-24 17:02:40 +00:00
pdb-import-gc.yaml Disable GC and ICF when /debug is present 2017-11-13 18:38:25 +00:00
pdb-invalid-func-type.yaml [PDB] Fix linking of function symbols and local variables. 2017-08-08 18:34:44 +00:00
pdb-lib.s [llvm-pdbutil] Add support for dumping detailed module stats. 2017-08-21 14:53:25 +00:00
pdb-linker-module.test [llvm-pdbutil] Add support for dumping detailed module stats. 2017-08-21 14:53:25 +00:00
pdb-none.test [LLD COFF/PDB] Incrementally update the build id. 2017-08-15 21:31:41 +00:00
pdb-options.test [PDB] Add a module descriptor for every object file 2017-06-13 15:49:13 +00:00
pdb-procid-remapping.test [PDB] Fix linking of function symbols and local variables. 2017-08-08 18:34:44 +00:00
pdb-publics-import.test [PDB] Fix an issue writing the publics stream. 2017-08-09 04:23:59 +00:00
pdb-safeseh.yaml [LLD/PDB] Write actual records to the globals stream. 2017-08-11 19:00:03 +00:00
pdb-same-name.test COFF: PDB: Allow multiple modules with the same name. 2017-09-07 20:39:46 +00:00
pdb-scopes.test [PDB] Fix linking of function symbols and local variables. 2017-08-08 18:34:44 +00:00
pdb-secrel-absolute.yaml [LLD/PDB] Write actual records to the globals stream. 2017-08-11 19:00:03 +00:00
pdb-source-lines.test [LLD COFF/PDB] Incrementally update the build id. 2017-08-15 21:31:41 +00:00
pdb-symbol-types.yaml [PDB] Ignore all S_UDT symbols when writing PDBs. 2017-08-14 18:44:58 +00:00
pdb-thunk.yaml [PDB] Add test for S_THUNK32 records 2017-10-23 23:15:40 +00:00
pdb-type-server-missing.yaml [PDB] Merge in types and items from type servers (/Zi) 2017-07-18 00:21:25 +00:00
pdb-type-server-simple.test Update test expectation after r314821 2017-10-03 18:46:57 +00:00
pdb.test [llvm-pdbutil] Add support for dumping detailed module stats. 2017-08-21 14:53:25 +00:00
reloc-arm.test Update tests for ARMNT/ARM64 reloc names 2017-11-06 07:22:17 +00:00
reloc-discarded-dwarf.s [COFF] Don't error out on relocations to discarded sections in .eh_frame 2017-10-10 06:05:29 +00:00
reloc-discarded-early.s COFF: Correctly handle relocations against early discarded sections. 2017-11-20 19:37:07 +00:00
reloc-discarded-early2.s COFF: Correctly handle relocations against early discarded sections. 2017-11-20 19:37:07 +00:00
reloc-discarded.s [COFF] Allow debug info to relocate against discarded symbols 2017-06-28 17:06:35 +00:00
reloc-oob.yaml [COFF] Bounds check relocations 2017-07-13 20:29:59 +00:00
reloc-x64.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
reloc-x86.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
resource.test Revert "Revert "Revert "Revert "Switch external cvtres.exe for llvm's own resource library."""" 2017-07-08 03:06:10 +00:00
responsefile.test lld-link: Add --rsp-quoting= flag. 2017-09-05 23:46:45 +00:00
rsds.test [LLD COFF/PDB] Incrementally update the build id. 2017-08-15 21:31:41 +00:00
safeseh-diag-feat.test [COFF] Improve synthetic symbol handling 2017-06-26 15:39:52 +00:00
safeseh-md.s [coff] correctly emit safeseh entries for handlers defined in dlls 2017-11-16 01:22:01 +00:00
safeseh.s [coff] use relative instead of absolute __safe_se_handler_base when present 2017-11-07 23:24:10 +00:00
savetemps.ll [LLD] Mark a number of x86 only tests to require x86 2017-07-18 18:40:50 +00:00
secidx-absolute.s [COFF] Fix SECTION and SECREL relocation handling for absolute symbols 2017-06-22 23:33:04 +00:00
secrel-absolute.s [COFF] Allow debug info to relocate against discarded symbols 2017-06-28 17:06:35 +00:00
secrel-common.s [COFF] Fix SECREL and SECTION relocations against common symbols 2017-06-26 16:45:36 +00:00
section-size.s [COFF] Check for sections larger than 4 GiB 2017-09-19 23:58:05 +00:00
section.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
seh.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
sort-debug.test Resubmit "[codeview] Make obj2yaml/yaml2obj support .debug$S..." 2017-06-14 15:59:27 +00:00
stack.test COFF: Make test commands shorter. NFC. 2015-08-06 16:47:46 +00:00
subsystem-inference.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
subsystem.test COFF: Make test commands shorter. NFC. 2015-08-06 16:47:46 +00:00
thinlto-archives.ll [LLD] Mark a number of x86 only tests to require x86 2017-07-18 18:40:50 +00:00
thinlto-mangled.ll [LLD] Mark a number of x86 only tests to require x86 2017-07-18 18:40:50 +00:00
thinlto.ll [LLD] Mark a number of x86 only tests to require x86 2017-07-18 18:40:50 +00:00
tls.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
tls32.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
unwind.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
version.test COFF: Make test commands shorter. NFC. 2015-08-06 16:47:46 +00:00
weak-external.test refactor COFF linker to use new LTO API 2017-02-02 23:58:14 +00:00
weak-external2.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
weak-external3.test refactor COFF linker to use new LTO API 2017-02-02 23:58:14 +00:00
wholearchive.s [COFF] Add support for the -wholearchive option 2017-09-13 07:28:03 +00:00
wx.s [COFF] Add support for /WX 2017-10-24 21:19:22 +00:00