diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2011-08-04 14:39:30 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2011-08-04 14:39:30 +0000 |
commit | f81f6758f3188e1fd8be6b3707301959268dbbf0 (patch) | |
tree | 64586f57d47b581187d9b0020eb70269e435e6df | |
parent | 65ad8dc807174b53615181a8170befdf60b6771d (diff) |
Print r_type with the correct number of bits.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136872 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | test/CodeGen/ARM/2010-11-30-reloc-movt.ll | 6 | ||||
-rw-r--r-- | test/MC/ARM/elf-movt.s | 4 | ||||
-rw-r--r-- | test/MC/ARM/elf-reloc-01.ll | 2 | ||||
-rw-r--r-- | test/MC/ARM/elf-reloc-02.ll | 2 | ||||
-rw-r--r-- | test/MC/ARM/elf-reloc-03.ll | 2 | ||||
-rw-r--r-- | test/MC/ARM/elf-thumbfunc-reloc.ll | 2 | ||||
-rw-r--r-- | test/MC/ELF/basic-elf-32.s | 8 | ||||
-rw-r--r-- | test/MC/ELF/call-abs.s | 2 | ||||
-rw-r--r-- | test/MC/ELF/relocation-386.s | 48 | ||||
-rwxr-xr-x | test/Scripts/elf-dump | 10 |
10 files changed, 44 insertions, 42 deletions
diff --git a/test/CodeGen/ARM/2010-11-30-reloc-movt.ll b/test/CodeGen/ARM/2010-11-30-reloc-movt.ll index 8a0220690d..99e1fbc590 100644 --- a/test/CodeGen/ARM/2010-11-30-reloc-movt.ll +++ b/test/CodeGen/ARM/2010-11-30-reloc-movt.ll @@ -24,17 +24,17 @@ entry: ; OBJ: Relocation 0 ; OBJ-NEXT: 'r_offset', 0x00000004 ; OBJ-NEXT: 'r_sym', 0x00000007 -; OBJ-NEXT: 'r_type', 0x0000002b +; OBJ-NEXT: 'r_type', 0x2b ; OBJ: Relocation 1 ; OBJ-NEXT: 'r_offset', 0x00000008 ; OBJ-NEXT: 'r_sym' -; OBJ-NEXT: 'r_type', 0x0000002c +; OBJ-NEXT: 'r_type', 0x2c ; OBJ: # Relocation 2 ; OBJ-NEXT: 'r_offset', 0x0000000c ; OBJ-NEXT: 'r_sym', 0x00000008 -; OBJ-NEXT: 'r_type', 0x0000001c +; OBJ-NEXT: 'r_type', 0x1c } diff --git a/test/MC/ARM/elf-movt.s b/test/MC/ARM/elf-movt.s index 5c89ce3c31..02bb5a6907 100644 --- a/test/MC/ARM/elf-movt.s +++ b/test/MC/ARM/elf-movt.s @@ -30,10 +30,10 @@ barf: @ @barf @ OBJ: Relocation 0 @ OBJ-NEXT: 'r_offset', 0x00000000 @ OBJ-NEXT: 'r_sym' -@ OBJ-NEXT: 'r_type', 0x0000002d +@ OBJ-NEXT: 'r_type', 0x2d @ OBJ: Relocation 1 @ OBJ-NEXT: 'r_offset', 0x00000004 @ OBJ-NEXT: 'r_sym' -@ OBJ-NEXT: 'r_type', 0x0000002e +@ OBJ-NEXT: 'r_type', 0x2e diff --git a/test/MC/ARM/elf-reloc-01.ll b/test/MC/ARM/elf-reloc-01.ll index a17ef616dc..de28afc0bc 100644 --- a/test/MC/ARM/elf-reloc-01.ll +++ b/test/MC/ARM/elf-reloc-01.ll @@ -63,7 +63,7 @@ declare void @exit(i32) noreturn nounwind ;; OBJ: Relocation 1 ;; OBJ-NEXT: 'r_offset', ;; OBJ-NEXT: 'r_sym', 0x00000002 -;; OBJ-NEXT: 'r_type', 0x0000002b +;; OBJ-NEXT: 'r_type', 0x2b ;; OBJ: Symbol 2 ;; OBJ-NEXT: '_MergedGlobals' diff --git a/test/MC/ARM/elf-reloc-02.ll b/test/MC/ARM/elf-reloc-02.ll index 972c7fe4c4..00bc1d6ea3 100644 --- a/test/MC/ARM/elf-reloc-02.ll +++ b/test/MC/ARM/elf-reloc-02.ll @@ -44,7 +44,7 @@ declare void @exit(i32) noreturn nounwind ;; OBJ: Relocation 0 ;; OBJ-NEXT: 'r_offset', ;; OBJ-NEXT: 'r_sym', 0x00000002 -;; OBJ-NEXT: 'r_type', 0x0000002b +;; OBJ-NEXT: 'r_type', 0x2b ;; OBJ: Symbol 2 ;; OBJ-NEXT: '.L.str' diff --git a/test/MC/ARM/elf-reloc-03.ll b/test/MC/ARM/elf-reloc-03.ll index 3d1584f40d..4a9db427eb 100644 --- a/test/MC/ARM/elf-reloc-03.ll +++ b/test/MC/ARM/elf-reloc-03.ll @@ -91,7 +91,7 @@ declare void @exit(i32) noreturn nounwind ;; OBJ: Relocation 1 ;; OBJ-NEXT: 'r_offset', ;; OBJ-NEXT: 'r_sym', 0x0000000c -;; OBJ-NEXT: 'r_type', 0x0000002b +;; OBJ-NEXT: 'r_type', 0x2b ;; OBJ: Symbol 12 ;; OBJ-NEXT: 'vtable' diff --git a/test/MC/ARM/elf-thumbfunc-reloc.ll b/test/MC/ARM/elf-thumbfunc-reloc.ll index 67ef1c78b8..48d24f366b 100644 --- a/test/MC/ARM/elf-thumbfunc-reloc.ll +++ b/test/MC/ARM/elf-thumbfunc-reloc.ll @@ -29,7 +29,7 @@ entry: ; CHECK: Relocation 0 ; CHECK-NEXT: 'r_offset', 0x00000008 ; CHECK-NEXT: 'r_sym', 0x00000007 -; CHECK-NEXT: 'r_type', 0x0000000a +; CHECK-NEXT: 'r_type', 0x0a ; make sure foo is thumb function: bit 0 = 1 ; CHECK: Symbol 7 diff --git a/test/MC/ELF/basic-elf-32.s b/test/MC/ELF/basic-elf-32.s index 4435a7f786..6a28a46f1f 100644 --- a/test/MC/ELF/basic-elf-32.s +++ b/test/MC/ELF/basic-elf-32.s @@ -44,19 +44,19 @@ main: # @main // CHECK: ('_relocations', [ // CHECK: # Relocation 0 // CHECK: (('r_offset', 0x00000006) -// CHECK: ('r_type', 0x00000001) +// CHECK: ('r_type', 0x01) // CHECK: ), // CHECK: # Relocation 1 // CHECK: (('r_offset', 0x0000000b) -// CHECK: ('r_type', 0x00000002) +// CHECK: ('r_type', 0x02) // CHECK: ), // CHECK: # Relocation 2 // CHECK: (('r_offset', 0x00000012) -// CHECK: ('r_type', 0x00000001) +// CHECK: ('r_type', 0x01) // CHECK: ), // CHECK: # Relocation 3 // CHECK: (('r_offset', 0x00000017) -// CHECK: ('r_type', 0x00000002) +// CHECK: ('r_type', 0x02) // CHECK: ), // CHECK: ]) diff --git a/test/MC/ELF/call-abs.s b/test/MC/ELF/call-abs.s index cf7b3cc339..7d2116377e 100644 --- a/test/MC/ELF/call-abs.s +++ b/test/MC/ELF/call-abs.s @@ -19,6 +19,6 @@ f: # @f // CHECK-NEXT: # Relocation 0 // CHECK-NEXT: (('r_offset', 0x00000004) // CHECK-NEXT: ('r_sym', 0x00000000) -// CHECK-NEXT: ('r_type', 0x00000002) +// CHECK-NEXT: ('r_type', 0x02) // CHECK-NEXT: ), // CHECK-NEXT: ]) diff --git a/test/MC/ELF/relocation-386.s b/test/MC/ELF/relocation-386.s index cb8660dd86..8665772ef4 100644 --- a/test/MC/ELF/relocation-386.s +++ b/test/MC/ELF/relocation-386.s @@ -6,17 +6,17 @@ // CHECK: # Relocation 0 // CHECK-NEXT: (('r_offset', 0x00000002) // CHECK-NEXT: ('r_sym', 0x00000001) -// CHECK-NEXT: ('r_type', 0x00000009) +// CHECK-NEXT: ('r_type', 0x09) // CHECK-NEXT: ), // CHECK-NEXT: # Relocation 1 // CHECK-NEXT: (('r_offset', // CHECK-NEXT: ('r_sym', -// CHECK-NEXT: ('r_type', 0x00000004) +// CHECK-NEXT: ('r_type', 0x04) // CHECK-NEXT: ), // CHECK-NEXT: # Relocation 2 // CHECK-NEXT: (('r_offset', // CHECK-NEXT: ('r_sym', -// CHECK-NEXT: ('r_type', 0x0000000a) +// CHECK-NEXT: ('r_type', 0x0a) // CHECK-NEXT: ), // Relocation 3 (bar3@GOTOFF) is done with symbol 7 (bss) @@ -30,135 +30,135 @@ // CHECK-NEXT: # Relocation 4 // CHECK-NEXT: (('r_offset', // CHECK-NEXT: ('r_sym', -// CHECK-NEXT: ('r_type', 0x00000003 +// CHECK-NEXT: ('r_type', 0x03 // CHECK-NEXT: ), // Relocation 5 (foo@TLSGD) is of type R_386_TLS_GD // CHECK-NEXT: # Relocation 5 // CHECK-NEXT: (('r_offset', 0x00000020) // CHECK-NEXT: ('r_sym', 0x0000000d) -// CHECK-NEXT: ('r_type', 0x00000012) +// CHECK-NEXT: ('r_type', 0x12) // CHECK-NEXT: ), // Relocation 6 ($foo@TPOFF) is of type R_386_TLS_LE_32 // CHECK-NEXT: # Relocation 6 // CHECK-NEXT: (('r_offset', 0x00000025) // CHECK-NEXT: ('r_sym', 0x0000000d) -// CHECK-NEXT: ('r_type', 0x00000022) +// CHECK-NEXT: ('r_type', 0x22) // CHECK-NEXT: ), // Relocation 7 (foo@INDNTPOFF) is of type R_386_TLS_IE // CHECK-NEXT: # Relocation 7 // CHECK-NEXT: (('r_offset', 0x0000002b) // CHECK-NEXT: ('r_sym', 0x0000000d) -// CHECK-NEXT: ('r_type', 0x0000000f) +// CHECK-NEXT: ('r_type', 0x0f) // CHECK-NEXT: ), // Relocation 8 (foo@NTPOFF) is of type R_386_TLS_LE // CHECK-NEXT: # Relocation 8 // CHECK-NEXT: (('r_offset', 0x00000031) // CHECK-NEXT: ('r_sym', 0x0000000d) -// CHECK-NEXT: ('r_type', 0x00000011) +// CHECK-NEXT: ('r_type', 0x11) // CHECK-NEXT: ), // Relocation 9 (foo@GOTNTPOFF) is of type R_386_TLS_GOTIE // CHECK-NEXT: # Relocation 9 // CHECK-NEXT: (('r_offset', 0x00000037) // CHECK-NEXT: ('r_sym', 0x0000000d) -// CHECK-NEXT: ('r_type', 0x00000010) +// CHECK-NEXT: ('r_type', 0x10) // CHECK-NEXT: ), // Relocation 10 (foo@TLSLDM) is of type R_386_TLS_LDM // CHECK-NEXT: # Relocation 10 // CHECK-NEXT: (('r_offset', 0x0000003d) // CHECK-NEXT: ('r_sym', 0x0000000d) -// CHECK-NEXT: ('r_type', 0x00000013) +// CHECK-NEXT: ('r_type', 0x13) // CHECK-NEXT: ), // Relocation 11 (foo@DTPOFF) is of type R_386_TLS_LDO_32 // CHECK-NEXT: # Relocation 11 // CHECK-NEXT: (('r_offset', 0x00000043) // CHECK-NEXT: ('r_sym', 0x0000000d) -// CHECK-NEXT: ('r_type', 0x00000020) +// CHECK-NEXT: ('r_type', 0x20) // CHECK-NEXT: ), // Relocation 12 (calll 4096) is of type R_386_PC32 // CHECK-NEXT: # Relocation 12 // CHECK-NEXT: (('r_offset', 0x00000048) // CHECK-NEXT: ('r_sym', 0x00000000) -// CHECK-NEXT: ('r_type', 0x00000002) +// CHECK-NEXT: ('r_type', 0x02) // CHECK-NEXT: ), // Relocation 13 (zed@GOT) is of type R_386_GOT32 and uses the symbol // CHECK-NEXT: # Relocation 13 // CHECK-NEXT: (('r_offset', 0x0000004e) // CHECK-NEXT: ('r_sym', 0x00000004) -// CHECK-NEXT: ('r_type', 0x00000003) +// CHECK-NEXT: ('r_type', 0x03) // CHECK-NEXT: ), // Relocation 14 (zed@GOTOFF) is of type R_386_GOTOFF and uses the symbol // CHECK-NEXT: # Relocation 14 // CHECK-NEXT: (('r_offset', 0x00000054) // CHECK-NEXT: ('r_sym', 0x00000004) -// CHECK-NEXT: ('r_type', 0x00000009) +// CHECK-NEXT: ('r_type', 0x09) // CHECK-NEXT: ), // Relocation 15 (zed@INDNTPOFF) is of type R_386_TLS_IE and uses the symbol // CHECK-NEXT: # Relocation 15 // CHECK-NEXT: (('r_offset', 0x0000005a) // CHECK-NEXT: ('r_sym', 0x00000004) -// CHECK-NEXT: ('r_type', 0x0000000f) +// CHECK-NEXT: ('r_type', 0x0f) // CHECK-NEXT: ), // Relocation 16 (zed@NTPOFF) is of type R_386_TLS_LE and uses the symbol // CHECK-NEXT: # Relocation 16 // CHECK-NEXT: (('r_offset', 0x00000060) // CHECK-NEXT: ('r_sym', 0x00000004) -// CHECK-NEXT: ('r_type', 0x00000011) +// CHECK-NEXT: ('r_type', 0x11) // CHECK-NEXT: ), // Relocation 17 (zed@GOTNTPOFF) is of type R_386_TLS_GOTIE and uses the symbol // CHECK-NEXT: # Relocation 17 // CHECK-NEXT: (('r_offset', 0x00000066) // CHECK-NEXT: ('r_sym', 0x00000004) -// CHECK-NEXT: ('r_type', 0x00000010) +// CHECK-NEXT: ('r_type', 0x10) // CHECK-NEXT: ), // Relocation 18 (zed@PLT) is of type R_386_PLT32 and uses the symbol // CHECK-NEXT: # Relocation 18 // CHECK-NEXT: (('r_offset', 0x0000006b) // CHECK-NEXT: ('r_sym', 0x00000004) -// CHECK-NEXT: ('r_type', 0x00000004) +// CHECK-NEXT: ('r_type', 0x04) // CHECK-NEXT: ), // Relocation 19 (zed@TLSGD) is of type R_386_TLS_GD and uses the symbol // CHECK-NEXT: # Relocation 19 // CHECK-NEXT: (('r_offset', 0x00000071) // CHECK-NEXT: ('r_sym', 0x00000004) -// CHECK-NEXT: ('r_type', 0x00000012) +// CHECK-NEXT: ('r_type', 0x12) // CHECK-NEXT: ), // Relocation 20 (zed@TLSLDM) is of type R_386_TLS_LDM and uses the symbol // CHECK-NEXT: # Relocation 20 // CHECK-NEXT: (('r_offset', 0x00000077) // CHECK-NEXT: ('r_sym', 0x00000004) -// CHECK-NEXT: ('r_type', 0x00000013) +// CHECK-NEXT: ('r_type', 0x13) // CHECK-NEXT: ), // Relocation 21 (zed@TPOFF) is of type R_386_TLS_LE_32 and uses the symbol // CHECK-NEXT:# Relocation 21 // CHECK-NEXT: (('r_offset', 0x0000007d) // CHECK-NEXT: ('r_sym', 0x00000004) -// CHECK-NEXT: ('r_type', 0x00000022) +// CHECK-NEXT: ('r_type', 0x22) // CHECK-NEXT: ), // Relocation 22 (zed@DTPOFF) is of type R_386_TLS_LDO_32 and uses the symbol // CHECK-NEXT: Relocation 22 // CHECK-NEXT: (('r_offset', 0x00000083) // CHECK-NEXT: ('r_sym', 0x00000004) -// CHECK-NEXT: ('r_type', 0x00000020) +// CHECK-NEXT: ('r_type', 0x20) // CHECK-NEXT: ), // Relocation 23 ($bar) is of type R_386_32 and uses the section // CHECK-NEXT: Relocation 23 // CHECK-NEXT: (('r_offset', // CHECK-NEXT: ('r_sym', -// CHECK-NEXT: ('r_type', 0x00000001) +// CHECK-NEXT: ('r_type', 0x01) // CHECK-NEXT: ), // Relocation 24 (foo@GOTTPOFF(%edx)) is of type R_386_TLS_IE_32 and uses the // symbol // CHECK-NEXT: Relocation 24 // CHECK-NEXT: (('r_offset', 0x0000008e) // CHECK-NEXT: ('r_sym', 0x0000000d) -// CHECK-NEXT: ('r_type', 0x00000021) +// CHECK-NEXT: ('r_type', 0x21) // CHECK-NEXT: ), // Section 4 is bss diff --git a/test/Scripts/elf-dump b/test/Scripts/elf-dump index f116e3a0aa..36e06fbe42 100755 --- a/test/Scripts/elf-dump +++ b/test/Scripts/elf-dump @@ -122,11 +122,13 @@ def dumpRel(f, section, dumprela = False): print " (('r_offset', %s)" % common_dump.HexDump(f.readWord()) r_info = f.readWord() if f.is64Bit: - print " ('r_sym', %s)" % common_dump.HexDump((r_info >> 32)) - print " ('r_type', %s)" % common_dump.HexDump((r_info & 0xffffffff)) + r_sym = (r_info >> 32, 32) + r_type = (r_info & 0xffffffff, 32) else: - print " ('r_sym', %s)" % common_dump.HexDump((r_info >> 8)) - print " ('r_type', %s)" % common_dump.HexDump((r_info & 0xff)) + r_sym = (r_info >> 8, 24) + r_type = (r_info & 0xff, 8) + print " ('r_sym', %s)" % common_dump.HexDump(r_sym[0], 32) + print " ('r_type', %s)" % common_dump.HexDump(r_type[0], r_type[1]) if dumprela: val = f.readWord() if f.is64Bit: |