summaryrefslogtreecommitdiffstats
path: root/import-layers/meta-openembedded/meta-oe/recipes-devtools/dmalloc/dmalloc/130-mips.patch
blob: 935ac983a64d71d2013ec670ece5b2645020db18 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
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!

Index: dmalloc-5.5.2/return.h
===================================================================
--- dmalloc-5.5.2.orig/return.h
+++ dmalloc-5.5.2/return.h
@@ -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 */
 
Index: dmalloc-5.5.2/configure.ac
===================================================================
--- dmalloc-5.5.2.orig/configure.ac
+++ dmalloc-5.5.2/configure.ac
@@ -585,31 +585,7 @@ int main() { return 1; }
 # check if the return.h macros work
 #
 AC_MSG_CHECKING([return.h macros work])
-AC_RUN_IFELSE([
-
-#define __CONF_H__
-#define USE_RETURN_MACROS 1
-#define RETURN_MACROS_WORK 1
-
-#include "return.h"
-
-static void foo (void)
-{
-  char	*ret_addr;
-  GET_RET_ADDR(ret_addr);
-}
-
-main()
-{
-  foo();
-  exit(0);
-}
-],
-[ AC_DEFINE(RETURN_MACROS_WORK, 1) AC_MSG_RESULT([yes]) ],
-[ AC_DEFINE(RETURN_MACROS_WORK, 0) AC_MSG_RESULT([no]) ],
-[ AC_DEFINE(RETURN_MACROS_WORK, 0) AC_MSG_RESULT([no]) ]
-)
-
+AC_DEFINE(RETURN_MACROS_WORK, 1)
 ##############################################################################
 
 #
OpenPOWER on IntegriCloud