aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
diff options
context:
space:
mode:
authorJames Molloy <james.molloy@arm.com>2012-01-26 09:25:43 +0000
committerJames Molloy <james.molloy@arm.com>2012-01-26 09:25:43 +0000
commit34982576a43887e7f062ed0a3571af2cbab003f3 (patch)
tree672c8ca4d13c41c1f797d7278c1ea3db30fc5cc5 /lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
parent668f7ac9e4642e1b4af4f5b047d569c68bc2c55f (diff)
downloadexternal_llvm-34982576a43887e7f062ed0a3571af2cbab003f3.zip
external_llvm-34982576a43887e7f062ed0a3571af2cbab003f3.tar.gz
external_llvm-34982576a43887e7f062ed0a3571af2cbab003f3.tar.bz2
Add support for the R_ARM_TARGET1 relocation, which should be given to relocations applied to all C++ constructors and destructors.
This enables the linker to match concrete relocation types (absolute or relative) with whatever library or C++ support code is being linked against. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149057 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp')
-rw-r--r--lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp b/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
index 67345bf..2ad64de 100644
--- a/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
+++ b/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
@@ -236,7 +236,10 @@ unsigned ARMELFObjectWriter::GetRelocTypeInner(const MCValue &Target,
case MCSymbolRefExpr::VK_ARM_GOTOFF:
Type = ELF::R_ARM_GOTOFF32;
break;
- }
+ case MCSymbolRefExpr::VK_ARM_TARGET1:
+ Type = ELF::R_ARM_TARGET1;
+ break;
+ }
break;
case ARM::fixup_arm_ldst_pcrel_12:
case ARM::fixup_arm_pcrel_10: