hanchenye-llvm-project/lld/test
Simon Atanasyan e3e8a0a913 [ELF] Regroup code creates ELF relocations references ELFReference into
a couple of new virtual functions.

Follow-up to the rL203408. Two virtual functions `createRelocationReference()`
responsible for creation of `ELFReference` have been replaced by a couple of
new virtual functions `createRelocationReferences()` (plural). Each former
function creates a //single// ELFReference for a specified `Elf_Rela`
or `Elf_Rel` relocation records. The new functions responsible for creation
of //all// relocation references for provided symbol.

For all targets except MIPS there are no functional changes.

MIPS ABI has a notion of //paired// relocations. An effective addend of such
relocations are calculated using addends of both pair's members.
Each `R_MIPS_HI16` and `R_MIPS_GOT16` (for local symbols) relocations must have
an associated `R_MIPS_LO16` entry immediately following it in the list
of relocations. Immediately does not mean "next record" in relocations section
but "next record referenced the same symbol". Moreover a single `R_MIPS_LO16`
relocation can be paired with multiple preceding `R_MIPS_HI16/R_MIPS_GOT16`
relocations.

The paired relocation can have offsets belong to the different symbols.
That is why we need to have access to list of all relocations during
construction of `ELFReference` for MIPS target.

The patch reviewed by Shankar Easwaran.

llvm-svn: 206102
2014-04-12 03:59:46 +00:00
..
Driver Remove ordinals from Input Graph elements. 2014-04-03 02:21:44 +00:00
LinkerScript [LinkerScript] parse OUTPUT_FORMAT : treat quotedStrings as identifier 2014-02-25 17:02:54 +00:00
Unit [lit] Python 3. 2014-03-26 00:53:48 +00:00
core [core] support .gnu.linkonce sections 2014-04-01 03:49:55 +00:00
darwin Fix trailing whitespace. 2014-01-27 03:09:26 +00:00
elf [ELF] Regroup code creates ELF relocations references ELFReference into 2014-04-12 03:59:46 +00:00
pecoff [PECOFF] Fix common symbol alignment. 2014-04-09 01:01:51 +00:00
CMakeLists.txt [test] use llvm-config to drive testing in assert mode/debug mode 2014-02-25 02:29:17 +00:00
lit.cfg [lit] Environment variables get stripped in lit. Manually specify locale. 2014-03-26 01:19:07 +00:00
lit.site.cfg.in [lit] Python 3. 2014-03-26 00:53:48 +00:00