]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
kexec-tools: Pass -no-pie to linker
authorKhem Raj <raj.khem@gmail.com>
Mon, 12 Jun 2017 14:59:06 +0000 (07:59 -0700)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 13 Jun 2017 09:46:30 +0000 (10:46 +0100)
- This matches the linker flags to compiler flags in purgatory
- Compile arm64 without PIC

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-kernel/kexec/kexec-tools/0001-Disable-PIE-during-link.patch [new file with mode: 0644]
meta/recipes-kernel/kexec/kexec-tools/0001-arm64-Disable-PIC.patch [new file with mode: 0644]
meta/recipes-kernel/kexec/kexec-tools_2.0.14.bb

diff --git a/meta/recipes-kernel/kexec/kexec-tools/0001-Disable-PIE-during-link.patch b/meta/recipes-kernel/kexec/kexec-tools/0001-Disable-PIE-during-link.patch
new file mode 100644 (file)
index 0000000..3f2f85e
--- /dev/null
@@ -0,0 +1,31 @@
+From ea7be6d71b85880e8e8a2c8a4f49a696c5f31ae4 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 10 Jun 2017 11:18:49 -0700
+Subject: [PATCH] Disable PIE during link
+
+We have explcitly disabled PIE during compile so we
+just need to match it with linker flags
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ purgatory/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/purgatory/Makefile b/purgatory/Makefile
+index 564bdb7..a08e41f 100644
+--- a/purgatory/Makefile
++++ b/purgatory/Makefile
+@@ -59,7 +59,7 @@ $(PURGATORY): CPPFLAGS=$($(ARCH)_PURGATORY_EXTRA_CFLAGS) \
+                       -Iinclude \
+                       -I$(shell $(CC) -print-file-name=include)
+ $(PURGATORY): LDFLAGS=$($(ARCH)_PURGATORY_EXTRA_CFLAGS)\
+-                      -Wl,--no-undefined -nostartfiles -nostdlib \
++                      -Wl,--no-undefined -no-pie -nostartfiles -nostdlib \
+                       -nodefaultlibs -e purgatory_start -Wl,-r \
+                       -Wl,-Map=$(PURGATORY_MAP)
+-- 
+2.13.1
+
diff --git a/meta/recipes-kernel/kexec/kexec-tools/0001-arm64-Disable-PIC.patch b/meta/recipes-kernel/kexec/kexec-tools/0001-arm64-Disable-PIC.patch
new file mode 100644 (file)
index 0000000..84e94d7
--- /dev/null
@@ -0,0 +1,31 @@
+From 3bb73e5e5649b455e15d5ca3a7ad1a90c4960972 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 10 Jun 2017 11:54:36 -0700
+Subject: [PATCH] arm64: Disable PIC
+
+Fix
+| cc1: sorry, unimplemented: code model 'large' with -fPIC
+| make: *** [Makefile:118: purgatory/arch/arm64/entry.o] Error 1
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ 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.13.1
+
index 90d5985801618b361ae6a38e32e634e260e28e7e..4caca933c70a934c8192eaae66d3cbfe0dafe964 100644 (file)
@@ -19,6 +19,8 @@ SRC_URI += "${KERNELORG_MIRROR}/linux/utils/kernel/kexec/kexec-tools-${PV}.tar.g
             file://0001-x86-x86_64-Fix-format-warning-with-die.patch \
             file://0002-ppc-Fix-format-warning-with-die.patch \
             file://kexec-x32.patch \
+            file://0001-Disable-PIE-during-link.patch \
+            file://0001-arm64-Disable-PIC.patch \
          "
 
 SRC_URI[md5sum] = "b2b2c5e6b29d467d6e99d587fb6b7cf5"