MC: Improve ,unique tests

Run llvm-readelf and llvm-objdump, and test .pushsection
diff --git a/llvm/test/MC/ELF/section-unique.s b/llvm/test/MC/ELF/section-unique.s
index 3683ba0..ecfb9f5 100644
--- a/llvm/test/MC/ELF/section-unique.s
+++ b/llvm/test/MC/ELF/section-unique.s
@@ -1,5 +1,43 @@
-// RUN: llvm-mc -triple x86_64-pc-linux-gnu %s -o - | FileCheck %s
-// RUN: llvm-mc -triple x86_64-pc-linux-gnu %s -filetype=obj -o - | llvm-readobj --symbols - | FileCheck %s --check-prefix=OBJ
+# RUN: llvm-mc -triple x86_64 %s -o - | FileCheck %s --check-prefix=ASM
+# RUN: llvm-mc -triple x86_64 %s -filetype=obj -o %t
+# RUN: llvm-readelf -SsX -x data %t | FileCheck %s
+# RUN: llvm-objdump -d %t | FileCheck %s --check-prefix=DIS
+
+# ASM: .section	.text,"ax",@progbits,unique,4294967293
+# ASM: f:
+
+# ASM: .section	.text,"ax",@progbits,unique,4294967294
+# ASM: g:
+
+# CHECK:       Name              Type            Address          Off    Size   ES Flg Lk Inf Al
+# CHECK:        text             PROGBITS        0000000000000000 {{.*}} 000000 00  AX  0   0  4
+# CHECK-NEXT:  .text             PROGBITS        0000000000000000 {{.*}} 000004 00  AX  0   0  1
+# CHECK-NEXT:  .text             PROGBITS        0000000000000000 {{.*}} 000001 00  AX  0   0  1
+
+# CHECK:       0000000000000001     0 NOTYPE  LOCAL  DEFAULT     3 (.text)  f2
+# CHECK-NEXT:  0000000000000000     0 NOTYPE  GLOBAL DEFAULT     3 (.text)  f
+# CHECK-NEXT:  0000000000000000     0 NOTYPE  GLOBAL DEFAULT     4 (.text)  g
+
+# CHECK:      Hex dump of section 'data':
+# CHECK-NEXT: 0x00000000 03000000 06000000                   .
+# CHECK-EMPTY:
+# CHECK-NEXT: Hex dump of section 'data':
+# CHECK-NEXT: 0x00000000 04000000                            .
+
+# DIS:      Disassembly of section .text:
+# DIS-EMPTY:
+# DIS-NEXT: 0000000000000000 <f>:
+# DIS-NEXT:        0: 90                            nop
+# DIS-EMPTY:
+# DIS-NEXT: 0000000000000001 <f2>:
+# DIS-NEXT:        1: 90                            nop
+# DIS-NEXT:        2: cc                            int3
+# DIS-NEXT:        3: cc                            int3
+# DIS-EMPTY:
+# DIS-NEXT: Disassembly of section .text:
+# DIS-EMPTY:
+# DIS-NEXT: 0000000000000000 <g>:
+# DIS-NEXT:        0: 90                            nop
 
 	.section	.text,"ax",@progbits,unique, 4294967293
         .globl	f
@@ -11,29 +49,18 @@
 g:
         nop
 
-// test that f and g are in different sections.
+.section .text,"ax",@progbits, unique, 4294967293
+f2:
+  nop
 
-// CHECK: .section	.text,"ax",@progbits,unique,4294967293
-// CHECK: f:
-
-// CHECK: .section	.text,"ax",@progbits,unique,4294967294
-// CHECK: g:
-
-// OBJ: Symbol {
-// OBJ:   Name:    f
-// OBJ:   Value:   0x0
-// OBJ:   Size:    0
-// OBJ:   Binding: Global
-// OBJ:   Type:    None
-// OBJ:   Other:   0
-// OBJ:   Section: .text (0x3)
-// OBJ: }
-// OBJ: Symbol {
-// OBJ:   Name:    g
-// OBJ:   Value:   0x0
-// OBJ:   Size:    0
-// OBJ:   Binding: Global
-// OBJ:   Type:    None
-// OBJ:   Other:   0
-// OBJ:   Section: .text (0x4)
-// OBJ: }
+.pushsection data,"a",@progbits,unique,3
+.long 3
+.popsection
+int3
+.pushsection data,"a",@progbits,unique,4
+.long 4
+.popsection
+.pushsection data,"a",@progbits,unique,3
+.long 6
+.popsection
+int3