[llvm] r222898 - Widen ELFYAML relocation type to 32 bits
Will Newton
will.newton at linaro.org
Thu Nov 27 09:20:48 PST 2014
Author: wnewton
Date: Thu Nov 27 11:20:48 2014
New Revision: 222898
URL: http://llvm.org/viewvc/llvm-project?rev=222898&view=rev
Log:
Widen ELFYAML relocation type to 32 bits
The current 8 bits is sufficient for ELF32 targets but ELF64 requires
32 bits. Add a test for AArch64 that exposes the issue.
Modified:
llvm/trunk/include/llvm/Object/ELFYAML.h
llvm/trunk/test/Object/AArch64/yaml2obj-elf-aarch64-rel.yaml
Modified: llvm/trunk/include/llvm/Object/ELFYAML.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Object/ELFYAML.h?rev=222898&r1=222897&r2=222898&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Object/ELFYAML.h (original)
+++ llvm/trunk/include/llvm/Object/ELFYAML.h Thu Nov 27 11:20:48 2014
@@ -40,7 +40,7 @@ LLVM_YAML_STRONG_TYPEDEF(uint8_t, ELF_EL
// Just use 64, since it can hold 32-bit values too.
LLVM_YAML_STRONG_TYPEDEF(uint64_t, ELF_EF)
LLVM_YAML_STRONG_TYPEDEF(uint32_t, ELF_SHT)
-LLVM_YAML_STRONG_TYPEDEF(uint8_t, ELF_REL)
+LLVM_YAML_STRONG_TYPEDEF(uint32_t, ELF_REL)
// Just use 64, since it can hold 32-bit values too.
LLVM_YAML_STRONG_TYPEDEF(uint64_t, ELF_SHF)
LLVM_YAML_STRONG_TYPEDEF(uint8_t, ELF_STT)
Modified: llvm/trunk/test/Object/AArch64/yaml2obj-elf-aarch64-rel.yaml
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Object/AArch64/yaml2obj-elf-aarch64-rel.yaml?rev=222898&r1=222897&r2=222898&view=diff
==============================================================================
--- llvm/trunk/test/Object/AArch64/yaml2obj-elf-aarch64-rel.yaml (original)
+++ llvm/trunk/test/Object/AArch64/yaml2obj-elf-aarch64-rel.yaml Thu Nov 27 11:20:48 2014
@@ -11,6 +11,10 @@
# CHECK-NEXT: Symbol: main
# CHECK-NEXT: Type: R_AARCH64_ABS64
# CHECK-NEXT: Addend: 0
+# CHECK-NEXT: - Offset: 0x0000000000000008
+# CHECK-NEXT: Symbol: main
+# CHECK-NEXT: Type: R_AARCH64_TLSGD_ADR_PREL21
+# CHECK-NEXT: Addend: 0
FileHeader:
Class: ELFCLASS64
@@ -22,7 +26,7 @@ Sections:
Name: .text
Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
AddressAlign: 0x04
- Content: 0000000000000000
+ Content: 00000000000000000000000000000000
- Type: SHT_RELA
Name: .rela.text
Link: .symtab
@@ -33,6 +37,10 @@ Sections:
Symbol: main
Type: R_AARCH64_ABS64
Addend: 0
+ - Offset: 8
+ Symbol: main
+ Type: R_AARCH64_TLSGD_ADR_PREL21
+ Addend: 0
Symbols:
Local:
More information about the llvm-commits
mailing list