[Fabrice: Updated for 5.6.5] Signed-off-by: Fabrice Fontaine --- a/configure +++ b/configure @@ -7107,7 +7107,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking return.h macros work" >&5 $as_echo_n "checking return.h macros work... " >&6; } if test "$cross_compiling" = yes; then : - $as_echo "#define RETURN_MACROS_WORK 0" >>confdefs.h + $as_echo "#define RETURN_MACROS_WORK 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } --- a/return.h +++ b/return.h @@ -106,26 +106,16 @@ /*************************************/ /* - * For DEC Mips machines running Ultrix + * For Mips machines running Linux */ #if __mips /* - * I have no idea how to get inline assembly with the default cc. - * Anyone know how? - */ - -#if 0 - -/* * NOTE: we assume here that file is global. * - * $31 is the frame pointer. $2 looks to be the return address but maybe - * not consistently. + * $31 is the return address. */ -#define GET_RET_ADDR(file) asm("sw $2, file") - -#endif +#define GET_RET_ADDR(file) asm("sw $31, %0" : "=m" (file)) #endif /* __mips */