Fixing r116753 r116756 r116777
authorJason W Kim <jason.w.kim.2009@gmail.com>
Tue, 19 Oct 2010 17:39:10 +0000 (17:39 +0000)
committerJason W Kim <jason.w.kim.2009@gmail.com>
Tue, 19 Oct 2010 17:39:10 +0000 (17:39 +0000)
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

33 files changed:
test/MC/ELF/alias.s
test/MC/ELF/align-bss.s
test/MC/ELF/align-nops.s
test/MC/ELF/align-size.s
test/MC/ELF/align-text.s
test/MC/ELF/align.s
test/MC/ELF/basic-elf.ll
test/MC/ELF/common.s
test/MC/ELF/common2.s
test/MC/ELF/diff.s
test/MC/ELF/empty.s
test/MC/ELF/entsize.ll
test/MC/ELF/entsize.s
test/MC/ELF/file.s
test/MC/ELF/got.s
test/MC/ELF/local-reloc.s
test/MC/ELF/merge.s
test/MC/ELF/norelocation.s
test/MC/ELF/pic-diff.s
test/MC/ELF/plt.s
test/MC/ELF/relax.s
test/MC/ELF/relocation-386.s
test/MC/ELF/relocation.s
test/MC/ELF/section.s
test/MC/ELF/size.s
test/MC/ELF/sleb.s
test/MC/ELF/uleb.s
test/MC/ELF/undef.s
test/MC/ELF/undef2.s
test/MC/ELF/weak.s
test/MC/ELF/zero.s
test/Scripts/common_dump.py
test/Scripts/elf-dump

index 4842d2746a6f5a2180a99f8951fc76a549f90f12..84b558822dae00eb0f850531e3b869711677faf0 100644 (file)
@@ -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)
index b6a3ba8cc42f3074fbdbd9b0ee33928cabca1648..4f73a29f8e2d7ae6d4e8e1b4cc0b546fb2159f5b 100644 (file)
@@ -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)
index b6793ecb67573188e303175c86963bc78e66654d..28d4b895f5d9aedad484d734084fc6e94aff8472 100644 (file)
@@ -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')
index 4d705cf77b02c8747ef3ffc6cf8d7ecfd9baa73d..85331d7ae91557f369a41c7444f60edf8b9bbff8 100644 (file)
@@ -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)
index 4f4497c82ba0f38f1d36b30fd1aefdefe6a1635b..1d2dacb3a06741fcd87b8b3af86a0ee8286dc411 100644 (file)
@@ -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:  ),
index d375c4aa4f8a9a55522d6a7eb0b246d1277e3597..c3912a7c67b0972c207bbf49a56011f1d4a40803 100644 (file)
@@ -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)
index f130ced7bbb465acbaba7660a2390243d2acdf32..f478b3235c7de007862c8b7533ec849570bb0a18 100644 (file)
@@ -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:   ])
index 18b3af5afa699c8b800bc7c2e7a278f1adae8c0b..9aa0c06298e48b39d1ff54ea49d216aa3e4ac650 100644 (file)
@@ -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.
        .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)
index a95daa518f6af8d2e3c1330379ff543447d56153..b54cdfe143fb141cc27d3d3efc8cdb0e5ad10bbc 100644 (file)
@@ -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',
index 671652cf4a31c8d70513d155ebc11d557291fa0a..1879a39e8b9a18b8783e6e0f952e81d1d3eb1712 100644 (file)
@@ -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)
index 62cbb275e083dc7f7d6e92263091461c656c7cf0..e351936b901ffae489542ba694eb8c026f8266bf 100644 (file)
@@ -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)
index bb289d359d4f4fc1a8dd5367b2f2f845260890b0..62683af03539e82bd07e54cd93be0ea1257ffe9f 100644 (file)
@@ -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)
 
index 0a30fde6a86b1d0d0f88edf0305286d5610ebf7a..e8eb62eb2ea575ae1847d72c31c249efaf0b4735 100644 (file)
     .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)
index 1e10531c204827f53c6304f2c262ff1cd24bcd96..8dd72a70ceb1013f46ce664efcfc77854dffdbd6 100644 (file)
@@ -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)
index 866d25b8e05fa7f49b5353b751e36a0cb7925ea1..798150e0f5f92c2f94f5ec67ae3f88ebf921d341 100644 (file)
@@ -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:   ])
index 30c0f68455d66e229949d1a1c5ae19607c842e43..d275646b759aa225626b7f8121620651701f1f33 100644 (file)
@@ -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:   ),
index f9cbc1eb797c79e900857017aea81ec0f879f37f..ec0222890071c8784a594d14c36391e71e2b58ec 100644 (file)
@@ -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:  ])
index 3e9f6e09443afcb007ce47e5add74482c0aff2aa..0a0efe1ed6d650b472488aec035e4f1208a3afec 100644 (file)
@@ -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
index 50117d420bf1feef8b8c2194251f17d2d56695b5..b47c4135df0c1533935b084124e8b7f15a07a1b9 100644 (file)
@@ -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:   ])
 
index 2cbcf5a816be6d6cc5db20e88a549a1bd5b5a322..7d0073c400d6cc2bc5f2241a49203f0a9922bc99 100644 (file)
@@ -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:   ])
index 5c5e7e30dacbf7db00cb999ea68c6cbb79deaa83..48b9c4e18c42fddd437e6bbe20084b6249fb8e80 100644 (file)
@@ -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: ])
index 43a9befcecbbe989ebed6c1200dbfccb97c9d7d7..06885fdf3097ca4fe2a5f985c31fd3ead6faca39 100644 (file)
@@ -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
index 45c863e6de5627d52b7574c19fa5b1e125993e13..99d2bba63b3f01c035d081fe199f6fb43e4f7385 100644 (file)
@@ -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',
index 4622cb4159292a714b47bb45eff1783bb73e385b..cc6fa4c31429a7820dba12fabfad9a953fb566c4 100644 (file)
@@ -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'
index a19bce08f1a8b684b89e687099d482c2c5b861cf..7ad13361b7e24d3a95f4162f1120e94d61b1a3c3 100644 (file)
@@ -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
index c3e471f6250873c71584cd5030cb80ab30c7abb8..00e5b4bf2821e029b64c01ed20060a3a26435f51 100644 (file)
@@ -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')
index d8d1727af7cd8f314730b2a6cd19405a0f7998f1..1e4734bcafc649df776f9b90245cbf81ffadd983 100644 (file)
@@ -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')
index 1f6a52bffe52cf191d6d898131a7cbe7b06d2a0f..01aeac664d6364ef6e971ac27e0e96d3832d53d6 100644 (file)
         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:  ])
index 764f1d7bd3db787d4e33adb0af382b04361f3888..9544fbc42ac857835cb20dd992f0a281b29634fc 100644 (file)
@@ -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'
index 0b93a8711830531bd8f75f2d1e5466576b93ef90..332b91bf76fed4dd2f8e1d407a220252b0540ee4 100644 (file)
@@ -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: ])
index a7518e1e4fd6a1bae633483ba05b525c256987c6..adf21f8a6bee9bda1950cfcd12fda14955063475 100644 (file)
@@ -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')
index 444b389dd0edd0071c701652f8f7a1fe270936f3..3d69c3fb27f2576c05cd695be34100fa1651719a 100644 (file)
@@ -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
+
index 1db4c49cc6b5ef037f3ec62d46a44e2066accaba..31bcae764046042b627d05ba8a2de5592a96c932 100755 (executable)
@@ -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 "])"