[llvm] ac16520 - MC: Improve ,unique tests

Fangrui Song via llvm-commits llvm-commits at lists.llvm.org
Sat May 17 11:49:29 PDT 2025


Author: Fangrui Song
Date: 2025-05-17T11:49:24-07:00
New Revision: ac16520cfcecfd23b5941ab68a321b5a0ca56b1d

URL: https://github.com/llvm/llvm-project/commit/ac16520cfcecfd23b5941ab68a321b5a0ca56b1d
DIFF: https://github.com/llvm/llvm-project/commit/ac16520cfcecfd23b5941ab68a321b5a0ca56b1d.diff

LOG: MC: Improve ,unique tests

Run llvm-readelf and llvm-objdump, and test .pushsection

Added: 
    

Modified: 
    llvm/test/MC/ELF/section-unique.s

Removed: 
    


################################################################################
diff  --git a/llvm/test/MC/ELF/section-unique.s b/llvm/test/MC/ELF/section-unique.s
index 3683ba036f0d0..ecfb9f5b982b8 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", at progbits,unique,4294967293
+# ASM: f:
+
+# ASM: .section	.text,"ax", at 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", at progbits,unique, 4294967293
         .globl	f
@@ -11,29 +49,18 @@ f:
 g:
         nop
 
-// test that f and g are in 
diff erent sections.
-
-// CHECK: .section	.text,"ax", at progbits,unique,4294967293
-// CHECK: f:
-
-// CHECK: .section	.text,"ax", at 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: }
+.section .text,"ax", at progbits, unique, 4294967293
+f2:
+  nop
+
+.pushsection data,"a", at progbits,unique,3
+.long 3
+.popsection
+int3
+.pushsection data,"a", at progbits,unique,4
+.long 4
+.popsection
+.pushsection data,"a", at progbits,unique,3
+.long 6
+.popsection
+int3


        


More information about the llvm-commits mailing list