Skip to contentSkip to conversation

kexec-tools: Set -fno-PIC on aarch64

PATCH New [email protected] 1 participant 1 message May 10, 2018

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 kexec-tools: Set -fno-PIC on aarch64

From: Mingli Yu <[email protected]>

As seen in GCC's gcc/config/aarch64/aarch64.c, -fPIC with large code model is unsupported. This fixes the "sorry, unimplemented" errors when building with compilers defaulting to -fPIC.

---
 ...rm64-Set-fno-PIC-along-with-mcmodel-large.patch | 33 ++++++++++++++++++++++
 meta/recipes-kernel/kexec/kexec-tools_2.0.16.bb    |  1 +
 2 files changed, 34 insertions(+)
 create mode 100644 meta/recipes-kernel/kexec/kexec-tools/0001-arm64-Set-fno-PIC-along-with-mcmodel-large.patch
meta/recipes-kernel/kexec/kexec-tools/0001-arm64-Set-fno-PIC-along-with-mcmodel-large.patch new file +33 -0
new file mode 100644
index 0000000000..786fc0ce41
@@ -0,0 +1,33 @@
+From a12dfe9be05f9dee96c7637a20c01e05711c563c Mon Sep 17 00:00:00 2001
+From: David Michael <[email protected]>
+Date: Sun, 7 Jan 11:26:57 2018 -0500
+Subject: [PATCH] arm64: Set -fno-PIC along with -mcmodel=large
+
+As seen in GCC's gcc/config/aarch64/aarch64.c, -fPIC with large
+code model is unsupported.  This fixes the "sorry, unimplemented"
+errors when building with compilers defaulting to -fPIC.
+
+Upstream-Status: Backport
+
+Signed-off-by: Simon Horman <[email protected]>
+Signed-off-by: David Michael <[email protected]>
+Signed-off-by: Mingli Yu <[email protected]>
+---
+ purgatory/arch/arm64/Makefile | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/purgatory/arch/arm64/Makefile b/purgatory/arch/arm64/Makefile
+index 636abea..80068ca 100644
+--- a/purgatory/arch/arm64/Makefile
++++ b/purgatory/arch/arm64/Makefile
+@@ -1,6 +1,7 @@
+ 
+ arm64_PURGATORY_EXTRA_CFLAGS = \
+ 	-mcmodel=large \
++	-fno-PIC \
+ 	-fno-stack-protector \
+ 	-fno-asynchronous-unwind-tables \
+ 	-Wundef \
+-- 
+2.7.4
+
meta/recipes-kernel/kexec/kexec-tools_2.0.16.bb +1 -0
index ebb4832684..bd87b371c2 100644
@@ -20,6 +20,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/kernel/kexec/kexec-tools-${PV}.tar.gz
            file://0010-kexec-ARM-Fix-add_buffer_phys_virt-align-issue.patch \
            file://kexec-x32.patch \
            file://0001-Disable-PIE-during-link.patch \
+           file://0001-arm64-Set-fno-PIC-along-with-mcmodel-large.patch \
          "
 
 SRC_URI[md5sum] = "5198968de79b5ded96f97f3c2ea9637b"
Signature · 1 line
2.11.0