aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorJason W Kim <jason.w.kim.2009@gmail.com>2010-10-19 17:39:10 +0000
committerJason W Kim <jason.w.kim.2009@gmail.com>2010-10-19 17:39:10 +0000
commitf7d5278fb32b84b6218a222346202ab3af17057c (patch)
tree3644abbf2801a786ca63af47be0bd5bcbb5aa609 /test
parent081c34b725980f995be9080eaec24cd3dfaaf065 (diff)
downloadexternal_llvm-f7d5278fb32b84b6218a222346202ab3af17057c.zip
external_llvm-f7d5278fb32b84b6218a222346202ab3af17057c.tar.gz
external_llvm-f7d5278fb32b84b6218a222346202ab3af17057c.tar.bz2
Fixing r116753 r116756 r116777
The failures in r116753 r116756 were caused by a python issue - Python likes to append 'L' suffix to stringified numbers if the number is larger than a machine int. Unfortunately, this causes a divergence of behavior between 32 and 64 bit python versions. I re-crafted elf-dump/common_dump to take care of these issues by: 1. always printing 0x (makes for easy sed/regex) 2. always print fixed length (exactly 2 + numBits/4 digits long) by mod ((2^numBits) - 1) 3. left-padded with '0' There is a residual common routine that is also used by macho-dump (dataToHex) , so I left the 'section_data' test values alone. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116823 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r--test/MC/ELF/alias.s124
-rw-r--r--test/MC/ELF/align-bss.s20
-rw-r--r--test/MC/ELF/align-nops.s36
-rw-r--r--test/MC/ELF/align-size.s12
-rw-r--r--test/MC/ELF/align-text.s20
-rw-r--r--test/MC/ELF/align.s44
-rw-r--r--test/MC/ELF/basic-elf.ll112
-rw-r--r--test/MC/ELF/common.s52
-rw-r--r--test/MC/ELF/common2.s4
-rw-r--r--test/MC/ELF/diff.s10
-rw-r--r--test/MC/ELF/empty.s116
-rw-r--r--test/MC/ELF/entsize.ll24
-rw-r--r--test/MC/ELF/entsize.s42
-rw-r--r--test/MC/ELF/file.s32
-rw-r--r--test/MC/ELF/got.s12
-rw-r--r--test/MC/ELF/local-reloc.s24
-rw-r--r--test/MC/ELF/merge.s66
-rw-r--r--test/MC/ELF/norelocation.s20
-rw-r--r--test/MC/ELF/pic-diff.s26
-rw-r--r--test/MC/ELF/plt.s4
-rw-r--r--test/MC/ELF/relax.s34
-rw-r--r--test/MC/ELF/relocation-386.s48
-rw-r--r--test/MC/ELF/relocation.s68
-rw-r--r--test/MC/ELF/section.s6
-rw-r--r--test/MC/ELF/size.s6
-rw-r--r--test/MC/ELF/sleb.s4
-rw-r--r--test/MC/ELF/uleb.s4
-rw-r--r--test/MC/ELF/undef.s44
-rw-r--r--test/MC/ELF/undef2.s6
-rw-r--r--test/MC/ELF/weak.s32
-rw-r--r--test/MC/ELF/zero.s20
-rw-r--r--test/Scripts/common_dump.py33
-rwxr-xr-xtest/Scripts/elf-dump98
33 files changed, 619 insertions, 584 deletions
diff --git a/test/MC/ELF/alias.s b/test/MC/ELF/alias.s
index 4842d27..84b5588 100644
--- a/test/MC/ELF/alias.s
+++ b/test/MC/ELF/alias.s
@@ -15,70 +15,70 @@ bar3 = foo3
foo4:
bar4 = foo4
-// CHECK: # Symbol 1
-// CHECK-NEXT: (('st_name', 5) # 'bar'
-// CHECK-NEXT: ('st_bind', 0)
-// CHECK-NEXT: ('st_type', 0)
-// CHECK-NEXT: ('st_other', 0)
-// CHECK-NEXT: ('st_shndx', 1)
-// CHECK-NEXT: ('st_value', 0)
-// CHECK-NEXT: ('st_size', 0)
+// CHECK: # Symbol 0x00000001
+// CHECK-NEXT: (('st_name', 0x00000005) # 'bar'
+// CHECK-NEXT: ('st_bind', 0x00000000)
+// CHECK-NEXT: ('st_type', 0x00000000)
+// CHECK-NEXT: ('st_other', 0x00000000)
+// CHECK-NEXT: ('st_shndx', 0x00000001)
+// CHECK-NEXT: ('st_value', 0x00000000)
+// CHECK-NEXT: ('st_size', 0x00000000)
// CHECK-NEXT: ),
-// CHECK-NEXT: # Symbol 2
-// CHECK-NEXT: (('st_name', 29) # 'bar4'
-// CHECK-NEXT: ('st_bind', 0)
-// CHECK-NEXT: ('st_type', 2)
-// CHECK-NEXT: ('st_other', 0)
-// CHECK-NEXT: ('st_shndx', 1)
-// CHECK-NEXT: ('st_value', 0)
-// CHECK-NEXT: ('st_size', 0)
+// CHECK-NEXT: # Symbol 0x00000002
+// CHECK-NEXT: (('st_name', 0x0000001d) # 'bar4'
+// CHECK-NEXT: ('st_bind', 0x00000000)
+// CHECK-NEXT: ('st_type', 0x00000002)
+// CHECK-NEXT: ('st_other', 0x00000000)
+// CHECK-NEXT: ('st_shndx', 0x00000001)
+// CHECK-NEXT: ('st_value', 0x00000000)
+// CHECK-NEXT: ('st_size', 0x00000000)
// CHECK-NEXT: ),
-// CHECK-NEXT: # Symbol 3
-// CHECK-NEXT: (('st_name', 1) # 'foo'
-// CHECK-NEXT: ('st_bind', 0)
-// CHECK-NEXT: ('st_type', 0)
-// CHECK-NEXT: ('st_other', 0)
-// CHECK-NEXT: ('st_shndx', 1)
-// CHECK-NEXT: ('st_value', 0)
-// CHECK-NEXT: ('st_size', 0)
+// CHECK-NEXT: # Symbol 0x00000003
+// CHECK-NEXT: (('st_name', 0x00000001) # 'foo'
+// CHECK-NEXT: ('st_bind', 0x00000000)
+// CHECK-NEXT: ('st_type', 0x00000000)
+// CHECK-NEXT: ('st_other', 0x00000000)
+// CHECK-NEXT: ('st_shndx', 0x00000001)
+// CHECK-NEXT: ('st_value', 0x00000000)
+// CHECK-NEXT: ('st_size', 0x00000000)
// CHECK-NEXT: ),
-// CHECK-NEXT: # Symbol 4
-// CHECK-NEXT: (('st_name', 14) # 'foo3'
-// CHECK-NEXT: ('st_bind', 0)
-// CHECK-NEXT: ('st_type', 0)
-// CHECK-NEXT: ('st_other', 0)
-// CHECK-NEXT: ('st_shndx', 1)
-// CHECK-NEXT: ('st_value', 0)
-// CHECK-NEXT: ('st_size', 0)
+// CHECK-NEXT: # Symbol 0x00000004
+// CHECK-NEXT: (('st_name', 0x0000000e) # 'foo3'
+// CHECK-NEXT: ('st_bind', 0x00000000)
+// CHECK-NEXT: ('st_type', 0x00000000)
+// CHECK-NEXT: ('st_other', 0x00000000)
+// CHECK-NEXT: ('st_shndx', 0x00000001)
+// CHECK-NEXT: ('st_value', 0x00000000)
+// CHECK-NEXT: ('st_size', 0x00000000)
// CHECK-NEXT: ),
-// CHECK-NEXT: # Symbol 5
-// CHECK-NEXT: (('st_name', 24) # 'foo4'
-// CHECK-NEXT: ('st_bind', 0)
-// CHECK-NEXT: ('st_type', 2)
-// CHECK-NEXT: ('st_other', 0)
-// CHECK-NEXT: ('st_shndx', 1)
-// CHECK-NEXT: ('st_value', 0)
-// CHECK-NEXT: ('st_size', 0)
+// CHECK-NEXT: # Symbol 0x00000005
+// CHECK-NEXT: (('st_name', 0x00000018) # 'foo4'
+// CHECK-NEXT: ('st_bind', 0x00000000)
+// CHECK-NEXT: ('st_type', 0x00000002)
+// CHECK-NEXT: ('st_other', 0x00000000)
+// CHECK-NEXT: ('st_shndx', 0x00000001)
+// CHECK-NEXT: ('st_value', 0x00000000)
+// CHECK-NEXT: ('st_size', 0x00000000)
// CHECK-NEXT: ),
-// CHECK-NEXT: # Symbol 6
-// CHECK-NEXT: (('st_name', 0) # ''
-// CHECK: # Symbol 7
-// CHECK-NEXT: (('st_name', 0) # ''
-// CHECK: # Symbol 8
-// CHECK-NEXT: (('st_name', 0) # ''
-// CHECK: # Symbol 9
-// CHECK-NEXT: (('st_name', 19) # 'bar3'
-// CHECK-NEXT: ('st_bind', 1)
-// CHECK-NEXT: ('st_type', 0)
-// CHECK-NEXT: ('st_other', 0)
-// CHECK-NEXT: ('st_shndx', 1)
-// CHECK-NEXT: ('st_value', 0)
-// CHECK-NEXT: ('st_size', 0)
-// CHECK: # Symbol 10
-// CHECK-NEXT: (('st_name', 9) # 'bar2'
-// CHECK-NEXT: ('st_bind', 1)
-// CHECK-NEXT: ('st_type', 0)
-// CHECK-NEXT: ('st_other', 0)
-// CHECK-NEXT: ('st_shndx', 0)
-// CHECK-NEXT: ('st_value', 0)
-// CHECK-NEXT: ('st_size', 0)
+// CHECK-NEXT: # Symbol 0x00000006
+// CHECK-NEXT: (('st_name', 0x00000000) # ''
+// CHECK: # Symbol 0x00000007
+// CHECK-NEXT: (('st_name', 0x00000000) # ''
+// CHECK: # Symbol 0x00000008
+// CHECK-NEXT: (('st_name', 0x00000000) # ''
+// CHECK: # Symbol 0x00000009
+// CHECK-NEXT: (('st_name', 0x00000013) # 'bar3'
+// CHECK-NEXT: ('st_bind', 0x00000001)
+// CHECK-NEXT: ('st_type', 0x00000000)
+// CHECK-NEXT: ('st_other', 0x00000000)
+// CHECK-NEXT: ('st_shndx', 0x00000001)
+// CHECK-NEXT: ('st_value', 0x00000000)
+// CHECK-NEXT: ('st_size', 0x00000000)
+// CHECK: # Symbol 0x0000000a
+// CHECK-NEXT: (('st_name', 0x00000009) # 'bar2'
+// CHECK-NEXT: ('st_bind', 0x00000001)
+// CHECK-NEXT: ('st_type', 0x00000000)
+// CHECK-NEXT: ('st_other', 0x00000000)
+// CHECK-NEXT: ('st_shndx', 0x00000000)
+// CHECK-NEXT: ('st_value', 0x00000000)
+// CHECK-NEXT: ('st_size', 0x00000000)
diff --git a/test/MC/ELF/align-bss.s b/test/MC/ELF/align-bss.s
index b6a3ba8..4f73a29 100644
--- a/test/MC/ELF/align-bss.s
+++ b/test/MC/ELF/align-bss.s
@@ -5,13 +5,13 @@
.local foo
.comm foo,2048,16
-// CHECK: ('sh_name', 13) # '.bss'
-// CHECK-NEXT: ('sh_type', 8)
-// CHECK-NEXT: ('sh_flags', 3)
-// CHECK-NEXT: ('sh_addr', 0)
-// CHECK-NEXT: ('sh_offset', 64)
-// CHECK-NEXT: ('sh_size', 2048)
-// CHECK-NEXT: ('sh_link', 0)
-// CHECK-NEXT: ('sh_info', 0)
-// CHECK-NEXT: ('sh_addralign', 16)
-// CHECK-NEXT: ('sh_entsize', 0)
+// CHECK: ('sh_name', 0x0000000d) # '.bss'
+// CHECK-NEXT: ('sh_type', 0x00000008)
+// CHECK-NEXT: ('sh_flags', 0x00000003)
+// CHECK-NEXT: ('sh_addr', 0x00000000)
+// CHECK-NEXT: ('sh_offset', 0x00000040)
+// CHECK-NEXT: ('sh_size', 0x00000800)
+// CHECK-NEXT: ('sh_link', 0x00000000)
+// CHECK-NEXT: ('sh_info', 0x00000000)
+// CHECK-NEXT: ('sh_addralign', 0x00000010)
+// CHECK-NEXT: ('sh_entsize', 0x00000000)
diff --git a/test/MC/ELF/align-nops.s b/test/MC/ELF/align-nops.s
index b6793ec..28d4b89 100644
--- a/test/MC/ELF/align-nops.s
+++ b/test/MC/ELF/align-nops.s
@@ -4,37 +4,37 @@
.text
f0:
.long 0
- .align 8, 0x90
+ .align 8, 0x00000090
.long 0
.align 8
// But not in another section
.data
.long 0
- .align 8, 0x90
+ .align 8, 0x00000090
.long 0
.align 8
-// CHECK: (('sh_name', 1) # '.text'
-// CHECK-NEXT: ('sh_type', 1)
-// CHECK-NEXT: ('sh_flags', 6)
+// CHECK: (('sh_name', 0x00000001) # '.text'
+// CHECK-NEXT: ('sh_type', 0x00000001)
+// CHECK-NEXT: ('sh_flags', 0x00000006)
// CHECK-NEXT: ('sh_addr',
// CHECK-NEXT: ('sh_offset',
-// CHECK-NEXT: ('sh_size', 16)
-// CHECK-NEXT: ('sh_link', 0)
-// CHECK-NEXT: ('sh_info', 0)
-// CHECK-NEXT: ('sh_addralign', 8)
-// CHECK-NEXT: ('sh_entsize', 0)
+// CHECK-NEXT: ('sh_size', 0x00000010)
+// CHECK-NEXT: ('sh_link', 0x00000000)
+// CHECK-NEXT: ('sh_info', 0x00000000)
+// CHECK-NEXT: ('sh_addralign', 0x00000008)
+// CHECK-NEXT: ('sh_entsize', 0x00000000)
// CHECK-NEXT: ('_section_data', '00000000 0f1f4000 00000000 0f1f4000')
-// CHECK: (('sh_name', 7) # '.data'
-// CHECK-NEXT: ('sh_type', 1)
-// CHECK-NEXT: ('sh_flags', 3)
+// CHECK: (('sh_name', 0x00000007) # '.data'
+// CHECK-NEXT: ('sh_type', 0x00000001)
+// CHECK-NEXT: ('sh_flags', 0x00000003)
// CHECK-NEXT: ('sh_addr',
// CHECK-NEXT: ('sh_offset',
-// CHECK-NEXT: ('sh_size', 16)
-// CHECK-NEXT: ('sh_link', 0)
-// CHECK-NEXT: ('sh_info', 0)
-// CHECK-NEXT: ('sh_addralign', 8)
-// CHECK-NEXT: ('sh_entsize', 0)
+// CHECK-NEXT: ('sh_size', 0x00000010)
+// CHECK-NEXT: ('sh_link', 0x00000000)
+// CHECK-NEXT: ('sh_info', 0x00000000)
+// CHECK-NEXT: ('sh_addralign', 0x00000008)
+// CHECK-NEXT: ('sh_entsize', 0x00000000)
// CHECK-NEXT: ('_section_data', '00000000 90909090 00000000 00000000')
diff --git a/test/MC/ELF/align-size.s b/test/MC/ELF/align-size.s
index 4d705cf..85331d7 100644
--- a/test/MC/ELF/align-size.s
+++ b/test/MC/ELF/align-size.s
@@ -5,9 +5,9 @@
.zero 4
.align 8
-// CHECK: (('sh_name', 1) # '.text'
-// CHECK-NEXT: ('sh_type', 1)
-// CHECK-NEXT: ('sh_flags', 6)
-// CHECK-NEXT: ('sh_addr', 0)
-// CHECK-NEXT: ('sh_offset', 64)
-// CHECK-NEXT: ('sh_size', 8)
+// CHECK: (('sh_name', 0x00000001) # '.text'
+// CHECK-NEXT: ('sh_type', 0x00000001)
+// CHECK-NEXT: ('sh_flags', 0x00000006)
+// CHECK-NEXT: ('sh_addr', 0x00000000)
+// CHECK-NEXT: ('sh_offset', 0x00000040)
+// CHECK-NEXT: ('sh_size', 0x00000008)
diff --git a/test/MC/ELF/align-text.s b/test/MC/ELF/align-text.s
index 4f4497c..1d2dacb 100644
--- a/test/MC/ELF/align-text.s
+++ b/test/MC/ELF/align-text.s
@@ -6,14 +6,14 @@
.text
.zero 1
-// CHECK: (('sh_name', 1) # '.text'
-// CHECK-NEXT: ('sh_type', 1)
-// CHECK-NEXT: ('sh_flags', 6)
-// CHECK-NEXT: ('sh_addr', 0)
-// CHECK-NEXT: ('sh_offset', 64)
-// CHECK-NEXT: ('sh_size', 2)
-// CHECK-NEXT: ('sh_link', 0)
-// CHECK-NEXT: ('sh_info', 0)
-// CHECK-NEXT: ('sh_addralign', 4)
-// CHECK-NEXT: ('sh_entsize', 0)
+// CHECK: (('sh_name', 0x00000001) # '.text'
+// CHECK-NEXT: ('sh_type', 0x00000001)
+// CHECK-NEXT: ('sh_flags', 0x00000006)
+// CHECK-NEXT: ('sh_addr', 0x00000000)
+// CHECK-NEXT: ('sh_offset', 0x00000040)
+// CHECK-NEXT: ('sh_size', 0x00000002)
+// CHECK-NEXT: ('sh_link', 0x00000000)
+// CHECK-NEXT: ('sh_info', 0x00000000)
+// CHECK-NEXT: ('sh_addralign', 0x00000004)
+// CHECK-NEXT: ('sh_entsize', 0x00000000)
// CHECK-NEXT: ),
diff --git a/test/MC/ELF/align.s b/test/MC/ELF/align.s
index d375c4a..c3912a7 100644
--- a/test/MC/ELF/align.s
+++ b/test/MC/ELF/align.s
@@ -7,26 +7,26 @@
.section .rodata,"a",@progbits
.align 8
-// CHECK: # Section 3
-// CHECK-NEXT: (('sh_name', 13) # '.bss'
-// CHECK-NEXT: ('sh_type', 8)
-// CHECK-NEXT: ('sh_flags', 3)
-// CHECK-NEXT: ('sh_addr', 0)
-// CHECK-NEXT: ('sh_offset', 68)
-// CHECK-NEXT: ('sh_size', 0)
-// CHECK-NEXT: ('sh_link', 0)
-// CHECK-NEXT: ('sh_info', 0)
-// CHECK-NEXT: ('sh_addralign', 4)
-// CHECK-NEXT: ('sh_entsize', 0)
+// CHECK: # Section 0x00000003
+// CHECK-NEXT: (('sh_name', 0x0000000d) # '.bss'
+// CHECK-NEXT: ('sh_type', 0x00000008)
+// CHECK-NEXT: ('sh_flags', 0x00000003)
+// CHECK-NEXT: ('sh_addr', 0x00000000)
+// CHECK-NEXT: ('sh_offset', 0x00000044)
+// CHECK-NEXT: ('sh_size', 0x00000000)
+// CHECK-NEXT: ('sh_link', 0x00000000)
+// CHECK-NEXT: ('sh_info', 0x00000000)
+// CHECK-NEXT: ('sh_addralign', 0x00000004)
+// CHECK-NEXT: ('sh_entsize', 0x00000000)
// CHECK-NEXT: ),
-// CHECK-NEXT: # Section 4
-// CHECK-NEXT: (('sh_name', 18) # '.rodata'
-// CHECK-NEXT: ('sh_type', 1)
-// CHECK-NEXT: ('sh_flags', 2)
-// CHECK-NEXT: ('sh_addr', 0)
-// CHECK-NEXT: ('sh_offset', 72)
-// CHECK-NEXT: ('sh_size', 0)
-// CHECK-NEXT: ('sh_link', 0)
-// CHECK-NEXT: ('sh_info', 0)
-// CHECK-NEXT: ('sh_addralign', 8)
-// CHECK-NEXT: ('sh_entsize', 0)
+// CHECK-NEXT: # Section 0x00000004
+// CHECK-NEXT: (('sh_name', 0x00000012) # '.rodata'
+// CHECK-NEXT: ('sh_type', 0x00000001)
+// CHECK-NEXT: ('sh_flags', 0x00000002)
+// CHECK-NEXT: ('sh_addr', 0x00000000)
+// CHECK-NEXT: ('sh_offset', 0x00000048)
+// CHECK-NEXT: ('sh_size', 0x00000000)
+// CHECK-NEXT: ('sh_link', 0x00000000)
+// CHECK-NEXT: ('sh_info', 0x00000000)
+// CHECK-NEXT: ('sh_addralign', 0x00000008)
+// CHECK-NEXT: ('sh_entsize', 0x00000000)
diff --git a/test/MC/ELF/basic-elf.ll b/test/MC/ELF/basic-elf.ll
index f130ced..f478b32 100644
--- a/test/MC/ELF/basic-elf.ll
+++ b/test/MC/ELF/basic-elf.ll
@@ -12,100 +12,100 @@ define i32 @main() nounwind {
declare i32 @puts(i8* nocapture) nounwind
-; 32: ('e_indent[EI_CLASS]', 1)
-; 32: ('e_indent[EI_DATA]', 1)
-; 32: ('e_indent[EI_VERSION]', 1)
+; 32: ('e_indent[EI_CLASS]', 0x00000001)
+; 32: ('e_indent[EI_DATA]', 0x00000001)
+; 32: ('e_indent[EI_VERSION]', 0x00000001)
; 32: ('_sections', [
; 32: # Section 0
-; 32: (('sh_name', 0) # ''
+; 32: (('sh_name', 0x00000000) # ''
; 32: # '.text'
-; 32: ('st_bind', 0)
-; 32: ('st_type', 3)
+; 32: ('st_bind', 0x00000000)
+; 32: ('st_type', 0x00000003)
-; 32: ('st_bind', 0)
-; 32: ('st_type', 3)
+; 32: ('st_bind', 0x00000000)
+; 32: ('st_type', 0x00000003)
-; 32: ('st_bind', 0)
-; 32: ('st_type', 3)
+; 32: ('st_bind', 0x00000000)
+; 32: ('st_type', 0x00000003)
; 32: # 'main'
-; 32: ('st_bind', 1)
-; 32-NEXT: ('st_type', 2)
+; 32: ('st_bind', 0x00000001)
+; 32-NEXT: ('st_type', 0x00000002)
; 32: # 'puts'
-; 32: ('st_bind', 1)
-; 32-NEXT: ('st_type', 0)
+; 32: ('st_bind', 0x00000001)
+; 32-NEXT: ('st_type', 0x00000000)
; 32: # '.rel.text'
; 32: ('_relocations', [
-; 32: # Relocation 0
-; 32: (('r_offset', 6)
-; 32: ('r_type', 1)
+; 32: # Relocation 0x00000000
+; 32: (('r_offset', 0x00000006)
+; 32: ('r_type', 0x00000001)
; 32: ),
-; 32: # Relocation 1
-; 32: (('r_offset', 11)
-; 32: ('r_type', 2)
+; 32: # Relocation 0x00000001
+; 32: (('r_offset', 0x0000000b)
+; 32: ('r_type', 0x00000002)
; 32: ),
-; 32: # Relocation 2
-; 32: (('r_offset', 18)
-; 32: ('r_type', 1)
+; 32: # Relocation 0x00000002
+; 32: (('r_offset', 0x00000012)
+; 32: ('r_type', 0x00000001)
; 32: ),
-; 32: # Relocation 3
-; 32: (('r_offset', 23)
-; 32: ('r_type', 2)
+; 32: # Relocation 0x00000003
+; 32: (('r_offset', 0x00000017)
+; 32: ('r_type', 0x00000002)
; 32: ),
; 32: ])
-; 64: ('e_indent[EI_CLASS]', 2)
-; 64: ('e_indent[EI_DATA]', 1)
-; 64: ('e_indent[EI_VERSION]', 1)
+; 64: ('e_indent[EI_CLASS]', 0x00000002)
+; 64: ('e_indent[EI_DATA]', 0x00000001)
+; 64: ('e_indent[EI_VERSION]', 0x00000001)
; 64: ('_sections', [
; 64: # Section 0
-; 64: (('sh_name', 0) # ''
+; 64: (('sh_name', 0x00000000) # ''
; 64: # '.text'
-; 64: ('st_bind', 0)
-; 64: ('st_type', 3)
+; 64: ('st_bind', 0x00000000)
+; 64: ('st_type', 0x00000003)
-; 64: ('st_bind', 0)
-; 64: ('st_type', 3)
+; 64: ('st_bind', 0x00000000)
+; 64: ('st_type', 0x00000003)
-; 64: ('st_bind', 0)
-; 64: ('st_type', 3)
+; 64: ('st_bind', 0x00000000)
+; 64: ('st_type', 0x00000003)
; 64: # 'main'
-; 64-NEXT: ('st_bind', 1)
-; 64-NEXT: ('st_type', 2)
+; 64-NEXT: ('st_bind', 0x00000001)
+; 64-NEXT: ('st_type', 0x00000002)
; 64: # 'puts'
-; 64-NEXT: ('st_bind', 1)
-; 64-NEXT: ('st_type', 0)
+; 64-NEXT: ('st_bind', 0x00000001)
+; 64-NEXT: ('st_type', 0x00000000)
; 64: # '.rela.text'
; 64: ('_relocations', [
-; 64: # Relocation 0
-; 64: (('r_offset', 5)
-; 64: ('r_type', 10)
-; 64: ('r_addend', 0)
+; 64: # Relocation 0x00000000
+; 64: (('r_offset', 0x00000005)
+; 64: ('r_type', 0x0000000a)
+; 64: ('r_addend', 0x00000000)
; 64: ),
-; 64: # Relocation 1
-; 64: (('r_offset', 10)
-; 64: ('r_type', 2)
-; 64: ('r_addend', -4)
+; 64: # Relocation 0x00000001
+; 64: (('r_offset', 0x0000000a)
+; 64: ('r_type', 0x00000002)
+; 64: ('r_addend', 0xfffffffc)
; 64: ),
-; 64: # Relocation 2
-; 64: (('r_offset', 15)
-; 64: ('r_type', 10)
-; 64: ('r_addend', 6)
+; 64: # Relocation 0x00000002
+; 64: (('r_offset', 0x0000000f)
+; 64: ('r_type', 0x0000000a)
+; 64: ('r_addend', 0x00000006)
; 64: ),
-; 64: # Relocation 3
-; 64: (('r_offset', 20)
-; 64: ('r_type', 2)
-; 64: ('r_addend', -4)
+; 64: # Relocation 0x00000003
+; 64: (('r_offset', 0x00000014)
+; 64: ('r_type', 0x00000002)
+; 64: ('r_addend', 0xfffffffc)
; 64: ),
; 64: ])
diff --git a/test/MC/ELF/common.s b/test/MC/ELF/common.s
index 18b3af5..9aa0c06 100644
--- a/test/MC/ELF/common.s
+++ b/test/MC/ELF/common.s
@@ -8,13 +8,13 @@
.local common1
.comm common1,1,1
-// CHECK: ('st_name', 1) # 'common1'
-// CHECK-NEXT: ('st_bind', 0)
-// CHECK-NEXT: ('st_type', 1)
-// CHECK-NEXT: ('st_other', 0)
+// CHECK: ('st_name', 0x00000001) # 'common1'
+// CHECK-NEXT: ('st_bind', 0x00000000)
+// CHECK-NEXT: ('st_type', 0x00000001)
+// CHECK-NEXT: ('st_other', 0x00000000)
// CHECK-NEXT: ('st_shndx',
-// CHECK-NEXT: ('st_value', 0)
-// CHECK-NEXT: ('st_size', 1)
+// CHECK-NEXT: ('st_value', 0x00000000)
+// CHECK-NEXT: ('st_size', 0x00000001)
// Same as common1, but with directives in a different order.
@@ -22,25 +22,25 @@
.type common2,@object
.comm common2,1,1
-// CHECK: ('st_name', 9) # 'common2'
-// CHECK-NEXT: ('st_bind', 0)
-// CHECK-NEXT: ('st_type', 1)
-// CHECK-NEXT: ('st_other', 0)
+// CHECK: ('st_name', 0x00000009) # 'common2'
+// CHECK-NEXT: ('st_bind', 0x00000000)
+// CHECK-NEXT: ('st_type', 0x00000001)
+// CHECK-NEXT: ('st_other', 0x00000000)
// CHECK-NEXT: ('st_shndx',
-// CHECK-NEXT: ('st_value', 1)
-// CHECK-NEXT: ('st_size', 1)
+// CHECK-NEXT: ('st_value', 0x00000001)
+// CHECK-NEXT: ('st_size', 0x00000001)
// Test that without an explicit .local we produce a global.
.type common3,@object
.comm common3,4,4
-// CHECK: ('st_name', 17) # 'common3'
-// CHECK-NEXT: ('st_bind', 1)
-// CHECK-NEXT: ('st_type', 1)
-// CHECK-NEXT: ('st_other', 0)
-// CHECK-NEXT: ('st_shndx', 65522)
-// CHECK-NEXT: ('st_value', 4)
-// CHECK-NEXT: ('st_size', 4)
+// CHECK: ('st_name', 0x00000011) # 'common3'
+// CHECK-NEXT: ('st_bind', 0x00000001)
+// CHECK-NEXT: ('st_type', 0x00000001)
+// CHECK-NEXT: ('st_other', 0x00000000)
+// CHECK-NEXT: ('st_shndx', 0x0000fff2)
+// CHECK-NEXT: ('st_value', 0x00000004)
+// CHECK-NEXT: ('st_size', 0x00000004)
// Test that without an explicit .local we produce a global, even if the first
@@ -54,10 +54,10 @@ foo:
.type common4,@object
.comm common4,40,16
-// CHECK: ('st_name', 29) # 'common4'
-// CHECK-NEXT: ('st_bind', 1)
-// CHECK-NEXT: ('st_type', 1)
-// CHECK-NEXT: ('st_other', 0)
-// CHECK-NEXT: ('st_shndx', 65522)
-// CHECK-NEXT: ('st_value', 16)
-// CHECK-NEXT: ('st_size', 40)
+// CHECK: ('st_name', 0x0000001d) # 'common4'
+// CHECK-NEXT: ('st_bind', 0x00000001)
+// CHECK-NEXT: ('st_type', 0x00000001)
+// CHECK-NEXT: ('st_other', 0x00000000)
+// CHECK-NEXT: ('st_shndx', 0x0000fff2)
+// CHECK-NEXT: ('st_value', 0x00000010)
+// CHECK-NEXT: ('st_size', 0x00000028)
diff --git a/test/MC/ELF/common2.s b/test/MC/ELF/common2.s
index a95daa5..b54cdfe 100644
--- a/test/MC/ELF/common2.s
+++ b/test/MC/ELF/common2.s
@@ -9,12 +9,12 @@
.zero 1
.align 8
-// CHECK: (('sh_name', 13) # '.bss'
+// CHECK: (('sh_name', 0x0000000d) # '.bss'
// CHECK-NEXT: ('sh_type',
// CHECK-NEXT: ('sh_flags'
// CHECK-NEXT: ('sh_addr',
// CHECK-NEXT: ('sh_offset',
-// CHECK-NEXT: ('sh_size', 9)
+// CHECK-NEXT: ('sh_size', 0x00000009)
// CHECK-NEXT: ('sh_link',
// CHECK-NEXT: ('sh_info',
// CHECK-NEXT: ('sh_addralign',
diff --git a/test/MC/ELF/diff.s b/test/MC/ELF/diff.s
index 671652c..1879a39 100644
--- a/test/MC/ELF/diff.s
+++ b/test/MC/ELF/diff.s
@@ -8,8 +8,8 @@ bar:
zed:
mov zed+(bar-foo), %eax
-// CHECK: # Relocation 0
-// CHECK-NEXT: (('r_offset', 5)
-// CHECK-NEXT: ('r_sym', 6)
-// CHECK-NEXT: ('r_type', 11)
-// CHECK-NEXT: ('r_addend', 1)
+// CHECK: # Relocation 0x00000000
+// CHECK-NEXT: (('r_offset', 0x00000005)
+// CHECK-NEXT: ('r_sym', 0x00000006)
+// CHECK-NEXT: ('r_type', 0x0000000b)
+// CHECK-NEXT: ('r_addend', 0x00000001)
diff --git a/test/MC/ELF/empty.s b/test/MC/ELF/empty.s
index 62cbb27..e351936 100644
--- a/test/MC/ELF/empty.s
+++ b/test/MC/ELF/empty.s
@@ -3,68 +3,68 @@
// Test that like gnu as we create text, data and bss by default. Also test
// that shstrtab, symtab and strtab are listed in that order.
-// CHECK: ('sh_name', 1) # '.text'
-// CHECK-NEXT: ('sh_type', 1)
-// CHECK-NEXT: ('sh_flags', 6)
-// CHECK-NEXT: ('sh_addr', 0)
-// CHECK-NEXT: ('sh_offset', 64)
-// CHECK-NEXT: ('sh_size', 0)
-// CHECK-NEXT: ('sh_link', 0)
-// CHECK-NEXT: ('sh_info', 0)
-// CHECK-NEXT: ('sh_addralign', 4)
-// CHECK-NEXT: ('sh_entsize', 0)
+// CHECK: ('sh_name', 0x00000001) # '.text'
+// CHECK-NEXT: ('sh_type', 0x00000001)
+// CHECK-NEXT: ('sh_flags', 0x00000006)
+// CHECK-NEXT: ('sh_addr', 0x00000000)
+// CHECK-NEXT: ('sh_offset', 0x00000040)
+// CHECK-NEXT: ('sh_size', 0x00000000)
+// CHECK-NEXT: ('sh_link', 0x00000000)
+// CHECK-NEXT: ('sh_info', 0x00000000)
+// CHECK-NEXT: ('sh_addralign', 0x00000004)
+// CHECK-NEXT: ('sh_entsize', 0x00000000)
-// CHECK: ('sh_name', 7) # '.data'
-// CHECK-NEXT: ('sh_type', 1)
-// CHECK-NEXT: ('sh_flags', 3)
-// CHECK-NEXT: ('sh_addr', 0)
-// CHECK-NEXT: ('sh_offset', 64)
-// CHECK-NEXT: ('sh_size', 0)
-// CHECK-NEXT: ('sh_link', 0)
-// CHECK-NEXT: ('sh_info', 0)
-// CHECK-NEXT: ('sh_addralign', 4)
-// CHECK-NEXT: ('sh_entsize', 0)
+// CHECK: ('sh_name', 0x00000007) # '.data'
+// CHECK-NEXT: ('sh_type', 0x00000001)
+// CHECK-NEXT: ('sh_flags', 0x00000003)
+// CHECK-NEXT: ('sh_addr', 0x00000000)
+// CHECK-NEXT: ('sh_offset', 0x00000040)
+// CHECK-NEXT: ('sh_size', 0x00000000)
+// CHECK-NEXT: ('sh_link', 0x00000000)
+// CHECK-NEXT: ('sh_info', 0x00000000)
+// CHECK-NEXT: ('sh_addralign', 0x00000004)
+// CHECK-NEXT: ('sh_entsize', 0x00000000)
-// CHECK: ('sh_name', 13) # '.bss'
-// CHECK-NEXT: ('sh_type', 8)
-// CHECK-NEXT: ('sh_flags', 3)
-// CHECK-NEXT: ('sh_addr', 0)
-// CHECK-NEXT: ('sh_offset', 64)
-// CHECK-NEXT: ('sh_size', 0)
-// CHECK-NEXT: ('sh_link', 0)
-// CHECK-NEXT: ('sh_info', 0)
-// CHECK-NEXT: ('sh_addralign', 4)
-// CHECK-NEXT: ('sh_entsize', 0)
+// CHECK: ('sh_name', 0x0000000d) # '.bss'
+// CHECK-NEXT: ('sh_type', 0x00000008)
+// CHECK-NEXT: ('sh_flags', 0x00000003)
+// CHECK-NEXT: ('sh_addr', 0x00000000)
+// CHECK-NEXT: ('sh_offset', 0x00000040)
+// CHECK-NEXT: ('sh_size', 0x00000000)
+// CHECK-NEXT: ('sh_link', 0x00000000)
+// CHECK-NEXT: ('sh_info', 0x00000000)
+// CHECK-NEXT: ('sh_addralign', 0x00000004)
+// CHECK-NEXT: ('sh_entsize', 0x00000000)
-// CHECK: ('sh_name', 18) # '.shstrtab'
-// CHECK-NEXT: ('sh_type', 3)
-// CHECK-NEXT: ('sh_flags', 0)
-// CHECK-NEXT: ('sh_addr', 0)
-// CHECK-NEXT: ('sh_offset', 64)
-// CHECK-NEXT: ('sh_size', 44)
-// CHECK-NEXT: ('sh_link', 0)
-// CHECK-NEXT: ('sh_info', 0)
-// CHECK-NEXT: ('sh_addralign', 1)
-// CHECK-NEXT: ('sh_entsize', 0)
+// CHECK: ('sh_name', 0x00000012) # '.shstrtab'
+// CHECK-NEXT: ('sh_type', 0x00000003)
+// CHECK-NEXT: ('sh_flags', 0x00000000)
+// CHECK-NEXT: ('sh_addr', 0x00000000)
+// CHECK-NEXT: ('sh_offset', 0x00000040)
+// CHECK-NEXT: ('sh_size', 0x0000002c)
+// CHECK-NEXT: ('sh_link', 0x00000000)
+// CHECK-NEXT: ('sh_info', 0x00000000)
+// CHECK-NEXT: ('sh_addralign', 0x00000001)
+// CHECK-NEXT: ('sh_entsize', 0x00000000)
-// CHECK: ('sh_name', 28) # '.symtab'
-// CHECK-NEXT: ('sh_type', 2)
-// CHECK-NEXT: ('sh_flags', 0)
-// CHECK-NEXT: ('sh_addr', 0)
+// CHECK: ('sh_name', 0x0000001c) # '.symtab'
+// CHECK-NEXT: ('sh_type', 0x00000002)
+// CHECK-NEXT: ('sh_flags', 0x00000000)
+// CHECK-NEXT: ('sh_addr', 0x00000000)
// CHECK-NEXT: ('sh_offset',
-// CHECK-NEXT: ('sh_size', 96)
-// CHECK-NEXT: ('sh_link', 6)
-// CHECK-NEXT: ('sh_info', 4)
-// CHECK-NEXT: ('sh_addralign', 8)
-// CHECK-NEXT: ('sh_entsize', 24)
+// CHECK-NEXT: ('sh_size', 0x00000060)
+// CHECK-NEXT: ('sh_link', 0x00000006)
+// CHECK-NEXT: ('sh_info', 0x00000004)
+// CHECK-NEXT: ('sh_addralign', 0x00000008)
+// CHECK-NEXT: ('sh_entsize', 0x00000018)
-// CHECK: ('sh_name', 36) # '.strtab'
-// CHECK-NEXT: ('sh_type', 3)
-// CHECK-NEXT: ('sh_flags', 0)
-// CHECK-NEXT: ('sh_addr', 0)
+// CHECK: ('sh_name', 0x00000024) # '.strtab'
+// CHECK-NEXT: ('sh_type', 0x00000003)
+// CHECK-NEXT: ('sh_flags', 0x00000000)
+// CHECK-NEXT: ('sh_addr', 0x00000000)
// CHECK-NEXT: ('sh_offset',
-// CHECK-NEXT: ('sh_size', 1)
-// CHECK-NEXT: ('sh_link', 0)
-// CHECK-NEXT: ('sh_info', 0)
-// CHECK-NEXT: ('sh_addralign', 1)
-// CHECK-NEXT: ('sh_entsize', 0)
+// CHECK-NEXT: ('sh_size', 0x00000001)
+// CHECK-NEXT: ('sh_link', 0x00000000)
+// CHECK-NEXT: ('sh_info', 0x00000000)
+// CHECK-NEXT: ('sh_addralign', 0x00000001)
+// CHECK-NEXT: ('sh_entsize', 0x00000000)
diff --git a/test/MC/ELF/entsize.ll b/test/MC/ELF/entsize.ll
index bb289d3..62683af 100644
--- a/test/MC/ELF/entsize.ll
+++ b/test/MC/ELF/entsize.ll
@@ -20,25 +20,25 @@ declare void @foo(i64* nocapture) nounwind
;;;;;
-; 64: (('sh_name', 18) # '.rodata.str1.1'
-; 64-NEXT: ('sh_type', 1)
-; 64-NEXT: ('sh_flags', 50)
+; 64: (('sh_name', 0x00000012) # '.rodata.str1.1'
+; 64-NEXT: ('sh_type', 0x00000001)
+; 64-NEXT: ('sh_flags', 0x00000032)
; 64-NEXT: ('sh_addr',
; 64-NEXT: ('sh_offset',
-; 64-NEXT: ('sh_size', 13)
+; 64-NEXT: ('sh_size', 0x0000000d)
; 64-NEXT: ('sh_link',
; 64-NEXT: ('sh_info',
-; 64-NEXT: ('sh_addralign', 1)
-; 64-NEXT: ('sh_entsize', 1)
+; 64-NEXT: ('sh_addralign', 0x00000001)
+; 64-NEXT: ('sh_entsize', 0x00000001)
-; 64: (('sh_name', 33) # '.rodata.cst8'
-; 64-NEXT: ('sh_type', 1)
-; 64-NEXT: ('sh_flags', 18)
+; 64: (('sh_name', 0x00000021) # '.rodata.cst8'
+; 64-NEXT: ('sh_type', 0x00000001)
+; 64-NEXT: ('sh_flags', 0x00000012)
; 64-NEXT: ('sh_addr',
; 64-NEXT: ('sh_offset',
-; 64-NEXT: ('sh_size', 16)
+; 64-NEXT: ('sh_size', 0x00000010)
; 64-NEXT: ('sh_link',
; 64-NEXT: ('sh_info',
-; 64-NEXT: ('sh_addralign', 8)
-; 64-NEXT: ('sh_entsize', 8)
+; 64-NEXT: ('sh_addralign', 0x00000008)
+; 64-NEXT: ('sh_entsize', 0x00000008)
diff --git a/test/MC/ELF/entsize.s b/test/MC/ELF/entsize.s
index 0a30fde..e8eb62e 100644
--- a/test/MC/ELF/entsize.s
+++ b/test/MC/ELF/entsize.s
@@ -32,38 +32,38 @@
.quad 42
.quad 42
-// CHECK: # Section 4
-// CHECK-NEXT: ('sh_name', 18) # '.rodata.str1.1'
-// CHECK-NEXT: ('sh_type', 1)
-// CHECK-NEXT: ('sh_flags', 50)
+// CHECK: # Section 0x00000004
+// CHECK-NEXT: ('sh_name', 0x00000012) # '.rodata.str1.1'
+// CHECK-NEXT: ('sh_type', 0x00000001)
+// CHECK-NEXT: ('sh_flags', 0x00000032)
// CHECK-NEXT: ('sh_addr',
// CHECK-NEXT: ('sh_offset',
-// CHECK-NEXT: ('sh_size', 13)
+// CHECK-NEXT: ('sh_size', 0x0000000d)
// CHECK-NEXT: ('sh_link',
// CHECK-NEXT: ('sh_info',
-// CHECK-NEXT: ('sh_addralign', 1)
-// CHECK-NEXT: ('sh_entsize', 1)
+// CHECK-NEXT: ('sh_addralign', 0x00000001)
+// CHECK-NEXT: ('sh_entsize', 0x00000001)
-// CHECK: # Section 5
-// CHECK-NEXT: ('sh_name', 33) # '.rodata.str2.1'
-// CHECK-NEXT: ('sh_type', 1)
-// CHECK-NEXT: ('sh_flags', 50)
+// CHECK: # Section 0x00000005
+// CHECK-NEXT: ('sh_name', 0x00000021) # '.rodata.str2.1'
+// CHECK-NEXT: ('sh_type', 0x00000001)
+// CHECK-NEXT: ('sh_flags', 0x00000032)
// CHECK-NEXT: ('sh_addr',
// CHECK-NEXT: ('sh_offset',
-// CHECK-NEXT: ('sh_size', 16)
+// CHECK-NEXT: ('sh_size', 0x00000010)
// CHECK-NEXT: ('sh_link',
// CHECK-NEXT: ('sh_info',
-// CHECK-NEXT: ('sh_addralign', 1)
-// CHECK-NEXT: ('sh_entsize', 2)
+// CHECK-NEXT: ('sh_addralign', 0x00000001)
+// CHECK-NEXT: ('sh_entsize', 0x00000002)
-// CHECK: # Section 6
-// CHECK-NEXT: ('sh_name', 48) # '.rodata.cst8
-// CHECK-NEXT: ('sh_type', 1)
-// CHECK-NEXT: ('sh_flags', 18)
+// CHECK: # Section 0x00000006
+// CHECK-NEXT: ('sh_name', 0x00000030) # '.rodata.cst8
+// CHECK-NEXT: ('sh_type', 0x00000001)
+// CHECK-NEXT: ('sh_flags', 0x00000012)
// CHECK-NEXT: ('sh_addr',
// CHECK-NEXT: ('sh_offset',
-// CHECK-NEXT: ('sh_size', 16)
+// CHECK-NEXT: ('sh_size', 0x00000010)
// CHECK-NEXT: ('sh_link',
// CHECK-NEXT: ('sh_info',
-// CHECK-NEXT: ('sh_addralign', 1)
-// CHECK-NEXT: ('sh_entsize', 8)
+// CHECK-NEXT: ('sh_addralign', 0x00000001)
+// CHECK-NEXT: ('sh_entsize', 0x00000008)
diff --git a/test/MC/ELF/file.s b/test/MC/ELF/file.s
index 1e10531..8dd72a7 100644
--- a/test/MC/ELF/file.s
+++ b/test/MC/ELF/file.s
@@ -4,20 +4,20 @@
.file "foo"
foa:
-// CHECK: # Symbol 1
-// CHECK-NEXT: (('st_name', 1) # 'foo'
-// CHECK-NEXT: ('st_bind', 0)
-// CHECK-NEXT: ('st_type', 4)
-// CHECK-NEXT: ('st_other', 0)
-// CHECK-NEXT: ('st_shndx', 65521)
-// CHECK-NEXT: ('st_value', 0)
-// CHECK-NEXT: ('st_size', 0)
+// CHECK: # Symbol 0x00000001
+// CHECK-NEXT: (('st_name', 0x00000001) # 'foo'
+// CHECK-NEXT: ('st_bind', 0x00000000)
+// CHECK-NEXT: ('st_type', 0x00000004)
+// CHECK-NEXT: ('st_other', 0x00000000)
+// CHECK-NEXT: ('st_shndx', 0x0000fff1)
+// CHECK-NEXT: ('st_value', 0x00000000)
+// CHECK-NEXT: ('st_size', 0x00000000)
// CHECK-NEXT: ),
-// CHECK-NEXT: # Symbol 2
-// CHECK-NEXT: (('st_name', 5) # 'foa'
-// CHECK-NEXT: ('st_bind', 0)
-// CHECK-NEXT: ('st_type', 0)
-// CHECK-NEXT: ('st_other', 0)
-// CHECK-NEXT: ('st_shndx', 1)
-// CHECK-NEXT: ('st_value', 0)
-// CHECK-NEXT: ('st_size', 0)
+// CHECK-NEXT: # Symbol 0x00000002
+// CHECK-NEXT: (('st_name', 0x00000005) # 'foa'
+// CHECK-NEXT: ('st_bind', 0x00000000)
+// CHECK-NEXT: ('st_type', 0x00000000)
+// CHECK-NEXT: ('st_other', 0x00000000)
+// CHECK-NEXT: ('st_shndx', 0x00000001)
+// CHECK-NEXT: ('st_value', 0x00000000)
+// CHECK-NEXT: ('st_size', 0x00000000)
diff --git a/test/MC/ELF/got.s b/test/MC/ELF/got.s
index 866d25b..798150e 100644
--- a/test/MC/ELF/got.s
+++ b/test/MC/ELF/got.s
@@ -6,20 +6,20 @@
movl foo@GOT, %eax
movl foo@GOTPCREL(%rip), %eax
-// CHECK: (('st_name', 5) # '_GLOBAL_OFFSET_TABLE_'
-// CHECK-NEXT: ('st_bind', 1)
+// CHECK: (('st_name', 0x00000005) # '_GLOBAL_OFFSET_TABLE_'
+// CHECK-NEXT: ('st_bind', 0x00000001)
// CHECK: ('_relocations', [
-// CHECK-NEXT: # Relocation 0
+// CHECK-NEXT: # Relocation 0x00000000
// CHECK-NEXT: (('r_offset',
// CHECK-NEXT: ('r_sym',
-// CHECK-NEXT: ('r_type', 3)
+// CHECK-NEXT: ('r_type', 0x00000003)
// CHECK-NEXT: ('r_addend',
// CHECK-NEXT: ),
-// CHECK-NEXT: # Relocation 1
+// CHECK-NEXT: # Relocation 0x00000001
// CHECK-NEXT: (('r_offset',
// CHECK-NEXT: ('r_sym',
-// CHECK-NEXT: ('r_type', 9)
+// CHECK-NEXT: ('r_type', 0x00000009)
// CHECK-NEXT: ('r_addend',
// CHECK-NEXT: ),
// CHECK-NEXT: ])
diff --git a/test/MC/ELF/local-reloc.s b/test/MC/ELF/local-reloc.s
index 30c0f68..d275646 100644
--- a/test/MC/ELF/local-reloc.s
+++ b/test/MC/ELF/local-reloc.s
@@ -7,24 +7,24 @@
foo:
// Section number 1 is .text
-// CHECK: # Section 1
-// CHECK-next: (('sh_name', 1) # '.text'
+// CHECK: # Section 0x00000001
+// CHECK-next: (('sh_name', 0x00000001) # '.text'
// Symbol number 2 is section number 1
-// CHECK: # Symbol 2
-// CHECK-NEXT: (('st_name', 0) # ''
-// CHECK-NEXT: ('st_bind', 0)
-// CHECK-NEXT: ('st_type', 3)
-// CHECK-NEXT: ('st_other', 0)
-// CHECK-NEXT: ('st_shndx', 1)
-// CHECK-NEXT: ('st_value', 0)
-// CHECK-NEXT: ('st_size', 0)
+// CHECK: # Symbol 0x00000002
+// CHECK-NEXT: (('st_name', 0x00000000) # ''
+// CHECK-NEXT: ('st_bind', 0x00000000)
+// CHECK-NEXT: ('st_type', 0x00000003)
+// CHECK-NEXT: ('st_other', 0x00000000)
+// CHECK-NEXT: ('st_shndx', 0x00000001)
+// CHECK-NEXT: ('st_value', 0x00000000)
+// CHECK-NEXT: ('st_size', 0x00000000)
// Relocation refers to symbol number 2
// CHECK: ('_relocations', [
-// CHECK-NEXT: # Relocation 0
+// CHECK-NEXT: # Relocation 0x00000000
// CHECK-NEXT: (('r_offset',
-// CHECK-NEXT: ('r_sym', 2)
+// CHECK-NEXT: ('r_sym', 0x00000002)
// CHECK-NEXT: ('r_type',
// CHECK-NEXT: ('r_addend',
// CHECK-NEXT: ),
diff --git a/test/MC/ELF/merge.s b/test/MC/ELF/merge.s
index f9cbc1e..ec02228 100644
--- a/test/MC/ELF/merge.s
+++ b/test/MC/ELF/merge.s
@@ -23,75 +23,75 @@ zed:
foo:
// Section 4 is "sec1"
-// CHECK: # Section 4
-// CHECK-NEXT: (('sh_name', 18) # '.sec1'
+// CHECK: # Section 0x00000004
+// CHECK-NEXT: (('sh_name', 0x00000012) # '.sec1'
// Symbol number 1 is .Lfoo
-// CHECK: # Symbol 1
-// CHECK-NEXT: (('st_name', 1) # '.Lfoo'
+// CHECK: # Symbol 0x00000001
+// CHECK-NEXT: (('st_name', 0x00000001) # '.Lfoo'
// Symbol number 2 is foo
-// CHECK: # Symbol 2
-// CHECK-NEXT: (('st_name', 7) # 'foo'
+// CHECK: # Symbol 0x00000002
+// CHECK-NEXT: (('st_name', 0x00000007) # 'foo'
// Symbol number 6 is section 4
-// CHECK: # Symbol 6
-// CHECK-NEXT: (('st_name', 0) # ''
-// CHECK-NEXT: ('st_bind', 0)
-// CHECK-NEXT: ('st_type', 3)
-// CHECK-NEXT: ('st_other', 0)
-// CHECK-NEXT: ('st_shndx', 4)
+// CHECK: # Symbol 0x00000006
+// CHECK-NEXT: (('st_name', 0x00000000) # ''
+// CHECK-NEXT: ('st_bind', 0x00000000)
+// CHECK-NEXT: ('st_type', 0x00000003)
+// CHECK-NEXT: ('st_other', 0x00000000)
+// CHECK-NEXT: ('st_shndx', 0x00000004)
// Symbol number 8 is zed
-// CHECK: # Symbol 8
-// CHECK-NEXT: (('st_name', 11) # 'zed'
+// CHECK: # Symbol 0x00000008
+// CHECK-NEXT: (('st_name', 0x0000000b) # 'zed'
// Relocation 0 refers to symbol 1
// CHECK: ('_relocations', [
// CHECK-NEXT: # Relocation 0
// CHECK-NEXT: (('r_offset',
-// CHECK-NEXT: ('r_sym', 1)
-// CHECK-NEXT: ('r_type', 2
+// CHECK-NEXT: ('r_sym', 0x00000001)
+// CHECK-NEXT: ('r_type', 0x00000002
// CHECK-NEXT: ('r_addend',
// CHECK-NEXT: ),
// Relocation 1 refers to symbol 6
-// CHECK-NEXT: # Relocation 1
+// CHECK-NEXT: # Relocation 0x00000001
// CHECK-NEXT: (('r_offset',
-// CHECK-NEXT: ('r_sym', 6)
-// CHECK-NEXT: ('r_type', 10)
+// CHECK-NEXT: ('r_sym', 0x00000006)
+// CHECK-NEXT: ('r_type', 0x0000000a)
// CHECK-NEXT: ('r_addend',
// CHECK-NEXT: ),
// Relocation 2 refers to symbol 1
-// CHECK-NEXT: # Relocation 2
+// CHECK-NEXT: # Relocation 0x00000002
// CHECK-NEXT: (('r_offset',
-// CHECK-NEXT: ('r_sym', 1)
-// CHECK-NEXT: ('r_type', 10
+// CHECK-NEXT: ('r_sym', 0x00000001)
+// CHECK-NEXT: ('r_type', 0x0000000a
// CHECK-NEXT: ('r_addend',
// CHECK-NEXT: ),
// Relocation 3 refers to symbol 2
-// CHECK-NEXT: # Relocation 3
+// CHECK-NEXT: # Relocation 0x00000003
// CHECK-NEXT: (('r_offset',
-// CHECK-NEXT: ('r_sym', 2)
-// CHECK-NEXT: ('r_type', 4
+// CHECK-NEXT: ('r_sym', 0x00000002)
+// CHECK-NEXT: ('r_type', 0x00000004
// CHECK-NEXT: ('r_addend',
// CHECK-NEXT: ),
// Relocation 4 refers to symbol 2
-// CHECK-NEXT: # Relocation 4
+// CHECK-NEXT: # Relocation 0x00000004
// CHECK-NEXT: (('r_offset',
-// CHECK-NEXT: ('r_sym', 2)
-// CHECK-NEXT: ('r_type', 9
+// CHECK-NEXT: ('r_sym', 0x00000002)
+// CHECK-NEXT: ('r_type', 0x00000009
// CHECK-NEXT: ('r_addend',
// CHECK-NEXT: ),
// Relocation 5 refers to symbol 8
-// CHECK-NEXT: # Relocation 5
-// CHECK-NEXT: (('r_offset', 35)
-// CHECK-NEXT: ('r_sym', 8)
-// CHECK-NEXT: ('r_type', 11)
-// CHECK-NEXT: ('r_addend', 0)
+// CHECK-NEXT: # Relocation 0x00000005
+// CHECK-NEXT: (('r_offset', 0x00000023)
+// CHECK-NEXT: ('r_sym', 0x00000008)
+// CHECK-NEXT: ('r_type', 0x0000000b)
+// CHECK-NEXT: ('r_addend', 0x00000000)
// CHECK-NEXT: ),
// CHECK-NEXT: ])
diff --git a/test/MC/ELF/norelocation.s b/test/MC/ELF/norelocation.s
index 3e9f6e0..0a0efe1 100644
--- a/test/MC/ELF/norelocation.s
+++ b/test/MC/ELF/norelocation.s
@@ -3,16 +3,16 @@
call bar
bar:
-// CHECK: ('sh_name', 1) # '.text'
-// CHECK-NEXT: ('sh_type', 1)
-// CHECK-NEXT: ('sh_flags', 6)
-// CHECK-NEXT: ('sh_addr', 0)
-// CHECK-NEXT: ('sh_offset', 64)
-// CHECK-NEXT: ('sh_size', 5)
-// CHECK-NEXT: ('sh_link', 0)
-// CHECK-NEXT: ('sh_info', 0)
-// CHECK-NEXT: ('sh_addralign', 4)
-// CHECK-NEXT: ('sh_entsize', 0)
+// CHECK: ('sh_name', 0x00000001) # '.text'
+// CHECK-NEXT: ('sh_type', 0x00000001)
+// CHECK-NEXT: ('sh_flags', 0x00000006)
+// CHECK-NEXT: ('sh_addr', 0x00000000)
+// CHECK-NEXT: ('sh_offset', 0x00000040)
+// CHECK-NEXT: ('sh_size', 0x00000005)
+// CHECK-NEXT: ('sh_link', 0x00000000)
+// CHECK-NEXT: ('sh_info', 0x00000000)
+// CHECK-NEXT: ('sh_addralign', 0x00000004)
+// CHECK-NEXT: ('sh_entsize', 0x00000000)
// CHECK-NEXT: ('_section_data', 'e8000000 00')
// CHECK-NOT: .rela.text
// CHECK: shstrtab
diff --git a/test/MC/ELF/pic-diff.s b/test/MC/ELF/pic-diff.s
index 50117d4..b47c413 100644
--- a/test/MC/ELF/pic-diff.s
+++ b/test/MC/ELF/pic-diff.s
@@ -1,21 +1,21 @@
// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | elf-dump | FileCheck %s
-// CHECK: # Symbol 5
-// CHECK-NEXT: (('st_name', 5) # 'baz'
-// CHECK-NEXT: ('st_bind', 1)
-// CHECK-NEXT: ('st_type', 0)
-// CHECK-NEXT: ('st_other', 0)
-// CHECK-NEXT: ('st_shndx', 0)
-// CHECK-NEXT: ('st_value', 0)
-// CHECK-NEXT: ('st_size', 0)
+// CHECK: # Symbol 0x00000005
+// CHECK-NEXT: (('st_name', 0x00000005) # 'baz'
+// CHECK-NEXT: ('st_bind', 0x00000001)
+// CHECK-NEXT: ('st_type', 0x00000000)
+// CHECK-NEXT: ('st_other', 0x00000000)
+// CHECK-NEXT: ('st_shndx', 0x00000000)
+// CHECK-NEXT: ('st_value', 0x00000000)
+// CHECK-NEXT: ('st_size', 0x00000000)
// CHECK-NEXT: ),
// CHECK: ('_relocations', [
-// CHECK-NEXT: # Relocation 0
-// CHECK-NEXT: (('r_offset', 12)
-// CHECK-NEXT: ('r_sym', 5)
-// CHECK-NEXT: ('r_type', 2)
-// CHECK-NEXT: ('r_addend', 8)
+// CHECK-NEXT: # Relocation 0x00000000
+// CHECK-NEXT: (('r_offset', 0x0000000c)
+// CHECK-NEXT: ('r_sym', 0x00000005)
+// CHECK-NEXT: ('r_type', 0x00000002)
+// CHECK-NEXT: ('r_addend', 0x00000008)
// CHECK-NEXT: ),
// CHECK-NEXT: ])
diff --git a/test/MC/ELF/plt.s b/test/MC/ELF/plt.s
index 2cbcf5a..7d0073c 100644
--- a/test/MC/ELF/plt.s
+++ b/test/MC/ELF/plt.s
@@ -5,10 +5,10 @@
jmp foo@PLT
// CHECK: ('_relocations', [
-// CHECK-NEXT: # Relocation 0
+// CHECK-NEXT: # Relocation 0x00000000
// CHECK-NEXT: (('r_offset',
// CHECK-NEXT: ('r_sym',
-// CHECK-NEXT: ('r_type', 4)
+// CHECK-NEXT: ('r_type', 0x00000004)
// CHECK-NEXT: ('r_addend',
// CHECK-NEXT: ),
// CHECK-NEXT: ])
diff --git a/test/MC/ELF/relax.s b/test/MC/ELF/relax.s
index 5c5e7e3..48b9c4e 100644
--- a/test/MC/ELF/relax.s
+++ b/test/MC/ELF/relax.s
@@ -12,27 +12,27 @@ foo:
jmp bar
jmp foo
-// CHECK: ('sh_name', 1) # '.text'
-// CHECK-NEXT: ('sh_type', 1)
-// CHECK-NEXT: ('sh_flags', 6)
-// CHECK-NEXT: ('sh_addr', 0)
-// CHECK-NEXT: ('sh_offset', 64)
-// CHECK-NEXT: ('sh_size', 7)
-// CHECK-NEXT: ('sh_link', 0)
-// CHECK-NEXT: ('sh_info', 0)
-// CHECK-NEXT: ('sh_addralign', 4)
-// CHECK-NEXT: ('sh_entsize', 0)
+// CHECK: ('sh_name', 0x00000001) # '.text'
+// CHECK-NEXT: ('sh_type', 0x00000001)
+// CHECK-NEXT: ('sh_flags', 0x00000006)
+// CHECK-NEXT: ('sh_addr', 0x00000000)
+// CHECK-NEXT: ('sh_offset', 0x00000040)
+// CHECK-NEXT: ('sh_size', 0x00000007)
+// CHECK-NEXT: ('sh_link', 0x00000000)
+// CHECK-NEXT: ('sh_info', 0x00000000)
+// CHECK-NEXT: ('sh_addralign', 0x00000004)
+// CHECK-NEXT: ('sh_entsize', 0x00000000)
// CHECK-NEXT: ('_section_data', 'ebfee900 000000')
-// CHECK: # Symbol 5
-// CHECK-NEXT: (('st_name', 5) # 'foo'
+// CHECK: # Symbol 0x00000005
+// CHECK-NEXT: (('st_name', 0x00000005) # 'foo'
// CHECK: .rela.text
// CHECK: ('_relocations', [
-// CHECK-NEXT: Relocation 0
-// CHECK-NEXT: (('r_offset', 3)
-// CHECK-NEXT: ('r_sym', 5)
-// CHECK-NEXT: ('r_type', 2)
-// CHECK-NEXT: ('r_addend', -4)
+// CHECK-NEXT: Relocation 0x00000000
+// CHECK-NEXT: (('r_offset', 0x00000003)
+// CHECK-NEXT: ('r_sym', 0x00000005)
+// CHECK-NEXT: ('r_type', 0x00000002)
+// CHECK-NEXT: ('r_addend', 0xfffffffc)
// CHECK-NEXT: ),
// CHECK-NEXT: ])
diff --git a/test/MC/ELF/relocation-386.s b/test/MC/ELF/relocation-386.s
index 43a9bef..06885fdf 100644
--- a/test/MC/ELF/relocation-386.s
+++ b/test/MC/ELF/relocation-386.s
@@ -4,50 +4,50 @@
// to .Lfoo uses the symbol and not the section.
// Section 3 is bss
-// CHECK: # Section 3
-// CHECK-NEXT: (('sh_name', 13) # '.bss'
+// CHECK: # Section 0x00000003
+// CHECK-NEXT: (('sh_name', 0x0000000d) # '.bss'
-// CHECK: # Symbol 1
-// CHECK-NEXT: (('st_name', 5) # '.Lfoo'
+// CHECK: # Symbol 0x00000001
+// CHECK-NEXT: (('st_name', 0x00000005) # '.Lfoo'
// Symbol 6 is section 3
-// CHECK: # Symbol 6
-// CHECK-NEXT: (('st_name', 0) # ''
-// CHECK-NEXT: ('st_value', 0)
-// CHECK-NEXT: ('st_size', 0)
-// CHECK-NEXT: ('st_bind', 0)
-// CHECK-NEXT: ('st_type', 3)
-// CHECK-NEXT: ('st_other', 0)
-// CHECK-NEXT: ('st_shndx', 3)
+// CHECK: # Symbol 0x00000006
+// CHECK-NEXT: (('st_name', 0x00000000) # ''
+// CHECK-NEXT: ('st_value', 0x00000000)
+// CHECK-NEXT: ('st_size', 0x00000000)
+// CHECK-NEXT: ('st_bind', 0x00000000)
+// CHECK-NEXT: ('st_type', 0x00000003)
+// CHECK-NEXT: ('st_other', 0x00000000)
+// CHECK-NEXT: ('st_shndx', 0x00000003)
-// CHECK: # Relocation 0
-// CHECK-NEXT: (('r_offset', 2)
-// CHECK-NEXT: ('r_sym', 1)
-// CHECK-NEXT: ('r_type', 9)
+// CHECK: # Relocation 0x00000000
+// CHECK-NEXT: (('r_offset', 0x00000002)
+// CHECK-NEXT: ('r_sym', 0x00000001)
+// CHECK-NEXT: ('r_type', 0x00000009)
// CHECK-NEXT: ),
-// CHECK-NEXT: # Relocation 1
+// CHECK-NEXT: # Relocation 0x00000001
// CHECK-NEXT: (('r_offset',
// CHECK-NEXT: ('r_sym',
-// CHECK-NEXT: ('r_type', 4)
+// CHECK-NEXT: ('r_type', 0x00000004)
// CHECK-NEXT: ),
-// CHECK-NEXT: # Relocation 2
+// CHECK-NEXT: # Relocation 0x00000002
// CHECK-NEXT: (('r_offset',
// CHECK-NEXT: ('r_sym',
-// CHECK-NEXT: ('r_type', 10)
+// CHECK-NEXT: ('r_type', 0x0000000a)
// CHECK-NEXT: ),
// Relocation 3 (bar3@GOTOFF) is done with symbol 6 (bss)
-// CHECK-NEXT: # Relocation 3
+// CHECK-NEXT: # Relocation 0x00000003
// CHECK-NEXT: (('r_offset',
-// CHECK-NEXT: ('r_sym', 6
+// CHECK-NEXT: ('r_sym', 0x00000006
// CHECK-NEXT: ('r_type',
// CHECK-NEXT: ),
// Relocation 4 (bar2@GOT) is of type R_386_GOT32
-// CHECK-NEXT: # Relocation 4
+// CHECK-NEXT: # Relocation 0x00000004
// CHECK-NEXT: (('r_offset',
// CHECK-NEXT: ('r_sym',
-// CHECK-NEXT: ('r_type', 3
+// CHECK-NEXT: ('r_type', 0x00000003
// CHECK-NEXT: ),
.text
diff --git a/test/MC/ELF/relocation.s b/test/MC/ELF/relocation.s
index 45c863e..99d2bba 100644
--- a/test/MC/ELF/relocation.s
+++ b/test/MC/ELF/relocation.s
@@ -10,48 +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', 2)
-// CHECK-NEXT: ('r_type', 10)
+// CHECK: # Section 0x00000001
+// CHECK: (('sh_name', 0x00000001) # '.text'
+
+// CHECK: # Symbol 0x00000002
+// CHECK: (('st_name', 0x00000000) # ''
+// CHECK: ('st_bind', 0x00000000)
+// CHECK ('st_type', 0x00000003)
+// CHECK: ('st_other', 0x00000000)
+// CHECK: ('st_shndx', 0x00000001)
+
+// CHECK: # Relocation 0x00000000
+// CHECK-NEXT: (('r_offset', 0x00000001)
+// CHECK-NEXT: ('r_sym', 0x00000002)
+// CHECK-NEXT: ('r_type', 0x0000000a)
// CHECK-NEXT: ('r_addend',
-// CHECK: # Relocation 1
-// CHECK-NEXT: (('r_offset', 8)
-// CHECK-NEXT: ('r_sym', 2)
-// CHECK-NEXT: ('r_type', 11)
+// CHECK: # Relocation 0x00000001
+// CHECK-NEXT: (('r_offset', 0x00000008)
+// CHECK-NEXT: ('r_sym', 0x00000002)
+// CHECK-NEXT: ('r_type', 0x0000000b)
// CHECK-NEXT: ('r_addend',
-// CHECK: # Relocation 2
-// CHECK-NEXT: (('r_offset', 19)
-// CHECK-NEXT: ('r_sym', 2)
-// CHECK-NEXT: ('r_type', 11)
+// CHECK: # Relocation 0x00000002
+// CHECK-NEXT: (('r_offset', 0x00000013)
+// CHECK-NEXT: ('r_sym', 0x00000002)
+// CHECK-NEXT: ('r_type', 0x0000000b)
// CHECK-NEXT: ('r_addend',
-// CHECK: # Relocation 3
-// CHECK-NEXT: (('r_offset', 26)
-// CHECK-NEXT: ('r_sym', 2)
-// CHECK-NEXT: ('r_type', 11)
+// CHECK: # Relocation 0x00000003
+// CHECK-NEXT: (('r_offset', 0x0000001a)
+// CHECK-NEXT: ('r_sym', 0x00000002)
+// CHECK-NEXT: ('r_type', 0x0000000b)
// CHECK-NEXT: ('r_addend',
-// CHECK: # Relocation 4
-// CHECK-NEXT: (('r_offset', 34)
-// CHECK-NEXT: ('r_sym', 2)
-// CHECK-NEXT: ('r_type', 11)
+// CHECK: # Relocation 0x00000004
+// CHECK-NEXT: (('r_offset', 0x00000022)
+// CHECK-NEXT: ('r_sym', 0x00000002)
+// CHECK-NEXT: ('r_type', 0x0000000b)
// CHECK-NEXT: ('r_addend',
-// CHECK: # Relocation 5
-// CHECK-NEXT: (('r_offset', 38)
-// CHECK-NEXT: ('r_sym', 2)
-// CHECK-NEXT: ('r_type', 10)
+// CHECK: # Relocation 0x00000005
+// CHECK-NEXT: (('r_offset', 0x00000026)
+// CHECK-NEXT: ('r_sym', 0x00000002)
+// CHECK-NEXT: ('r_type', 0x0000000a)
// CHECK-NEXT: ('r_addend',
diff --git a/test/MC/ELF/section.s b/test/MC/ELF/section.s
index 4622cb4..cc6fa4c 100644
--- a/test/MC/ELF/section.s
+++ b/test/MC/ELF/section.s
@@ -6,6 +6,6 @@
.section .note.GNU-,"",@progbits
.section -.note.GNU,"",@progbits
-// CHECK: ('sh_name', 18) # '.note.GNU-stack'
-// CHECK: ('sh_name', 34) # '.note.GNU-'
-// CHECK: ('sh_name', 45) # '-.note.GNU'
+// CHECK: ('sh_name', 0x00000012) # '.note.GNU-stack'
+// CHECK: ('sh_name', 0x00000022) # '.note.GNU-'
+// CHECK: ('sh_name', 0x0000002d) # '-.note.GNU'
diff --git a/test/MC/ELF/size.s b/test/MC/ELF/size.s
index a19bce0..7ad1336 100644
--- a/test/MC/ELF/size.s
+++ b/test/MC/ELF/size.s
@@ -2,8 +2,8 @@
// Mostly a test that this doesn't crash anymore.
-// CHECK: # Symbol 4
-// CHECK-NEXT: (('st_name', 1) # 'foo'
-// CHECK-NEXT: ('st_bind', 1)
+// CHECK: # Symbol 0x00000004
+// CHECK-NEXT: (('st_name', 0x00000001) # 'foo'
+// CHECK-NEXT: ('st_bind', 0x00000001)
.size foo, .Lbar-foo
diff --git a/test/MC/ELF/sleb.s b/test/MC/ELF/sleb.s
index c3e471f..00e5b4b 100644
--- a/test/MC/ELF/sleb.s
+++ b/test/MC/ELF/sleb.s
@@ -19,9 +19,9 @@ foo:
.sleb128 8193
-// ELF_32: ('sh_name', 1) # '.text'
+// ELF_32: ('sh_name', 0x00000001) # '.text'
// ELF_32: ('_section_data', '00017f3f 40c000bf 7fff3f80 4081c000')
-// ELF_64: ('sh_name', 1) # '.text'
+// ELF_64: ('sh_name', 0x00000001) # '.text'
// ELF_64: ('_section_data', '00017f3f 40c000bf 7fff3f80 4081c000')
// MACHO_32: ('section_name', '__text\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
// MACHO_32: ('_section_data', '00017f3f 40c000bf 7fff3f80 4081c000')
diff --git a/test/MC/ELF/uleb.s b/test/MC/ELF/uleb.s
index d8d1727..1e4734b 100644
--- a/test/MC/ELF/uleb.s
+++ b/test/MC/ELF/uleb.s
@@ -12,9 +12,9 @@ foo:
.uleb128 16383
.uleb128 16384
-// ELF_32: ('sh_name', 1) # '.text'
+// ELF_32: ('sh_name', 0x00000001) # '.text'
// ELF_32: ('_section_data', '00017f80 01ff7f80 8001')
-// ELF_64: ('sh_name', 1) # '.text'
+// ELF_64: ('sh_name', 0x00000001) # '.text'
// ELF_64: ('_section_data', '00017f80 01ff7f80 8001')
// MACHO_32: ('section_name', '__text\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
// MACHO_32: ('_section_data', '00017f80 01ff7f80 8001')
diff --git a/test/MC/ELF/undef.s b/test/MC/ELF/undef.s
index 1f6a52b..01aeac6 100644
--- a/test/MC/ELF/undef.s
+++ b/test/MC/ELF/undef.s
@@ -19,27 +19,27 @@
movsd .Lsym8(%rip), %xmm1
// CHECK: ('_symbols', [
-// CHECK-NEXT: # Symbol 0
-// CHECK-NEXT: (('st_name', 0) # ''
-// CHECK: # Symbol 1
-// CHECK-NEXT: (('st_name', 13) # '.Lsym8'
-// CHECK: # Symbol 2
-// CHECK-NEXT: (('st_name', 0) # ''
-// CHECK: # Symbol 3
-// CHECK-NEXT: (('st_name', 0) # ''
-// CHECK: # Symbol 4
-// CHECK-NEXT: (('st_name', 0) # ''
-// CHECK: # Symbol 5
-// CHECK-NEXT: (('st_name', 0) # ''
-// CHECK: # Symbol 6
-// CHECK-NEXT: (('st_name', 1) # '.Lsym1'
-// CHECK: # Symbol 7
-// CHECK-NEXT: (('st_name', 8) # 'sym6'
-// CHECK-NEXT: ('st_bind', 1)
-// CHECK-NEXT: ('st_type', 1)
-// CHECK-NEXT: ('st_other', 0)
-// CHECK-NEXT: ('st_shndx', 0)
-// CHECK-NEXT: ('st_value', 0)
-// CHECK-NEXT: ('st_size', 0)
+// CHECK-NEXT: # Symbol 0x00000000
+// CHECK-NEXT: (('st_name', 0x00000000) # ''
+// CHECK: # Symbol 0x00000001
+// CHECK-NEXT: (('st_name', 0x0000000d) # '.Lsym8'
+// CHECK: # Symbol 0x00000002
+// CHECK-NEXT: (('st_name', 0x00000000) # ''
+// CHECK: # Symbol 0x00000003
+// CHECK-NEXT: (('st_name', 0x00000000) # ''
+// CHECK: # Symbol 0x00000004
+// CHECK-NEXT: (('st_name', 0x00000000) # ''
+// CHECK: # Symbol 0x00000005
+// CHECK-NEXT: (('st_name', 0x00000000) # ''
+// CHECK: # Symbol 0x00000006
+// CHECK-NEXT: (('st_name', 0x00000001) # '.Lsym1'
+// CHECK: # Symbol 0x00000007
+// CHECK-NEXT: (('st_name', 0x00000008) # 'sym6'
+// CHECK-NEXT: ('st_bind', 0x00000001)
+// CHECK-NEXT: ('st_type', 0x00000001)
+// CHECK-NEXT: ('st_other', 0x00000000)
+// CHECK-NEXT: ('st_shndx', 0x00000000)
+// CHECK-NEXT: ('st_value', 0x00000000)
+// CHECK-NEXT: ('st_size', 0x00000000)
// CHECK-NEXT: ),
// CHECK-NEXT: ])
diff --git a/test/MC/ELF/undef2.s b/test/MC/ELF/undef2.s
index 764f1d7..9544fbc 100644
--- a/test/MC/ELF/undef2.s
+++ b/test/MC/ELF/undef2.s
@@ -5,6 +5,6 @@
je .Lfoo
// CHECK: ('_symbols', [
-// CHECK: (('st_name', 1) # '.Lfoo'
-// CHECK-NEXT: ('st_bind', 1)
-// CHECK: (('sh_name', 36) # '.strtab'
+// CHECK: (('st_name', 0x00000001) # '.Lfoo'
+// CHECK-NEXT: ('st_bind', 0x00000001)
+// CHECK: (('sh_name', 0x00000024) # '.strtab'
diff --git a/test/MC/ELF/weak.s b/test/MC/ELF/weak.s
index 0b93a87..332b91b 100644
--- a/test/MC/ELF/weak.s
+++ b/test/MC/ELF/weak.s
@@ -9,22 +9,22 @@
.weak bar
bar:
-//CHECK: # Symbol 4
-//CHECK-NEXT: (('st_name', 5) # 'bar'
-//CHECK-NEXT: ('st_bind', 2)
-//CHECK-NEXT: ('st_type', 0)
-//CHECK-NEXT: ('st_other', 0)
-//CHECK-NEXT: ('st_shndx', 1)
-//CHECK-NEXT: ('st_value', 0)
-//CHECK-NEXT: ('st_size', 0)
+//CHECK: # Symbol 0x00000004
+//CHECK-NEXT: (('st_name', 0x00000005) # 'bar'
+//CHECK-NEXT: ('st_bind', 0x00000002)
+//CHECK-NEXT: ('st_type', 0x00000000)
+//CHECK-NEXT: ('st_other', 0x00000000)
+//CHECK-NEXT: ('st_shndx', 0x00000001)
+//CHECK-NEXT: ('st_value', 0x00000000)
+//CHECK-NEXT: ('st_size', 0x00000000)
//CHECK-NEXT: ),
-//CHECK-NEXT: # Symbol 5
-//CHECK: (('st_name', 1) # 'foo'
-//CHECK-NEXT: ('st_bind', 2)
-//CHECK-NEXT: ('st_type', 0)
-//CHECK-NEXT: ('st_other', 0)
-//CHECK-NEXT: ('st_shndx', 0)
-//CHECK-NEXT: ('st_value', 0)
-//CHECK-NEXT: ('st_size', 0)
+//CHECK-NEXT: # Symbol 0x00000005
+//CHECK: (('st_name', 0x00000001) # 'foo'
+//CHECK-NEXT: ('st_bind', 0x00000002)
+//CHECK-NEXT: ('st_type', 0x00000000)
+//CHECK-NEXT: ('st_other', 0x00000000)
+//CHECK-NEXT: ('st_shndx', 0x00000000)
+//CHECK-NEXT: ('st_value', 0x00000000)
+//CHECK-NEXT: ('st_size', 0x00000000)
//CHECK-NEXT: ),
//CHECK-NEXT: ])
diff --git a/test/MC/ELF/zero.s b/test/MC/ELF/zero.s
index a7518e1..adf21f8 100644
--- a/test/MC/ELF/zero.s
+++ b/test/MC/ELF/zero.s
@@ -3,14 +3,14 @@
.zero 4
.zero 1,42
-// CHECK: ('sh_name', 1) # '.text'
-// CHECK: ('sh_type', 1)
-// CHECK: ('sh_flags', 6)
-// CHECK: ('sh_addr', 0)
-// CHECK: ('sh_offset', 64)
-// CHECK: ('sh_size', 5)
-// CHECK: ('sh_link', 0)
-// CHECK: ('sh_info', 0)
-// CHECK: ('sh_addralign', 4)
-// CHECK: ('sh_entsize', 0)
+// CHECK: ('sh_name', 0x00000001) # '.text'
+// CHECK: ('sh_type', 0x00000001)
+// CHECK: ('sh_flags', 0x00000006)
+// CHECK: ('sh_addr', 0x00000000)
+// CHECK: ('sh_offset', 0x00000040)
+// CHECK: ('sh_size', 0x00000005)
+// CHECK: ('sh_link', 0x00000000)
+// CHECK: ('sh_info', 0x00000000)
+// CHECK: ('sh_addralign', 0x00000004)
+// CHECK: ('sh_entsize', 0x00000000)
// CHECK: ('_section_data', '00000000 2a')
diff --git a/test/Scripts/common_dump.py b/test/Scripts/common_dump.py
index 444b389..3d69c3fb 100644
--- a/test/Scripts/common_dump.py
+++ b/test/Scripts/common_dump.py
@@ -11,3 +11,36 @@ def dataToHex(d):
hex_byte += ' '
bytes.append(hex_byte)
return ''.join(bytes).strip()
+
+def dataToHexUnified(d):
+ """ Convert the raw data in 'd' to an hex string with a space every 4 bytes.
+ Each 4byte number is prefixed with 0x for easy sed/rx
+ Fixme: convert all MC tests to use this routine instead of the above
+ """
+ bytes = []
+ for i,c in enumerate(d):
+ byte = ord(c)
+ hex_byte = hex(byte)[2:]
+ if byte <= 0xf:
+ hex_byte = '0' + hex_byte
+ if i % 4 == 0:
+ hex_byte = '0x' + hex_byte
+ if i % 4 == 3:
+ hex_byte += ' '
+ bytes.append(hex_byte)
+ return ''.join(bytes).strip()
+
+
+def HexDump(val, numBits=32):
+ """
+ 1. do not print 'L'
+ 2. Handle negatives and large numbers by mod (2^numBits)
+ 3. print fixed length, prepend with zeros.
+ Length is exactly 2+(numBits/4)
+ 4. Do print 0x Why?
+ so that they can be easily distinguished using sed/rx
+ """
+ val = val & (( 1 << numBits) - 1)
+ newFmt = "0x%0" + "%d" % (numBits / 4) + "x"
+ return newFmt % val
+
diff --git a/test/Scripts/elf-dump b/test/Scripts/elf-dump
index 1db4c49..31bcae7 100755
--- a/test/Scripts/elf-dump
+++ b/test/Scripts/elf-dump
@@ -6,6 +6,8 @@ import StringIO
import common_dump
+FormatOutput=hex
+
class Reader:
def __init__(self, path):
if path == "-":
@@ -77,16 +79,16 @@ class Section:
self.sh_entsize = f.readWord()
def dump(self, shstrtab, f, strtab, dumpdata):
- print " (('sh_name', %d) # %r" % (self.sh_name, shstrtab[self.sh_name])
- print " ('sh_type', %d)" % self.sh_type
- print " ('sh_flags', %d)" % self.sh_flags
- print " ('sh_addr', %d)" % self.sh_addr
- print " ('sh_offset', %d)" % self.sh_offset
- print " ('sh_size', %d)" % self.sh_size
- print " ('sh_link', %d)" % self.sh_link
- print " ('sh_info', %d)" % self.sh_info
- print " ('sh_addralign', %d)" % self.sh_addralign
- print " ('sh_entsize', %d)" % self.sh_entsize
+ print " (('sh_name', %s)" % common_dump.HexDump(self.sh_name), "# %r" % shstrtab[self.sh_name]
+ print " ('sh_type', %s)" % common_dump.HexDump(self.sh_type)
+ print " ('sh_flags', %s)" % common_dump.HexDump(self.sh_flags)
+ print " ('sh_addr', %s)" % common_dump.HexDump(self.sh_addr)
+ print " ('sh_offset', %s)" % common_dump.HexDump(self.sh_offset)
+ print " ('sh_size', %s)" % common_dump.HexDump(self.sh_size)
+ print " ('sh_link', %s)" % common_dump.HexDump(self.sh_link)
+ print " ('sh_info', %s)" % common_dump.HexDump(self.sh_info)
+ print " ('sh_addralign', %s)" % common_dump.HexDump(self.sh_addralign)
+ print " ('sh_entsize', %s)" % common_dump.HexDump(self.sh_entsize)
if self.sh_type == 2: # SHT_SYMTAB
print " ('_symbols', ["
dumpSymtab(f, self, strtab)
@@ -106,20 +108,20 @@ def dumpSymtab(f, section, strtab):
for index in range(entries):
f.seek(section.sh_offset + index * section.sh_entsize)
- print " # Symbol %d" % index
+ print " # Symbol %s" % common_dump.HexDump(index)
name = f.read32()
- print " (('st_name', %d) # %r" % (name, strtab[name])
+ print " (('st_name', %s)" % common_dump.HexDump(name), "# %r" % strtab[name]
if not f.is64Bit:
- print " ('st_value', %d)" % f.read32()
- print " ('st_size', %d)" % f.read32()
+ print " ('st_value', %s)" % common_dump.HexDump(f.read32())
+ print " ('st_size', %s)" % common_dump.HexDump(f.read32())
st_info = f.read8()
- print " ('st_bind', %d)" % (st_info >> 4)
- print " ('st_type', %d)" % (st_info & 0xf)
- print " ('st_other', %d)" % f.read8()
- print " ('st_shndx', %d)" % f.read16()
+ print " ('st_bind', %s)" % common_dump.HexDump((st_info >> 4))
+ print " ('st_type', %s)" % common_dump.HexDump((st_info & 0xf))
+ print " ('st_other', %s)" % common_dump.HexDump(f.read8())
+ print " ('st_shndx', %s)" % common_dump.HexDump(f.read16())
if f.is64Bit:
- print " ('st_value', %d)" % f.read64()
- print " ('st_size', %d)" % f.read64()
+ print " ('st_value', %s)" % common_dump.HexDump(f.read64())
+ print " ('st_size', %s)" % common_dump.HexDump(f.read64())
print " ),"
def dumpRel(f, section, dumprela = False):
@@ -127,17 +129,17 @@ def dumpRel(f, section, dumprela = False):
for index in range(entries):
f.seek(section.sh_offset + index * section.sh_entsize)
- print " # Relocation %d" % index
- print " (('r_offset', %d)" % f.readWord()
+ print " # Relocation %s" % common_dump.HexDump(index)
+ print " (('r_offset', %s)" % common_dump.HexDump(f.readWord())
r_info = f.readWord()
if f.is64Bit:
- print " ('r_sym', %d)" % (r_info >> 32)
- print " ('r_type', %d)" % (r_info & 0xffffffff)
+ print " ('r_sym', %s)" % common_dump.HexDump((r_info >> 32))
+ print " ('r_type', %s)" % common_dump.HexDump((r_info & 0xffffffff))
else:
- print " ('r_sym', %d)" % (r_info >> 8)
- print " ('r_type', %d)" % (r_info & 0xff)
+ print " ('r_sym', %s)" % common_dump.HexDump((r_info >> 8))
+ print " ('r_type', %s)" % common_dump.HexDump((r_info & 0xff))
if dumprela:
- print " ('r_addend', %d)" % f.readWordS()
+ print " ('r_addend', %s)" % common_dump.HexDump(f.readWordS())
print " ),"
def dumpELF(path, opts):
@@ -152,8 +154,8 @@ def dumpELF(path, opts):
elif fileclass == 2: # ELFCLASS64
f.is64Bit = True
else:
- raise ValueError, "Unknown file class %d" % fileclass
- print "('e_indent[EI_CLASS]', %d)" % fileclass
+ raise ValueError, "Unknown file class %s" % common_dump.HexDump(fileclass)
+ print "('e_indent[EI_CLASS]', %s)" % common_dump.HexDump(fileclass)
byteordering = f.read8()
if byteordering == 1: # ELFDATA2LSB
@@ -161,32 +163,32 @@ def dumpELF(path, opts):
elif byteordering == 2: # ELFDATA2MSB
f.isLSB = False
else:
- raise ValueError, "Unknown byte ordering %d" % byteordering
- print "('e_indent[EI_DATA]', %d)" % byteordering
+ raise ValueError, "Unknown byte ordering %s" % common_dump.HexDump(byteordering)
+ print "('e_indent[EI_DATA]', %s)" % common_dump.HexDump(byteordering)
- print "('e_indent[EI_VERSION]', %d)" % f.read8()
- print "('e_indent[EI_OSABI]', %d)" % f.read8()
- print "('e_indent[EI_ABIVERSION]', %d)" % f.read8()
+ print "('e_indent[EI_VERSION]', %s)" % common_dump.HexDump(f.read8())
+ print "('e_indent[EI_OSABI]', %s)" % common_dump.HexDump(f.read8())
+ print "('e_indent[EI_ABIVERSION]', %s)" % common_dump.HexDump(f.read8())
f.seek(16) # Seek to end of e_ident.
- print "('e_type', %d)" % f.read16()
- print "('e_machine', %d)" % f.read16()
- print "('e_version', %d)" % f.read32()
- print "('e_entry', %d)" % f.readWord()
- print "('e_phoff', %d)" % f.readWord()
+ print "('e_type', %s)" % common_dump.HexDump(f.read16())
+ print "('e_machine', %s)" % common_dump.HexDump(f.read16())
+ print "('e_version', %s)" % common_dump.HexDump(f.read32())
+ print "('e_entry', %s)" % common_dump.HexDump(f.readWord())
+ print "('e_phoff', %s)" % common_dump.HexDump(f.readWord())
e_shoff = f.readWord()
- print "('e_shoff', %d)" % e_shoff
- print "('e_flags', %d)" % f.read32()
- print "('e_ehsize', %d)" % f.read16()
- print "('e_phentsize', %d)" % f.read16()
- print "('e_phnum', %d)" % f.read16()
+ print "('e_shoff', %s)" % common_dump.HexDump(e_shoff)
+ print "('e_flags', %s)" % common_dump.HexDump(f.read32())
+ print "('e_ehsize', %s)" % common_dump.HexDump(f.read16())
+ print "('e_phentsize', %s)" % common_dump.HexDump(f.read16())
+ print "('e_phnum', %s)" % common_dump.HexDump(f.read16())
e_shentsize = f.read16()
- print "('e_shentsize', %d)" % e_shentsize
+ print "('e_shentsize', %s)" % common_dump.HexDump(e_shentsize)
e_shnum = f.read16()
- print "('e_shnum', %d)" % e_shnum
+ print "('e_shnum', %s)" % common_dump.HexDump(e_shnum)
e_shstrndx = f.read16()
- print "('e_shstrndx', %d)" % e_shstrndx
+ print "('e_shstrndx', %s)" % common_dump.HexDump(e_shstrndx)
# Read all section headers
sections = []
@@ -209,7 +211,7 @@ def dumpELF(path, opts):
print "('_sections', ["
for index in range(e_shnum):
- print " # Section %d" % index
+ print " # Section %s" % common_dump.HexDump(index)
sections[index].dump(shstrtab, f, strtab, opts.dumpSectionData)
print "])"