gold: don't invoke IA32 syscall in x86_64 assembly testcase
authorXi Ruoyao <xry111@mengyan1223.wang>
Wed, 18 May 2022 07:34:31 +0000 (09:34 +0200)
committerJan Beulich <jbeulich@suse.com>
Wed, 18 May 2022 07:34:31 +0000 (09:34 +0200)
pr17704a_test.s is a x86_64 assembly file, but it invokes IA32 exit
syscall with "int 0x80".  This causes a segfault on kernels with
CONFIG_IA32_EMULATION disabled.

gold/

* testsuite/pr17704a_test.s (_start): Invoke x86_64 exit syscall
instead of its IA32 counterpart.

gold/testsuite/pr17704a_test.s

index 2b39e64..7eb02ee 100644 (file)
@@ -14,10 +14,10 @@ _start:
        leaq    bar(%rip), %rsi
        testb   $1, %sil
        je      .L9
-       mov $1, %eax
-       mov $1, %ebx
-       int $0x80
+       mov $60, %eax
+       mov $1, %rdi
+       syscall
 .L9:
-       mov $1, %eax
-       mov $0, %ebx
-       int $0x80
+       mov $60, %eax
+       mov $0, %rdi
+       syscall