llvm-project/lld/test
Rafael Espindola 4b6833332b Rewrite our relocation processing.
This splits relocation processing in two steps.

First, analyze what needs to be done at the relocation spot. This can
be a constant (non preemptible symbol, relative got reference, etc) or
require a dynamic relocation. At this step we also consider creating
copy relocations.

Once that is done we decide if we need a got or a plt entry.

The code is simpler IMHO. For example:

- There is a single call to isPicRel since the logic is not split
  among adjustExpr and the caller.
- R_MIPS_GOTREL is simple to handle now.
- The tracking of what is preemptible or not is much simpler now.

This also fixes a regression with symbols being both in a got and copy
relocated. They had regressed in r268668 and r268149.

The other test changes are because of error messages changes or the
order of two relocations in the output.

llvm-svn: 322047
2018-01-09 00:13:54 +00:00
..
COFF Fix newly failing tests. 2018-01-08 23:07:39 +00:00
Driver/Inputs Remove the old ELF linker. 2016-02-28 00:10:58 +00:00
ELF Rewrite our relocation processing. 2018-01-09 00:13:54 +00:00
MinGW [MinGW] Don't pass -dynamicbase:no by default for arm/arm64 2017-12-12 19:39:18 +00:00
Unit [lit] Rename lld and clang lit configs to end in .py 2017-09-21 17:38:13 +00:00
darwin
mach-o [MACH-O] Fix the ASM code generated for __stub_helpers section 2017-08-24 23:51:40 +00:00
wasm [WebAssembly] Write out undefined symbol addresses as zero 2018-01-08 23:39:11 +00:00
CMakeLists.txt [lit] Rename lld and clang lit configs to end in .py 2017-09-21 17:38:13 +00:00
lit.cfg.py [ELF] Use shell to check the file permissions 2017-12-12 00:31:46 +00:00
lit.site.cfg.py.in [lit] Rename lld and clang lit configs to end in .py 2017-09-21 17:38:13 +00:00