cups: fix static linking problem

In static linking configurations, cups fails to build due to the lack of
Scrt1.o from uClibc toolchains. This Scrt1.o is only needed for PIE
binaries. Since we don't really care about PIE binaries in the context
of Buildroot, this commit solves the problem by patching cups to not
generate a PIE binary.

Fixes:

  http://autobuild.buildroot.net/results/445a401da2f63a6c43d7c166516287db6cc977ab/

Cc: Olivier Schonken <olivier.schonken@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
Thomas Petazzoni 2016-05-14 16:17:13 +02:00 committed by Peter Korsgaard
parent 0dca644e44
commit da4264210f

View File

@ -0,0 +1,21 @@
Remove PIE flags from the build
Generating a statically linked binary built with PIE requires the
Scrt1.o file, which isn't part of Buildroot uClibc toolchains. To
solve this, we simply disable the PIE flags.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Index: b/Makedefs.in
===================================================================
--- a/Makedefs.in
+++ b/Makedefs.in
@@ -142,7 +142,7 @@
IPPFIND_MAN = @IPPFIND_MAN@
LDFLAGS = -L../cgi-bin -L../cups -L../filter -L../ppdc \
-L../scheduler @LDARCHFLAGS@ \
- @LDFLAGS@ @RELROFLAGS@ @PIEFLAGS@ $(OPTIM)
+ @LDFLAGS@ @RELROFLAGS@ $(OPTIM)
LINKCUPS = @LINKCUPS@ $(LIBGSSAPI) $(DNSSDLIBS) $(LIBZ)
LINKCUPSIMAGE = @LINKCUPSIMAGE@
LIBS = $(LINKCUPS) $(COMMONLIBS)