LogoopenSUSE Build Service > Projects
Sign Up | Log In

View File skiboot-build-LDFLAGS-pass-pie-flag-explicitly-to-ld.patch of Package qemu (Project home:lucidd:branches:Virtualization)

From d150a119e3721e634ca31f0ec255add7b955a56d Mon Sep 17 00:00:00 2001
From: Nicholas Piggin <npiggin@gmail.com>
Date: Tue, 18 Jul 2017 20:40:06 +1000
Subject: [PATCH] build: LDFLAGS pass -pie flag explicitly to ld

When building with some toolchains, the gcc -pie option does not
enable the linker pie without explicitly passing it to ld,
resulting in a non-PIE binary that silently fails (due to
relocation failure). This was observed with the powerpc64le
cross compiler for Debian.

Pass -Wl,-pie explicitly, which allows the powerpc64le toolchain
to create a position independnet binary that boots.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Signed-off-by: Bruce Rogers <brogers@suse.com>
---
 Makefile.main | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Makefile.main b/Makefile.main
index 35d16095..07e143fd 100644
--- a/Makefile.main
+++ b/Makefile.main
@@ -85,6 +85,7 @@ CFLAGS += $(call try-cflag,$(CC),-Wjump-misses-init) \
 CFLAGS += $(CWARNS) $(OPTS) $(DBG)
 
 LDFLAGS := -m64 -static -nostdlib -pie 
+LDFLAGS += -Wl,-pie
 LDFLAGS += -Wl,-Ttext-segment,$(LD_TEXT) -Wl,-N -Wl,--build-id=none
 LDFLAGS += -Wl,--no-multi-toc
 LDFLAGS += -mbig-endian -Wl,--oformat,elf64-powerpc
-- 
2.15.0