Add support for the R_ARM_ABS32 relocation.

This should bring the arm buildbots back.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@205502 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Rafael Espindola 2014-04-03 02:27:00 +00:00
parent ee2bf5b607
commit 2f913e3c6c
3 changed files with 18 additions and 0 deletions

View File

@ -153,6 +153,14 @@ public:
HasError = true;
return RelocToApply();
}
} else if (FileFormat == "ELF32-arm") {
switch (RelocType) {
default:
HasError = true;
return RelocToApply();
case llvm::ELF::R_ARM_ABS32:
return visitELF_ARM_ABS32(R, Value);
}
}
HasError = true;
return RelocToApply();
@ -325,6 +333,11 @@ private:
return RelocToApply(Value + Addend, 8);
}
RelocToApply visitELF_ARM_ABS32(RelocationRef R, uint64_t Value) {
int64_t Addend = getAddend32LE(R);
return RelocToApply(Value + Addend, 4);
}
};
}

Binary file not shown.

View File

@ -0,0 +1,5 @@
RUN: llvm-dwarfdump %p/Inputs/arm-relocs.elf-arm | FileCheck %s
; CHECK: debug_info contents
; CHECK: DW_TAG_enumeration_type
; CHECK-NEXT: DW_AT_name{{.*}} = "e1"