diff -r b6e20abe9256 -r d3e603e7c17c patches/dmalloc/5.5.2/130-mips.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/dmalloc/5.5.2/130-mips.patch Mon Jul 28 21:32:33 2008 +0000 @@ -0,0 +1,64 @@ +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 */ +