[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