diff options
author | Stijn Tintel <stijn@linux-ipv6.be> | 2020-12-04 18:32:46 +0200 |
---|---|---|
committer | Stijn Tintel <stijn@linux-ipv6.be> | 2020-12-07 18:23:13 +0200 |
commit | 0eb2fa39f313cac1e1e76c09e6ecf204064697a9 (patch) | |
tree | ce17f951a76d2c52789a8630075f09597fa3a063 | |
parent | 66d12ce667ce9cac249736eebfa95786a9ae2a54 (diff) | |
download | upstream-0eb2fa39f313cac1e1e76c09e6ecf204064697a9.tar.gz upstream-0eb2fa39f313cac1e1e76c09e6ecf204064697a9.tar.bz2 upstream-0eb2fa39f313cac1e1e76c09e6ecf204064697a9.zip |
rules.mk: use -fPIC instead of -fpic on arm64
Some packages fail to build on arm64 when PKG_ASLR_PIE_ALL=y, due to
machine-specific size restrictions on the global offset table.
While the manual instructs to recompile with -fPIC if it fails with
-fpic, by doing this per package, there is still a risk of random
breakage due to version bumps or other changes, so let's use -fPIC on
arm64 by default.
While comparing the sizes of 141 packages built with -fpic vs -fPIC,
most packages are either equal or smaller in size. Only 9 of the
compared packages turned out slightly larger.
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
-rw-r--r-- | rules.mk | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -77,7 +77,7 @@ IS_PACKAGE_BUILD := $(if $(filter package/%,$(BUILD_SUBDIR)),1) OPTIMIZE_FOR_CPU=$(subst i386,i486,$(ARCH)) -ifeq ($(ARCH),powerpc) +ifneq (,$(findstring $(ARCH) , aarch64 aarch64_be powerpc )) FPIC:=-fPIC else FPIC:=-fpic |