Files
clang-p2996/lld/ELF
George Rimar e7bf968803 [ELF] - Stop producing broken output for R_386_GOT32[X] relocations.
Previously we silently produced broken output for R_386_GOT32X/R_386_GOT32 
relocations if they were used to compute the address of the symbol’s global
offset table entry without base register when position-independent code is disabled.

Situation happened because of recent ABI changes. Released ABI mentions that
R_386_GOT32X can be calculated in a two different ways (so we did not follow ABI here 
before this patch), but draft ABI also mentions R_386_GOT32 relocation here. 
We should use the same calculations for both relocations.

Problem is that we always calculated them as G + A - GOT (offset from end of GOT),
but for case when PIC is disabled, according to i386 ABI calculation should be G + A,
what should produce just an address in GOT finally.

ABI: https://github.com/hjl-tools/x86-psABI/wiki/intel386-psABI-draft.pdf (p36, p60).
llvm-svn: 299812
2017-04-08 06:14:14 +00:00
..
2017-03-23 00:54:16 +00:00
2017-03-27 03:42:55 +00:00
2017-02-23 02:28:28 +00:00
2017-03-30 22:57:49 +00:00
2017-04-03 19:11:23 +00:00
2017-04-03 19:11:23 +00:00
2017-04-07 16:10:46 +00:00
2017-03-01 23:00:10 +00:00
2016-12-18 14:06:06 +00:00
2016-11-05 22:58:01 +00:00
2017-04-05 10:03:25 +00:00
2017-04-05 10:03:25 +00:00
2017-03-08 22:36:28 +00:00
2017-03-24 00:15:57 +00:00