summary refs log tree commit diff stats
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)
downloadfocaccia-qemu-299060a06e7c73de5cb9962edbca7f7f9e0b7f25.tar.gz
focaccia-qemu-299060a06e7c73de5cb9962edbca7f7f9e0b7f25.zip
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