OSDN Git Service

Update aosp/master LLVM for rebase to r235153
[android-x86/external-llvm.git] / test / MC / ELF / common.s
index 8d92d98..b7e6ba0 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | elf-dump  --dump-section-data | FileCheck %s
+// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -t | FileCheck %s
 
 
        .text
@@ -8,13 +8,15 @@
        .local  common1
        .comm   common1,1,1
 
-// CHECK: ('st_name', 0x1) # 'common1'
-// CHECK-NEXT: ('st_bind', 0x0)
-// CHECK-NEXT: ('st_type', 0x1)
-// CHECK-NEXT: ('st_other', 0x0)
-// CHECK-NEXT: ('st_shndx',
-// CHECK-NEXT: ('st_value', 0x0)
-// CHECK-NEXT: ('st_size', 0x1)
+// CHECK:        Symbol {
+// CHECK:          Name: common1
+// CHECK-NEXT:     Value: 0x0
+// CHECK-NEXT:     Size: 1
+// CHECK-NEXT:     Binding: Local
+// CHECK-NEXT:     Type: Object
+// CHECK-NEXT:     Other: 0
+// CHECK-NEXT:     Section:
+// CHECK-NEXT:   }
 
 
 // Same as common1, but with directives in a different order.
        .type   common2,@object
        .comm   common2,1,1
 
-// CHECK: ('st_name', 0x9) # 'common2'
-// CHECK-NEXT: ('st_bind', 0x0)
-// CHECK-NEXT: ('st_type', 0x1)
-// CHECK-NEXT: ('st_other', 0x0)
-// CHECK-NEXT: ('st_shndx',
-// CHECK-NEXT: ('st_value', 0x1)
-// CHECK-NEXT: ('st_size', 0x1)
+// CHECK:        Symbol {
+// CHECK:          Name: common2
+// CHECK-NEXT:     Value: 0x1
+// CHECK-NEXT:     Size: 1
+// CHECK-NEXT:     Binding: Local
+// CHECK-NEXT:     Type: Object
+// CHECK-NEXT:     Other: 0
+// CHECK-NEXT:     Section:
+// CHECK-NEXT:   }
+
+
+        .local common6
+        .comm  common6,8,16
+
+// CHECK:        Symbol {
+// CHECK:          Name: common6
+// CHECK-NEXT:     Value: 0x10
+// CHECK-NEXT:     Size: 8
+// CHECK-NEXT:     Binding: Local
+// CHECK-NEXT:     Type: Object
+// CHECK-NEXT:     Other: 0
+// CHECK-NEXT:     Section: .bss
+// CHECK-NEXT:   }
+
 
 // Test that without an explicit .local we produce a global.
        .type   common3,@object
        .comm   common3,4,4
 
-// CHECK: ('st_name', 0x11) # 'common3'
-// CHECK-NEXT: ('st_bind', 0x1)
-// CHECK-NEXT: ('st_type', 0x1)
-// CHECK-NEXT: ('st_other', 0x0)
-// CHECK-NEXT: ('st_shndx', 0xfff2)
-// CHECK-NEXT: ('st_value', 0x4)
-// CHECK-NEXT: ('st_size', 0x4)
+// CHECK:        Symbol {
+// CHECK:          Name: common3
+// CHECK-NEXT:     Value: 0x4
+// CHECK-NEXT:     Size: 4
+// CHECK-NEXT:     Binding: Global
+// CHECK-NEXT:     Type: Object
+// CHECK-NEXT:     Other: 0
+// CHECK-NEXT:     Section: Common (0xFFF2)
+// CHECK-NEXT:   }
 
 
 // Test that without an explicit .local we produce a global, even if the first
@@ -54,10 +75,25 @@ foo:
        .type   common4,@object
        .comm   common4,40,16
 
-// CHECK: ('st_name', 0x1d) # 'common4'
-// CHECK-NEXT: ('st_bind', 0x1)
-// CHECK-NEXT: ('st_type', 0x1)
-// CHECK-NEXT: ('st_other', 0x0)
-// CHECK-NEXT: ('st_shndx', 0xfff2)
-// CHECK-NEXT: ('st_value', 0x10)
-// CHECK-NEXT: ('st_size', 0x28)
+// CHECK:        Symbol {
+// CHECK:          Name: common4
+// CHECK-NEXT:     Value: 0x10
+// CHECK-NEXT:     Size: 40
+// CHECK-NEXT:     Binding: Global
+// CHECK-NEXT:     Type: Object
+// CHECK-NEXT:     Other: 0
+// CHECK-NEXT:     Section: Common (0xFFF2)
+// CHECK-NEXT:   }
+
+
+        .comm  common5,4,4
+
+// CHECK:        Symbol {
+// CHECK:          Name: common5
+// CHECK-NEXT:     Value: 0x4
+// CHECK-NEXT:     Size: 4
+// CHECK-NEXT:     Binding: Global
+// CHECK-NEXT:     Type: Object
+// CHECK-NEXT:     Other: 0
+// CHECK-NEXT:     Section: Common (0xFFF2)
+// CHECK-NEXT:   }