OSDN Git Service

Teach ARM/MC/ELF about gcc compatible reloc output to get past odd linkage
authorJason W Kim <jason.w.kim.2009@gmail.com>
Mon, 7 Feb 2011 01:11:15 +0000 (01:11 +0000)
committerJason W Kim <jason.w.kim.2009@gmail.com>
Mon, 7 Feb 2011 01:11:15 +0000 (01:11 +0000)
commit953a2a3dee46bebd70b129fd62709710f5f2b033
tree01a5aaf6b81117295a7eaea805843178e9b59766
parentf009a961caa75465999ef3bc764984d97a7da331
Teach ARM/MC/ELF about gcc compatible reloc output to get past odd linkage
failures with relocations.

The code committed is a first cut at compatibility for emitted relocations in
ELF .o.

Why do this? because existing ARM tools like emitting relocs symbols as
explicit relocations, not as section-offset relocs.

Result is that with these changes,
1) relocs are now substantially identical what to gcc outputs.
2) larger apps (including many spec2k tests) compile, cross-link, and pass

Added reminder fixme to tests for future conversion to .s form.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124996 91177308-0d34-0410-b5e6-96231b3b80d8
lib/MC/ELFObjectWriter.cpp
test/MC/ARM/elf-reloc-01.ll [new file with mode: 0644]
test/MC/ARM/elf-reloc-02.ll [new file with mode: 0644]
test/MC/ARM/elf-reloc-03.ll [new file with mode: 0644]