DebugInfo: Support for compressed debug info sections
[oota-llvm.git] / test / MC / ELF / empty.s
index ba98a8c527eb9559a286f0175e35c6afdc2e4f8d..c421fe844882f18aa1b367ca63b4f82ce452febf 100644 (file)
@@ -1,36 +1,89 @@
-// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | elf-dump   | FileCheck %s
+// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s | FileCheck %s
 
-// Test that like gnu as we create text, data and bss by default.
+// 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', 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', 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:        Section {
+// CHECK:          Name: .text
+// CHECK-NEXT:     Type: SHT_PROGBITS
+// CHECK-NEXT:     Flags [
+// CHECK-NEXT:       SHF_ALLOC
+// CHECK-NEXT:       SHF_EXECINSTR
+// CHECK-NEXT:     ]
+// CHECK-NEXT:     Address: 0x0
+// CHECK-NEXT:     Offset: 0x40
+// CHECK-NEXT:     Size: 0
+// CHECK-NEXT:     Link: 0
+// CHECK-NEXT:     Info: 0
+// CHECK-NEXT:     AddressAlignment: 4
+// CHECK-NEXT:     EntrySize: 0
+// CHECK-NEXT:   }
+// CHECK:        Section {
+// CHECK:          Name: .data
+// CHECK-NEXT:     Type: SHT_PROGBITS
+// CHECK-NEXT:     Flags [
+// CHECK-NEXT:       SHF_ALLOC
+// CHECK-NEXT:       SHF_WRITE
+// CHECK-NEXT:     ]
+// CHECK-NEXT:     Address: 0x0
+// CHECK-NEXT:     Offset: 0x40
+// CHECK-NEXT:     Size: 0
+// CHECK-NEXT:     Link: 0
+// CHECK-NEXT:     Info: 0
+// CHECK-NEXT:     AddressAlignment: 4
+// CHECK-NEXT:     EntrySize: 0
+// CHECK-NEXT:   }
+// CHECK:        Section {
+// CHECK:          Name: .bss
+// CHECK-NEXT:     Type: SHT_NOBITS
+// CHECK-NEXT:     Flags [
+// CHECK-NEXT:       SHF_ALLOC
+// CHECK-NEXT:       SHF_WRITE
+// CHECK-NEXT:     ]
+// CHECK-NEXT:     Address: 0x0
+// CHECK-NEXT:     Offset: 0x40
+// CHECK-NEXT:     Size: 0
+// CHECK-NEXT:     Link: 0
+// CHECK-NEXT:     Info: 0
+// CHECK-NEXT:     AddressAlignment: 4
+// CHECK-NEXT:     EntrySize: 0
+// CHECK-NEXT:   }
+// CHECK:        Section {
+// CHECK:          Name: .shstrtab
+// CHECK-NEXT:     Type: SHT_STRTAB
+// CHECK-NEXT:     Flags [
+// CHECK-NEXT:     ]
+// CHECK-NEXT:     Address: 0x0
+// CHECK-NEXT:     Offset: 0x40
+// CHECK-NEXT:     Size: 44
+// CHECK-NEXT:     Link: 0
+// CHECK-NEXT:     Info: 0
+// CHECK-NEXT:     AddressAlignment: 1
+// CHECK-NEXT:     EntrySize: 0
+// CHECK-NEXT:   }
+// CHECK:        Section {
+// CHECK:          Name: .symtab
+// CHECK-NEXT:     Type: SHT_SYMTAB
+// CHECK-NEXT:     Flags [
+// CHECK-NEXT:     ]
+// CHECK-NEXT:     Address: 0x0
+// CHECK-NEXT:     Offset:
+// CHECK-NEXT:     Size: 96
+// CHECK-NEXT:     Link: 6
+// CHECK-NEXT:     Info: 4
+// CHECK-NEXT:     AddressAlignment: 8
+// CHECK-NEXT:     EntrySize: 24
+// CHECK-NEXT:   }
+// CHECK:        Section {
+// CHECK:          Name: .strtab
+// CHECK-NEXT:     Type: SHT_STRTAB
+// CHECK-NEXT:     Flags [
+// CHECK-NEXT:     ]
+// CHECK-NEXT:     Address: 0x0
+// CHECK-NEXT:     Offset:
+// CHECK-NEXT:     Size: 1
+// CHECK-NEXT:     Link: 0
+// CHECK-NEXT:     Info: 0
+// CHECK-NEXT:     AddressAlignment: 1
+// CHECK-NEXT:     EntrySize: 0
+// CHECK-NEXT:   }