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
|