crosstool-ng/patches/dmalloc/5.5.2/200-mips.patch

65 lines
2.1 KiB
Diff
Raw Normal View History

Patch to correctly handle the MIPS case.
It was build up by Yann E. MORIN <yann.morin.1998@anciens.enib.fr> 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 */