patches/dmalloc/5.5.2/130-mips.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Jul 17 17:54:21 2011 +0200 (2011-07-17)
changeset 2888 dd71df95903a
parent 103 b6e20abe9256
permissions -rw-r--r--
cc/gcc: pass the companion libs prefix to cc_core

In case of canadian-cross, the companion libraries are not the same for
the core cc (they run on 'build') as they are for the final cc (they run
on 'host').

Prepare for this differentiation (coming later), while retaining the
current behavior (to use the same compblibs).

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
yann@103
     1
Patch to correctly handle the MIPS case.
yann@103
     2
yann@103
     3
It was build up by Yann E. MORIN <yann.morin.1998@anciens.enib.fr> from some
yann@103
     4
bits gathered from buildroot, which is LGPL v2.1
yann@103
     5
License for dmalloc is:
yann@103
     6
 * Permission to use, copy, modify, and distribute this software for
yann@103
     7
 * any purpose and without fee is hereby granted, provided that the
yann@103
     8
 * above copyright notice and this permission notice appear in all
yann@103
     9
 * copies, and that the name of Gray Watson not be used in advertising
yann@103
    10
 * or publicity pertaining to distribution of the document or software
yann@103
    11
 * without specific, written prior permission.
yann@103
    12
 *
yann@103
    13
 * Gray Watson makes no representations about the suitability of the
yann@103
    14
 * software described herein for any purpose.  It is provided "as is"
yann@103
    15
 * without express or implied warranty.
yann@103
    16
yann@103
    17
I personnaly believe that the resulting code should therefore be
yann@103
    18
LGPL v2.1, but don't believe me, ask your lawyers!
yann@103
    19
yann@103
    20
diff -dur dmalloc-5.5.2.orig/configure dmalloc-5.5.2/configure
yann@103
    21
--- dmalloc-5.5.2.orig/configure	2007-05-18 12:15:39.000000000 +0200
yann@103
    22
+++ dmalloc-5.5.2/configure	2007-05-18 12:15:48.000000000 +0200
yann@103
    23
@@ -7107,7 +7107,7 @@
yann@103
    24
 echo $ECHO_N "checking return.h macros work... $ECHO_C" >&6
yann@103
    25
 if test "$cross_compiling" = yes; then
yann@103
    26
    cat >>confdefs.h <<\_ACEOF
yann@103
    27
-#define RETURN_MACROS_WORK 0
yann@103
    28
+#define RETURN_MACROS_WORK 1
yann@103
    29
 _ACEOF
yann@103
    30
  echo "$as_me:$LINENO: result: no" >&5
yann@103
    31
 echo "${ECHO_T}no" >&6
yann@103
    32
diff -dur dmalloc-5.5.2.orig/return.h dmalloc-5.5.2/return.h
yann@103
    33
--- dmalloc-5.5.2.orig/return.h	2007-05-14 19:26:14.000000000 +0200
yann@103
    34
+++ dmalloc-5.5.2/return.h	2007-05-18 12:15:48.000000000 +0200
yann@103
    35
@@ -106,26 +106,16 @@
yann@103
    36
 /*************************************/
yann@103
    37
 
yann@103
    38
 /*
yann@103
    39
- * For DEC Mips machines running Ultrix
yann@103
    40
+ * For Mips machines running Linux
yann@103
    41
  */
yann@103
    42
 #if __mips
yann@103
    43
 
yann@103
    44
 /*
yann@103
    45
- * I have no idea how to get inline assembly with the default cc.
yann@103
    46
- * Anyone know how?
yann@103
    47
- */
yann@103
    48
-
yann@103
    49
-#if 0
yann@103
    50
-
yann@103
    51
-/*
yann@103
    52
  * NOTE: we assume here that file is global.
yann@103
    53
  *
yann@103
    54
- * $31 is the frame pointer.  $2 looks to be the return address but maybe
yann@103
    55
- * not consistently.
yann@103
    56
+ * $31 is the return address.
yann@103
    57
  */
yann@103
    58
-#define GET_RET_ADDR(file)	asm("sw $2, file")
yann@103
    59
-
yann@103
    60
-#endif
yann@103
    61
+#define GET_RET_ADDR(file)	asm("sw $31, %0" : "=m" (file))
yann@103
    62
 
yann@103
    63
 #endif /* __mips */
yann@103
    64