[PATCH] gold: don't invoke IA32 syscall in x86_64 assembly testcase

Xi Ruoyao xry111@mengyan1223.wang
Sat Mar 12 14:21:58 GMT 2022


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 | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/gold/testsuite/pr17704a_test.s b/gold/testsuite/pr17704a_test.s
index 2b39e649f9e..8a645496faf 100644
--- a/gold/testsuite/pr17704a_test.s
+++ b/gold/testsuite/pr17704a_test.s
@@ -14,10 +14,10 @@ _start:
 	leaq	bar(%rip), %rsi
 	testb	$1, %sil
 	je	.L9
-	mov $1, %eax
-	mov $1, %ebx
-	int $0x80
+	mov $60, %rax
+	mov $1, %rdi
+	syscall
 .L9:
-	mov $1, %eax
-	mov $0, %ebx
-	int $0x80
+	mov $60, %rax
+	mov $0, %rdi
+	syscall
-- 
2.35.1




More information about the Binutils mailing list