summaryrefslogtreecommitdiffstats
path: root/package/dmalloc/dmalloc-5.4.3-add-fpic.patch
blob: 839d3ef0ecbb7c3b78a1ca35f530f871ef5f63e8 (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
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 :