[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