]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
gas: Add macro tests for PR gas/32073
authorH.J. Lu <hjl.tools@gmail.com>
Mon, 12 Aug 2024 15:43:22 +0000 (08:43 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Mon, 12 Aug 2024 17:42:02 +0000 (10:42 -0700)
1. Add a macro test for expression argument with inner white spaces and
a white space before argument added by C preprocessor.
2. Add a x86-64 specific macro test.

PR gas/32073
* testsuite/gas/i386/x86-64-macro-1.d: New file.
* testsuite/gas/i386/x86-64-macro-1.s: Likewise.
* testsuite/gas/i386/x86-64.exp: Run x86-64-macro-1.
* testsuite/gas/macros/arg1.d: New file.
* testsuite/gas/macros/arg1.s: Likewise.
* testsuite/gas/macros/macros.exp: Run arg1.

Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
gas/testsuite/gas/i386/x86-64-macro-1.d [new file with mode: 0644]
gas/testsuite/gas/i386/x86-64-macro-1.s [new file with mode: 0644]
gas/testsuite/gas/i386/x86-64.exp
gas/testsuite/gas/macros/arg1.d [new file with mode: 0644]
gas/testsuite/gas/macros/arg1.s [new file with mode: 0644]
gas/testsuite/gas/macros/macros.exp

diff --git a/gas/testsuite/gas/i386/x86-64-macro-1.d b/gas/testsuite/gas/i386/x86-64-macro-1.d
new file mode 100644 (file)
index 0000000..586dbde
--- /dev/null
@@ -0,0 +1,11 @@
+#as: -mrelax-relocations=yes
+#objdump: -dwr
+
+.*: +file format .*
+
+
+Disassembly of section .text:
+
+0+ <_start>:
+ +[a-f0-9]+:   ff 15 00 00 00 00       call   \*0x0\(%rip\)        # 6 <_start\+0x6>   2: R_X86_64_GOTPCRELX   acos-0x4
+#pass
diff --git a/gas/testsuite/gas/i386/x86-64-macro-1.s b/gas/testsuite/gas/i386/x86-64-macro-1.s
new file mode 100644 (file)
index 0000000..20b4416
--- /dev/null
@@ -0,0 +1,9 @@
+# Test a white space before argument added by C preprocessor.
+
+       .macro WRAPPER_IMPL_SSE2 callee
+       call *\ callee@GOTPCREL(%rip)
+       .endm
+
+       .text
+_start:
+       WRAPPER_IMPL_SSE2 acos
index a14ed32727f48cf0afcb4be897c729eaaf8a0c88..57cb4aa165a1a4306dd74fa0d913d53d7e6025b5 100644 (file)
@@ -698,6 +698,8 @@ if [is_elf_format] then {
 
     run_dump_test "x86-64-no-got"
 
+    run_dump_test "x86-64-macro-1"
+
     run_dump_test "x86-64-addend"
     run_dump_test "x86-64-nop-3"
     run_dump_test "x86-64-nop-4"
diff --git a/gas/testsuite/gas/macros/arg1.d b/gas/testsuite/gas/macros/arg1.d
new file mode 100644 (file)
index 0000000..0a9d8b1
--- /dev/null
@@ -0,0 +1,7 @@
+#objdump: -s -j .data
+
+.*: .*
+
+Contents of section .data:
+ 0000 10111213 1415                        ......          
+#pass
diff --git a/gas/testsuite/gas/macros/arg1.s b/gas/testsuite/gas/macros/arg1.s
new file mode 100644 (file)
index 0000000..e0cb0bd
--- /dev/null
@@ -0,0 +1,12 @@
+# Test expression argument with inner white spaces and a white space
+# before argument added by C preprocessor.
+
+       .macro test arg1, arg2, arg3
+       .byte \arg1
+       .byte \arg2
+       .byte \ arg3
+       .endm
+
+       .data
+       test  0x10 + 0, 0x10 + 1, 0x10 + 2
+       test  0x10 + 3, 0x10 + 4, 0x15
index bb5d4abf25b8e3977dba52b27dd54ed8bc2df5b7..3e84902c65fcced34646654e4a55be175efc66f3 100644 (file)
@@ -75,6 +75,8 @@ if { ![istarget tic30-*-*] } {
     run_list_test app6 ""
 }
 
+run_dump_test arg1
+
 run_list_test badarg ""
 
 switch -glob $target_triplet {