[MIPS] syscall() segv on mips1
Maxime Bizon
mbizon at freebox.fr
Mon Sep 29 14:04:15 UTC 2008
Hi,
uclibc trunk on mips1 platform, a failed syscall() crashes later in
__syscall_error() from incorrect t9 value.
syscall() has .noreorder, so I guess this explicit 'nop' is needed.
--- libc/sysdeps/linux/mips/syscall.S.orig 2008-09-29 15:59:31.000000000 +0200
+++ libc/sysdeps/linux/mips/syscall.S 2008-09-29 15:59:40.000000000 +0200
@@ -73,6 +73,7 @@
SETUP_GP64(v0, syscall)
PTR_LA t9, __syscall_error
RESTORE_GP64
+ nop
jr t9
#else
j __syscall_error
--
Maxime
More information about the uClibc
mailing list