Patch to correctly handle the MIPS case. It was build up by Yann E. MORIN from some bits gathered from buildroot, which is LGPL v2.1 License for dmalloc is: * Permission to use, copy, modify, and distribute this software for * any purpose and without fee is hereby granted, provided that the * above copyright notice and this permission notice appear in all * copies, and that the name of Gray Watson not be used in advertising * or publicity pertaining to distribution of the document or software * without specific, written prior permission. * * Gray Watson makes no representations about the suitability of the * software described herein for any purpose. It is provided "as is" * without express or implied warranty. I personnaly believe that the resulting code should therefore be LGPL v2.1, but don't believe me, ask your lawyers! diff -dur dmalloc-5.5.2.orig/configure dmalloc-5.5.2/configure --- dmalloc-5.5.2.orig/configure 2007-05-18 12:15:39.000000000 +0200 +++ dmalloc-5.5.2/configure 2007-05-18 12:15:48.000000000 +0200 @@ -7107,7 +7107,7 @@ echo $ECHO_N "checking return.h macros work... $ECHO_C" >&6 if test "$cross_compiling" = yes; then cat >>confdefs.h <<\_ACEOF -#define RETURN_MACROS_WORK 0 +#define RETURN_MACROS_WORK 1 _ACEOF echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 diff -dur dmalloc-5.5.2.orig/return.h dmalloc-5.5.2/return.h --- dmalloc-5.5.2.orig/return.h 2007-05-14 19:26:14.000000000 +0200 +++ dmalloc-5.5.2/return.h 2007-05-18 12:15:48.000000000 +0200 @@ -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 */