OSDN Git Service

ARM: Darwin BL/BLX relocations to out-of-range symbols.
authorJim Grosbach <grosbach@apple.com>
Tue, 25 Sep 2012 18:07:17 +0000 (18:07 +0000)
committerJim Grosbach <grosbach@apple.com>
Tue, 25 Sep 2012 18:07:17 +0000 (18:07 +0000)
commitfe2d5f848764dff8f9ba734a5e2438ca1535890e
treecd42c1e77b5ceae8e0cb49b0892bbf384f286264
parent13098443994339249fb3f085bbc4fbcdf9f033db
ARM: Darwin BL/BLX relocations to out-of-range symbols.

When a BL/BLX references a symbol in the same translation unit that is
out of range, use an external relocation. The linker will use this to
generate a branch island rather than a direct reference, allowing the
relocation to resolve correctly.

rdar://12359919

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164615 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp
test/MC/MachO/ARM/long-call-branch-island-relocation.s [new file with mode: 0644]