[MIPS] syscall() segv on mips1
sjhill at realitydiluted.com
sjhill at realitydiluted.com
Mon Sep 29 15:36:36 UTC 2008
> 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
>
Would you kindly do an 'objdump -d' on your 'syscall.o' file and send
it to me? Your patch is probably fine, by I want to see your generated
assembly code. Thanks.
-Steve
More information about the uClibc
mailing list