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 --- 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 :