summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKirill A. Shutemov <kirill@shutemov.name>2009-12-19 15:16:08 +0000
committerBlue Swirl <blauwirbel@gmail.com>2009-12-19 15:16:08 +0000
commit299060a06e7c73de5cb9962edbca7f7f9e0b7f25 (patch)
tree22ef049cb04152984b7579e8f8f4aa59ddf0530e
parent060fbfe1d607abd6cf58edbf13d10103b0c6738e (diff)
user_only: compile everything with -fpie
We really need compile _all_ sources for user target with -fpie when use --enable-user-pie. It's regression introduced by commit add16157d72454. Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name> Cc: Blue Swirl <blauwirbel@gmail.com> Signed-off-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
-rw-r--r--Makefile.user7
-rwxr-xr-xconfigure3
2 files changed, 9 insertions, 1 deletions
diff --git a/Makefile.user b/Makefile.user
index 907e74bd9e..9e4f040e7c 100644
--- a/Makefile.user
+++ b/Makefile.user
@@ -2,10 +2,15 @@
include ../config-host.mak
include $(SRC_PATH)/rules.mak
+include config.mak
.PHONY: all
-VPATH=$(SRC_PATH)
+# Do not take %.o from $(SRC_PATH), only %.c and %.h
+# All %.o for user targets should be built with -fpie, when
+# configured with --enable-user-pie, so we don't want to
+# take %.o from $(SRC_PATH), since they built without -fpie
+vpath %.c %.h $(SRC_PATH)
QEMU_CFLAGS+=-I..
diff --git a/configure b/configure
index cf1db86254..d815c7aa90 100755
--- a/configure
+++ b/configure
@@ -2652,3 +2652,6 @@ d=libuser
mkdir -p $d
rm -f $d/Makefile
ln -s $source_path/Makefile.user $d/Makefile
+if test "$static" = "no" -a "$user_pie" = "yes" ; then
+ echo "QEMU_CFLAGS+=-fpie" > $d/config.mak
+fi