--- /dev/null
+Without -fPIC, dmalloc does not build with:
+
+/home/test/mips-4.4/bin/mips-linux-gnu-ld --sysroot=/home/test/outputs/test-35/staging -shared --whole-archive -soname libdmallocxx.so -o libdmallocxx.so.t libdmallocxx.a
+/home/test/mips-4.4/bin/mips-linux-gnu-ld: libdmalloc.a(arg_check.o): relocation R_MIPS_HI16 against `_dmalloc_flags' can not be used when making a shared object; recompile with -fPIC
+libdmalloc.a(arg_check.o): could not read symbols: Bad value
+
+This patch, taken from
+http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-libs/dmalloc/files/dmalloc-5.2.4-fpic.patch?hideattic=0&view=markup,
+fixes the problem by passing the -fPIC flag. It isn't passed through
+the ./configure environment in order to not clutter the configuration
+cache with incorrect values.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ Makefile.in | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+Index: dmalloc-5.4.3/Makefile.in
+===================================================================
+--- dmalloc-5.4.3.orig/Makefile.in
++++ dmalloc-5.4.3/Makefile.in
+@@ -319,17 +319,17 @@
+ # special _th versions of objects with the LOCK_THREADS variable defined to 1
+ chunk_th.o : $(srcdir)/chunk.c
+ rm -f $@
+- $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(INCS) -DLOCK_THREADS=1 \
++ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -DLOCK_THREADS=1 \
+ -c $(srcdir)/chunk.c -o ./$@
+
+ error_th.o : $(srcdir)/error.c
+ rm -f $@
+- $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(INCS) -DLOCK_THREADS=1 \
++ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -DLOCK_THREADS=1 \
+ -c $(srcdir)/error.c -o ./$@
+
+ malloc_th.o : $(srcdir)/malloc.c
+ rm -f $@
+- $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(INCS) -DLOCK_THREADS=1 \
++ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -DLOCK_THREADS=1 \
+ -c $(srcdir)/malloc.c -o ./$@
+
+ tests : $(TEST)
+@@ -355,7 +355,7 @@
+
+ .c.o :
+ rm -f $@
+- $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
++ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
+
+ #
+ # .cc.o auto-target doesn't work on some systems.
+@@ -363,7 +363,7 @@
+ #
+ dmallocc.o : $(srcdir)/dmallocc.cc
+ rm -f $@
+- $(CXX) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(INCS) -c $(srcdir)/dmallocc.cc \
++ $(CXX) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $(srcdir)/dmallocc.cc \
+ -o ./$@
+
+ .texi.info :
--- /dev/null
+--- dmalloc/configure 2006-09-01 18:28:51.000000000 -0700
++++ dmalloc-mips/configure 2006-09-01 18:49:07.000000000 -0700
+@@ -6114,7 +6114,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
+--- dmalloc/return.h 2004-10-19 07:51:21.000000000 -0700
++++ dmalloc-mips/return.h 2006-09-08 21:52:43.000000000 -0700
+@@ -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 */
+
+++ /dev/null
-Without -fPIC, dmalloc does not build with:
-
-/home/test/mips-4.4/bin/mips-linux-gnu-ld --sysroot=/home/test/outputs/test-35/staging -shared --whole-archive -soname libdmallocxx.so -o libdmallocxx.so.t libdmallocxx.a
-/home/test/mips-4.4/bin/mips-linux-gnu-ld: libdmalloc.a(arg_check.o): relocation R_MIPS_HI16 against `_dmalloc_flags' can not be used when making a shared object; recompile with -fPIC
-libdmalloc.a(arg_check.o): could not read symbols: Bad value
-
-This patch, taken from
-http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-libs/dmalloc/files/dmalloc-5.2.4-fpic.patch?hideattic=0&view=markup,
-fixes the problem by passing the -fPIC flag. It isn't passed through
-the ./configure environment in order to not clutter the configuration
-cache with incorrect values.
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
----
- Makefile.in | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-Index: dmalloc-5.4.3/Makefile.in
-===================================================================
---- dmalloc-5.4.3.orig/Makefile.in
-+++ dmalloc-5.4.3/Makefile.in
-@@ -319,17 +319,17 @@
- # special _th versions of objects with the LOCK_THREADS variable defined to 1
- chunk_th.o : $(srcdir)/chunk.c
- rm -f $@
-- $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(INCS) -DLOCK_THREADS=1 \
-+ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -DLOCK_THREADS=1 \
- -c $(srcdir)/chunk.c -o ./$@
-
- error_th.o : $(srcdir)/error.c
- rm -f $@
-- $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(INCS) -DLOCK_THREADS=1 \
-+ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -DLOCK_THREADS=1 \
- -c $(srcdir)/error.c -o ./$@
-
- malloc_th.o : $(srcdir)/malloc.c
- rm -f $@
-- $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(INCS) -DLOCK_THREADS=1 \
-+ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -DLOCK_THREADS=1 \
- -c $(srcdir)/malloc.c -o ./$@
-
- tests : $(TEST)
-@@ -355,7 +355,7 @@
-
- .c.o :
- rm -f $@
-- $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
-+ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
-
- #
- # .cc.o auto-target doesn't work on some systems.
-@@ -363,7 +363,7 @@
- #
- dmallocc.o : $(srcdir)/dmallocc.cc
- rm -f $@
-- $(CXX) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(INCS) -c $(srcdir)/dmallocc.cc \
-+ $(CXX) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $(srcdir)/dmallocc.cc \
- -o ./$@
-
- .texi.info :
+++ /dev/null
---- dmalloc/configure 2006-09-01 18:28:51.000000000 -0700
-+++ dmalloc-mips/configure 2006-09-01 18:49:07.000000000 -0700
-@@ -6114,7 +6114,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
---- dmalloc/return.h 2004-10-19 07:51:21.000000000 -0700
-+++ dmalloc-mips/return.h 2006-09-08 21:52:43.000000000 -0700
-@@ -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 */
-