Package: paxtest
Version: 1:0.9.9-1
Severity: wishlist
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu oneiric ubuntu-patch

the package paxtest fails to build when using the linker flag --as-needed
This is caused by the libraries being placed before the objects which
need the symbols on the command line. So the library symbols are not
registered as needed.
See the log ubuntu bug:
https://bugs.launchpad.net/ubuntu/+source/paxtest/+bug/831405

Attached patch fixes this issue by using ordering the command line
correctly.
Description: fix build with ld --as-needed
 libraries must be placed behind the objects needing their symbols
 on the commandline when building with ld --as-needed
Author: Julian Taylor <jtaylor.deb...@googlemail.com>
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/paxtest/+bug/831405
=== modified file 'Makefile.psm'
--- paxtest.orig/Makefile.psm	2010-09-28 23:40:17 +0000
+++ paxtest/Makefile.psm	2011-08-24 11:40:39 +0000
@@ -135,7 +135,7 @@
 
 $(EXEC_TESTS) $(MPROT_TESTS): body.o
 	$(CC) $(CFLAGS) -o $@.o -c $@.c
-	$(CC) $(LDFLAGS) $(PTHREAD) -o $@ $< $@.o
+	$(CC) $(LDFLAGS) -o $@ $< $@.o  $(PTHREAD)
 	
 $(RAND_TESTS): randbody.o
 	$(CC) $(CFLAGS) -o $@.o -c $@.c
@@ -184,7 +184,7 @@
 	
 $(MPROTSH_TESTS): body.o shlibtest.so
 	$(CC) $(CFLAGS) -o $@.o -c $@.c
-	$(CC) $(LDFLAGS) $(DL) $(PTHREAD) -o $@ $@.o $^
+	$(CC) $(LDFLAGS) -o $@ $@.o $^ $(DL) $(PTHREAD)
 
 # used for RANDEXEC'd binaries
 retbody.o: body.c
@@ -193,12 +193,12 @@
 # build as ET_EXEC (recommended by PaX Team, not really a requirement)
 $(RET_TESTS): retbody.o
 	$(CC) $(CFLAGS) $(CC_ETEXEC) -o $@.o -c $@.c
-	$(CC) $(LDFLAGS) $(LD_ETEXEC) $(PTHREAD) -o $@ $< $@.o
+	$(CC) $(LDFLAGS) $(LD_ETEXEC) -o $@ $< $@.o  $(PTHREAD)
 
 # build as ET_EXEC (not in Adamantix's Makefile)
 $(RETX_TESTS): retbody.o
 	$(CC) $(CFLAGS) $(CC_ETEXEC) -o $@.o -c $@.c
-	$(CC) $(LDFLAGS) $(LD_ETEXEC) $(PTHREAD) -o $@ $< $@.o
+	$(CC) $(LDFLAGS) $(LD_ETEXEC) -o $@ $< $@.o $(PTHREAD)
 	-$(PAXBIN) -C $@
 	$(PAXBIN) -SPXM $@
 	
@@ -211,4 +211,4 @@
 	$(CC) $(SHLDFLAGS) -shared -o $@ $<
 
 $(SHLIB_TESTS): body.o $(SHLIBS) shlibbss.o shlibdata.o
-	$(CC) $(LDFLAGS) $(PTHREAD) -o $@ body.o $@.o $(SHLIBS) $(DL)
+	$(CC) $(LDFLAGS) -o $@ body.o $@.o $(SHLIBS) $(DL) $(PTHREAD)

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to