History log of /external/llvm/test/MC/ELF/relocation-386.s
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
7486d92a6c949a193bb75c0ffa0170eeb2fabb80 30-May-2013 Rafael Espindola <rafael.espindola@gmail.com> Change how we iterate over relocations on ELF.

For COFF and MachO, sections semantically have relocations that apply to them.
That is not the case on ELF.

In relocatable objects (.o), a section with relocations in ELF has offsets to
another section where the relocations should be applied.

In dynamic objects and executables, relocations don't have an offset, they have
a virtual address. The section sh_info may or may not point to another section,
but that is not actually used for resolving the relocations.

This patch exposes that in the ObjectFile API. It has the following advantages:

* Most (all?) clients can handle this more efficiently. They will normally walk
all relocations, so doing an effort to iterate in a particular order doesn't
save time.

* llvm-readobj now prints relocations in the same way the native readelf does.

* probably most important, relocations that don't point to any section are now
visible. This is the case of relocations in the rela.dyn section. See the
updated relocation-executable.test for example.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182908 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/test/MC/ELF/relocation-386.s
f89da7210b09a0a0f7c9ee216cd54dca03c6b64a 12-Apr-2013 Nico Rieck <nico.rieck@gmail.com> Replace coff-/elf-dump with llvm-readobj

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179361 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/test/MC/ELF/relocation-386.s
3c68acd202d061c38e9b7744012094b4009d932a 09-Dec-2011 Rafael Espindola <rafael.espindola@gmail.com> Handle reloc_signed_4byte in here. Not doing so was a regression from my
previous commit. It is strange that we see it in 32 bits. We already
have a fixme about it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146273 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/test/MC/ELF/relocation-386.s
1d5969d839ddc4d0af93fd035aa13131e5c6fa82 09-Dec-2011 Rafael Espindola <rafael.espindola@gmail.com> Handle the case of the magical _GLOBAL_OFFSET_TABLE_ showing up in a
symbol difference. This matches gas behavior and fixes PR11513.

We still don't handle _GLOBAL_OFFSET_TABLE_ in data sections.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146238 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/test/MC/ELF/relocation-386.s
251a2bbfb00ceb254d7ac1d35ae975ad9e2145cf 04-Aug-2011 Rafael Espindola <rafael.espindola@gmail.com> print st_shndx with the correct number of bits.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136880 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/test/MC/ELF/relocation-386.s
67ac0c0d630aa823f31632beecef520df1d7c48b 04-Aug-2011 Rafael Espindola <rafael.espindola@gmail.com> print st_other with the correct number of bits.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136877 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/test/MC/ELF/relocation-386.s
71a8f5ca12e8536e6050cc7a09fa2a87ea629cfa 04-Aug-2011 Rafael Espindola <rafael.espindola@gmail.com> print st_type with the correct number of bits.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136875 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/test/MC/ELF/relocation-386.s
d7c278326f333f41d8ec8d19f817a117e3f11190 04-Aug-2011 Rafael Espindola <rafael.espindola@gmail.com> Print st_bind with the correct number of bits.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136874 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/test/MC/ELF/relocation-386.s
a83f8ef9b4d727011ee43743810ef1f6ec12bb81 04-Aug-2011 Rafael Espindola <rafael.espindola@gmail.com> Print r_sym with the correct number of bits.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136873 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/test/MC/ELF/relocation-386.s
f81f6758f3188e1fd8be6b3707301959268dbbf0 04-Aug-2011 Rafael Espindola <rafael.espindola@gmail.com> Print r_type with the correct number of bits.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136872 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/test/MC/ELF/relocation-386.s
65ad8dc807174b53615181a8170befdf60b6771d 04-Aug-2011 Rafael Espindola <rafael.espindola@gmail.com> Another counter goes decimal.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136871 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/test/MC/ELF/relocation-386.s
f7179de2a5c127d08e6d24e507abec516f2fc597 04-Aug-2011 Rafael Espindola <rafael.espindola@gmail.com> Change anther counter to decimal.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136870 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/test/MC/ELF/relocation-386.s
014180d387a875f7e04fd3532eab24dd0794db08 04-Aug-2011 Rafael Espindola <rafael.espindola@gmail.com> Don't print a counter in hex.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136869 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/test/MC/ELF/relocation-386.s
e0b87032f5ac8134b7585bdc4a0f2c77158b962d 04-Jun-2011 Nick Lewycky <nicholas@mxc.ca> Add support for @GOTPTOFF in i386 mode.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132643 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/test/MC/ELF/relocation-386.s
9974b8b3cb49eb937cb148c4199e0d456186c3ca 08-Apr-2011 Rafael Espindola <rafael.espindola@gmail.com> Update tests

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129116 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/test/MC/ELF/relocation-386.s
7c18fa87a4d4ed8b0cfe1ec65597c748c6d91ca9 20-Mar-2011 Rafael Espindola <rafael.espindola@gmail.com> Write the section table and the section data in the same order that
gun as does. This makes it a lot easier to compare the output of both
as the addresses are now a lot closer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127972 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/test/MC/ELF/relocation-386.s
a5ff979c114a658c69fddd065d702a13c40f6ae1 18-Dec-2010 Rafael Espindola <rafael.espindola@gmail.com> Test for push being relaxed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122124 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/test/MC/ELF/relocation-386.s
25958730dffe0a16f9c251a1fa317799b8419a1f 24-Nov-2010 Rafael Espindola <rafael.espindola@gmail.com> Behave a bit more like gnu as and use the symbol (instead of the section)
for any relocation to a symbol defined in a tls section.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120121 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/test/MC/ELF/relocation-386.s
1683fcc82397681a64a35884edc9c62c49f2f179 24-Nov-2010 Rafael Espindola <rafael.espindola@gmail.com> Relocate with the symbol if the relocation is of kind NTPOFF.
Patch by David Meyer, I added the test.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120104 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/test/MC/ELF/relocation-386.s
12203cc7c3f7392d62556946a10b2f10205ea63d 21-Nov-2010 Rafael Espindola <rafael.espindola@gmail.com> Handle PCRel relocations with absolute values. Fixes PR8656.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119917 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/test/MC/ELF/relocation-386.s
0cf15d61b7e3bf53f5a99f58ada37b93bc039559 28-Oct-2010 Rafael Espindola <rafael.espindola@gmail.com> Implement DTPOFF.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117546 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/test/MC/ELF/relocation-386.s
a264f72d3fb9dec1427480fcf17ef3c746ea723a 28-Oct-2010 Rafael Espindola <rafael.espindola@gmail.com> Implement TLSLDM.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117544 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/test/MC/ELF/relocation-386.s
a0a2f8734cdfc19d44201b791a969bcdda96bb70 28-Oct-2010 Rafael Espindola <rafael.espindola@gmail.com> Implement VK_GOTNTPOFF and switch RelocNeedsGOT to use VariantKind.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117543 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/test/MC/ELF/relocation-386.s
3cede2d0b2b6cc0a06f55da7c2f8e4263ec0091e 27-Oct-2010 Rafael Espindola <rafael.espindola@gmail.com> Add support for R_386_TLS_GD, R_386_TLS_LE_32, R_386_TLS_IE and R_386_TLS_LE.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117494 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/test/MC/ELF/relocation-386.s
f7d5278fb32b84b6218a222346202ab3af17057c 19-Oct-2010 Jason W Kim <jason.w.kim.2009@gmail.com> Fixing r116753 r116756 r116777
The failures in r116753 r116756 were caused by a python issue -
Python likes to append 'L' suffix to stringified numbers if the number
is larger than a machine int. Unfortunately, this causes a divergence of
behavior between 32 and 64 bit python versions.

I re-crafted elf-dump/common_dump to take care of these issues by:

1. always printing 0x (makes for easy sed/regex)
2. always print fixed length (exactly 2 + numBits/4 digits long)
by mod ((2^numBits) - 1)
3. left-padded with '0'

There is a residual common routine that is also used by
macho-dump (dataToHex) , so I left the 'section_data' test values alone.




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116823 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/test/MC/ELF/relocation-386.s
1dcb1eafbc0c94dc0cb9cd0d3f002524de8a5a92 19-Oct-2010 Eric Christopher <echristo@apple.com> Speculatively revert 116753 and 116756 to attempt to fix the bots.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116777 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/test/MC/ELF/relocation-386.s
e7d4a4c6c882907da11adcaaacf1a2f464214e87 18-Oct-2010 Jason W Kim <jason.w.kim.2009@gmail.com> Changed elf-dump to output hex format by default.
Also updated tests.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116753 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/test/MC/ELF/relocation-386.s
eada30479399014c22c7b7edb008177c312eefee 18-Oct-2010 Rafael Espindola <rafael.espindola@gmail.com> Implement R_386_GOT32.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116744 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/test/MC/ELF/relocation-386.s
ce2d3c57758619e99a99104e1168a9558658fab0 18-Oct-2010 Rafael Espindola <rafael.espindola@gmail.com> Relocate with .bss instead of using the symbol. Matches gas behavior.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116741 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/test/MC/ELF/relocation-386.s
aa85c216334a6adac7e0a154d357b370629dc1bc 18-Oct-2010 Rafael Espindola <rafael.espindola@gmail.com> Produce ELF::R_386_GOTPC relocations.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116728 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/test/MC/ELF/relocation-386.s
9edab3a9e15c40c1c9bf70df81c6afdab1cd02c2 18-Oct-2010 Rafael Espindola <rafael.espindola@gmail.com> Produce a R_386_PLT32 when needed. Moved the default cases of switches to the
start for consistency.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116715 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/test/MC/ELF/relocation-386.s
c97f80efc80030c7544a9903c79d2dccd197a0ff 18-Oct-2010 Rafael Espindola <rafael.espindola@gmail.com> Handle GOTOFF correctly on i386.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116711 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/test/MC/ELF/relocation-386.s