1*4882a593Smuzhiyun--- a/configure 2*4882a593Smuzhiyun+++ b/configure 3*4882a593Smuzhiyun@@ -7107,7 +7107,7 @@ 4*4882a593Smuzhiyun echo $ECHO_N "checking return.h macros work... $ECHO_C" >&6 5*4882a593Smuzhiyun if test "$cross_compiling" = yes; then 6*4882a593Smuzhiyun cat >>confdefs.h <<\_ACEOF 7*4882a593Smuzhiyun-#define RETURN_MACROS_WORK 0 8*4882a593Smuzhiyun+#define RETURN_MACROS_WORK 1 9*4882a593Smuzhiyun _ACEOF 10*4882a593Smuzhiyun echo "$as_me:$LINENO: result: no" >&5 11*4882a593Smuzhiyun echo "${ECHO_T}no" >&6 12*4882a593Smuzhiyun--- a/return.h 13*4882a593Smuzhiyun+++ b/return.h 14*4882a593Smuzhiyun@@ -106,26 +106,16 @@ 15*4882a593Smuzhiyun /*************************************/ 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun /* 18*4882a593Smuzhiyun- * For DEC Mips machines running Ultrix 19*4882a593Smuzhiyun+ * For Mips machines running Linux 20*4882a593Smuzhiyun */ 21*4882a593Smuzhiyun #if __mips 22*4882a593Smuzhiyun 23*4882a593Smuzhiyun /* 24*4882a593Smuzhiyun- * I have no idea how to get inline assembly with the default cc. 25*4882a593Smuzhiyun- * Anyone know how? 26*4882a593Smuzhiyun- */ 27*4882a593Smuzhiyun- 28*4882a593Smuzhiyun-#if 0 29*4882a593Smuzhiyun- 30*4882a593Smuzhiyun-/* 31*4882a593Smuzhiyun * NOTE: we assume here that file is global. 32*4882a593Smuzhiyun * 33*4882a593Smuzhiyun- * $31 is the frame pointer. $2 looks to be the return address but maybe 34*4882a593Smuzhiyun- * not consistently. 35*4882a593Smuzhiyun+ * $31 is the return address. 36*4882a593Smuzhiyun */ 37*4882a593Smuzhiyun-#define GET_RET_ADDR(file) asm("sw $2, file") 38*4882a593Smuzhiyun- 39*4882a593Smuzhiyun-#endif 40*4882a593Smuzhiyun+#define GET_RET_ADDR(file) asm("sw $31, %0" : "=m" (file)) 41*4882a593Smuzhiyun 42*4882a593Smuzhiyun #endif /* __mips */ 43*4882a593Smuzhiyun 44