diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2010-09-30 20:18:35 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2010-09-30 20:18:35 +0000 |
commit | 7eae36b38b874f417fa191fc1cfec22c100f164d (patch) | |
tree | 8c16949ea213be52128add5ff41b4598b34f2132 /test/MC/ELF | |
parent | a3fbadfcd882f9f15bda7c1213b5ff52d6582a10 (diff) | |
download | external_llvm-7eae36b38b874f417fa191fc1cfec22c100f164d.zip external_llvm-7eae36b38b874f417fa191fc1cfec22c100f164d.tar.gz external_llvm-7eae36b38b874f417fa191fc1cfec22c100f164d.tar.bz2 |
Factor some logic into ShouldRelocOnSymbol. This simplifies the code and
fixes some cases where we were producing relocations with at symbol that
should use a section instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115194 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/MC/ELF')
-rw-r--r-- | test/MC/ELF/basic-elf.ll | 2 | ||||
-rw-r--r-- | test/MC/ELF/relocation.s | 21 |
2 files changed, 16 insertions, 7 deletions
diff --git a/test/MC/ELF/basic-elf.ll b/test/MC/ELF/basic-elf.ll index b9be067..f130ced 100644 --- a/test/MC/ELF/basic-elf.ll +++ b/test/MC/ELF/basic-elf.ll @@ -101,7 +101,7 @@ declare i32 @puts(i8* nocapture) nounwind ; 64: # Relocation 2 ; 64: (('r_offset', 15) ; 64: ('r_type', 10) -; 64: ('r_addend', 0) +; 64: ('r_addend', 6) ; 64: ), ; 64: # Relocation 3 ; 64: (('r_offset', 20) diff --git a/test/MC/ELF/relocation.s b/test/MC/ELF/relocation.s index a8f4e5f..45c863e 100644 --- a/test/MC/ELF/relocation.s +++ b/test/MC/ELF/relocation.s @@ -10,39 +10,48 @@ bar: movq bar, %rdx // R_X86_64_32S .long bar // R_X86_64_32 +// CHECK: # Section 1 +// CHECK: (('sh_name', 1) # '.text' + +// CHECK: # Symbol 2 +// CHECK: (('st_name', 0) # '' +// CHECK: ('st_bind', 0) +// CHECK ('st_type', 3) +// CHECK: ('st_other', 0) +// CHECK: ('st_shndx', 1) // CHECK: # Relocation 0 // CHECK-NEXT: (('r_offset', 1) -// CHECK-NEXT: ('r_sym', +// CHECK-NEXT: ('r_sym', 2) // CHECK-NEXT: ('r_type', 10) // CHECK-NEXT: ('r_addend', // CHECK: # Relocation 1 // CHECK-NEXT: (('r_offset', 8) -// CHECK-NEXT: ('r_sym', +// CHECK-NEXT: ('r_sym', 2) // CHECK-NEXT: ('r_type', 11) // CHECK-NEXT: ('r_addend', // CHECK: # Relocation 2 // CHECK-NEXT: (('r_offset', 19) -// CHECK-NEXT: ('r_sym', +// CHECK-NEXT: ('r_sym', 2) // CHECK-NEXT: ('r_type', 11) // CHECK-NEXT: ('r_addend', // CHECK: # Relocation 3 // CHECK-NEXT: (('r_offset', 26) -// CHECK-NEXT: ('r_sym', +// CHECK-NEXT: ('r_sym', 2) // CHECK-NEXT: ('r_type', 11) // CHECK-NEXT: ('r_addend', // CHECK: # Relocation 4 // CHECK-NEXT: (('r_offset', 34) -// CHECK-NEXT: ('r_sym', +// CHECK-NEXT: ('r_sym', 2) // CHECK-NEXT: ('r_type', 11) // CHECK-NEXT: ('r_addend', // CHECK: # Relocation 5 // CHECK-NEXT: (('r_offset', 38) -// CHECK-NEXT: ('r_sym', +// CHECK-NEXT: ('r_sym', 2) // CHECK-NEXT: ('r_type', 10) // CHECK-NEXT: ('r_addend', |