aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Giulio Benetti <giulio.benetti@micronovasrl.com>2019-06-14 23:03:42 +0200
committerGravatar Peter Korsgaard <peter@korsgaard.com>2019-06-24 21:09:54 +0200
commit0224c932103ba948234ab5dc2c24ec2a50e56269 (patch)
tree48a5a5ef6d8ba5a780f642ff7bc936e8229ef98a
parent473ac73c412a1b3c7dc94fbbe8a437507bf40822 (diff)
downloadbuildroot-0224c932103ba948234ab5dc2c24ec2a50e56269.tar.gz
buildroot-0224c932103ba948234ab5dc2c24ec2a50e56269.tar.bz2
package/tvheadend: fix PIE build failures
Package tvheadend builds using '-pie' linker flag in any case. This leads to linking failure if toolchain doesn't support 'pie'. Add patch to fix tvheadend's Makefile bug where '-pie' flag is hardcoded making it depend on '--disable-pie' as compiler's flags already are treated. Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> (cherry picked from commit dd0907d465a0d82a4844e7aaf3eb3be69103642b) Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
-rw-r--r--package/tvheadend/0002-Makefile-fix-pie-linking-according-to-disable-pie.patch34
-rw-r--r--package/tvheadend/tvheadend.mk4
2 files changed, 38 insertions, 0 deletions
diff --git a/package/tvheadend/0002-Makefile-fix-pie-linking-according-to-disable-pie.patch b/package/tvheadend/0002-Makefile-fix-pie-linking-according-to-disable-pie.patch
new file mode 100644
index 0000000000..385c94b36b
--- /dev/null
+++ b/package/tvheadend/0002-Makefile-fix-pie-linking-according-to-disable-pie.patch
@@ -0,0 +1,34 @@
+From 5cbf08213222cb507d365e6cbda87277f0b8f31e Mon Sep 17 00:00:00 2001
+From: Giulio Benetti <giulio.benetti@micronovasrl.com>
+Date: Fri, 14 Jun 2019 14:25:08 +0200
+Subject: [PATCH] Makefile: fix -pie linking according to --disable-pie
+
+Only compilation follows './configure --disable-pie', linking instead
+doesn't, because '-pie' flag is passed to LDFLAGS uncoditionally.
+
+So add '-pie' flag only if CONFIG_PIE=yes.
+
+Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com>
+---
+ Makefile | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 41783b546..4e5a947a3 100644
+--- a/Makefile
++++ b/Makefile
+@@ -62,7 +62,10 @@ LDFLAGS += -ldl -lm
+ else
+ LDFLAGS += -ldl -lpthread -lm
+ endif
+-LDFLAGS += -pie -Wl,-z,now
++ifeq ($(CONFIG_PIE),yes)
++LDFLAGS += -pie
++endif
++LDFLAGS += -Wl,-z,now
+ ifeq ($(CONFIG_LIBICONV),yes)
+ LDFLAGS += -liconv
+ endif
+--
+2.17.1
+
diff --git a/package/tvheadend/tvheadend.mk b/package/tvheadend/tvheadend.mk
index e92c111082..b192a33d4a 100644
--- a/package/tvheadend/tvheadend.mk
+++ b/package/tvheadend/tvheadend.mk
@@ -94,6 +94,10 @@ else
TVHEADEND_CONF_OPTS += --disable-pcre
endif
+ifeq ($(BR2_TOOLCHAIN_SUPPORTS_PIE),)
+TVHEADEND_CONF_OPTS += --disable-pie
+endif
+
TVHEADEND_DEPENDENCIES += dtv-scan-tables
# The tvheadend build system expects the transponder data to be present inside