Force emit a relocation for @gnu_indirect_function symbols so that the indirect
[oota-llvm.git] / test / MC / ELF / weak.s
index ef8e000c60d093bbab3cb2c73a5d107267508181..943a46d03b33a8c3de74dc6f9b7333349f24df7c 100644 (file)
@@ -1,14 +1,30 @@
-// 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 -t | FileCheck %s
 
 // Test that this produces a weak undefined symbol.
 
        .weak   foo
         .long   foo
 
-//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)
+// And that bar is after all local symbols and has non-zero value.
+        .weak bar
+bar:
+
+// CHECK:        Symbol {
+// CHECK:          Name: bar
+// CHECK-NEXT:     Value: 0x4
+// CHECK-NEXT:     Size: 0
+// CHECK-NEXT:     Binding: Weak
+// CHECK-NEXT:     Type: None
+// CHECK-NEXT:     Other: 0
+// CHECK-NEXT:     Section: .text
+// CHECK-NEXT:   }
+// CHECK:        Symbol {
+// CHECK:          Name: foo
+// CHECK-NEXT:     Value: 0x0
+// CHECK-NEXT:     Size: 0
+// CHECK-NEXT:     Binding: Weak
+// CHECK-NEXT:     Type: None
+// CHECK-NEXT:     Other: 0
+// CHECK-NEXT:     Section: (0x0)
+// CHECK-NEXT:   }
+// CHECK-NEXT:  ]