aboutsummaryrefslogtreecommitdiff
path: root/package/aespipe
diff options
context:
space:
mode:
authorGravatar Bernd Kuhls <bernd.kuhls@t-online.de>2017-07-03 10:41:07 +0200
committerGravatar Thomas Petazzoni <thomas.petazzoni@free-electrons.com>2017-07-22 23:35:14 +0200
commit00ecd72c28f103fc7d166f718db81a8b6c4919fa (patch)
treed932f89639bc92853976f2f52a77b5754cc4b2e4 /package/aespipe
parent91a08ecc998ae232ea6f3525540ed129d8176d18 (diff)
downloadbuildroot-00ecd72c28f103fc7d166f718db81a8b6c4919fa.tar.gz
buildroot-00ecd72c28f103fc7d166f718db81a8b6c4919fa.tar.bz2
package/aespipe: fix host compile
Building host-aespipe fails on Debian stretch at linking stage: /usr/bin/gcc -L/home/buildroot/br6/output/host/lib -L/home/buildroot/br6/output/host/usr/lib -Wl,-rpath,/home/buildroot/br6/output/host/usr/lib -o aespipe aespipe.o aes-amd64.o md5-amd64.o md5-2x-amd64.o aes-intel64.o sha512.o rmd160.o /usr/bin/ld: aes-amd64.o: relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC The same problem apparently exists on recent Ubuntu and Gentoo. Fix is also used in Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=837393 [Peter: add comment explaining why] [Arnout: use host-cc-option to discover if -no-pie is available; cfr. 57b628a932b9b4a3c4bf80f4c82a81da5adcb173] Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> Signed-off-by: Peter Korsgaard <peter@korsgaard.com> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Diffstat (limited to 'package/aespipe')
-rw-r--r--package/aespipe/aespipe.mk10
1 files changed, 10 insertions, 0 deletions
diff --git a/package/aespipe/aespipe.mk b/package/aespipe/aespipe.mk
index 6a38556ef1..5ef95d5206 100644
--- a/package/aespipe/aespipe.mk
+++ b/package/aespipe/aespipe.mk
@@ -9,5 +9,15 @@ AESPIPE_SOURCE = aespipe-v$(AESPIPE_VERSION).tar.bz2
AESPIPE_SITE = http://loop-aes.sourceforge.net/aespipe
AESPIPE_LICENSE = GPL
+# Recent Debian, Gentoo and Ubuntu enable -fPIE by default, breaking the build:
+# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=837393
+# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=835148
+# Older gcc versions however don't support the -no-pie flag, so we have to
+# check its availability.
+HOST_AESPIPE_NO_PIE_FLAG = $(call host-cc-option,-no-pie)
+HOST_AESPIPE_CONF_ENV = \
+ CFLAGS="$(HOST_CFLAGS) $(HOST_AESPIPE_NO_PIE_FLAG)" \
+ LDFLAGS="$(HOST_LDFLAGS) $(HOST_AESPIPE_NO_PIE_FLAG)"
+
$(eval $(autotools-package))
$(eval $(host-autotools-package))