18389bf646
Fix crash in lsi_soft_reset (bz #1000947) Fix crash in scsi_dma_complete (bz #1001617) Fix initial /dev/kvm permissions (bz #993491)
71 lines
2.8 KiB
Diff
71 lines
2.8 KiB
Diff
From 2772b3db795ff963a6dc9fade6e561b6e23dea9a Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <mlureau@redhat.com>
|
|
Date: Mon, 25 Feb 2013 23:31:12 +0100
|
|
Subject: [PATCH] build-sys: must link with -fstack-protector
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
It is needed to give that flag to the linker as well, but latest
|
|
libtool 2.4.2 still swallows that argument, so let's pass it with
|
|
libtool -Wc argument.
|
|
|
|
qemu-1.4.0/stubs/arch-query-cpu-def.c:6: undefined reference to `__stack_chk_guard'
|
|
|
|
Signed-off-by: Marc-André Lureau <mlureau@redhat.com>
|
|
Reviewed-by: Alon Levy <alevy@redhat.com>
|
|
(cherry picked from commit 37746c5eacf309fa019ea0fa45f776c36c561457)
|
|
|
|
Conflicts:
|
|
configure
|
|
---
|
|
configure | 8 +++++++-
|
|
rules.mak | 1 +
|
|
2 files changed, 8 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/configure b/configure
|
|
index 2996e1d..e8633c5 100755
|
|
--- a/configure
|
|
+++ b/configure
|
|
@@ -1197,7 +1197,7 @@ fi
|
|
gcc_flags="-Wold-style-declaration -Wold-style-definition -Wtype-limits"
|
|
gcc_flags="-Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers $gcc_flags"
|
|
gcc_flags="-Wmissing-include-dirs -Wempty-body -Wnested-externs $gcc_flags"
|
|
-gcc_flags="-fstack-protector-all -Wendif-labels $gcc_flags"
|
|
+gcc_flags="-Wendif-labels $gcc_flags"
|
|
gcc_flags="-Wno-initializer-overrides $gcc_flags"
|
|
# Note that we do not add -Werror to gcc_flags here, because that would
|
|
# enable it for all configure tests. If a configure test failed due
|
|
@@ -1216,6 +1216,11 @@ for flag in $gcc_flags; do
|
|
fi
|
|
done
|
|
|
|
+if compile_prog "-Werror -fstack-protector-all" "" ; then
|
|
+ QEMU_CFLAGS="$QEMU_CFLAGS -fstack-protector-all"
|
|
+ LIBTOOLFLAGS="$LIBTOOLFLAGS -Wc,-fstack-protector-all"
|
|
+fi
|
|
+
|
|
# Workaround for http://gcc.gnu.org/PR55489. Happens with -fPIE/-fPIC and
|
|
# large functions that use global variables. The bug is in all releases of
|
|
# GCC, but it became particularly acute in 4.6.x and 4.7.x. It is fixed in
|
|
@@ -3832,6 +3837,7 @@ fi
|
|
echo "LDFLAGS=$LDFLAGS" >> $config_host_mak
|
|
echo "ARLIBS_BEGIN=$arlibs_begin" >> $config_host_mak
|
|
echo "ARLIBS_END=$arlibs_end" >> $config_host_mak
|
|
+echo "LIBTOOLFLAGS=$LIBTOOLFLAGS" >> $config_host_mak
|
|
echo "LIBS+=$LIBS" >> $config_host_mak
|
|
echo "LIBS_TOOLS+=$libs_tools" >> $config_host_mak
|
|
echo "EXESUF=$EXESUF" >> $config_host_mak
|
|
diff --git a/rules.mak b/rules.mak
|
|
index edc2552..36aba2d 100644
|
|
--- a/rules.mak
|
|
+++ b/rules.mak
|
|
@@ -36,6 +36,7 @@ LINK = $(call quiet-command,\
|
|
$(if $(filter %.lo %.la,$^),$(LIBTOOL) --mode=link --tag=CC \
|
|
)$(CC) $(QEMU_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ \
|
|
$(sort $(filter %.o, $1)) $(filter-out %.o, $1) $(version-obj-y) \
|
|
+ $(if $(filter %.lo %.la,$^),$(LIBTOOLFLAGS)) \
|
|
$(LIBS),$(if $(filter %.lo %.la,$^),"lt LINK ", " LINK ")"$(TARGET_DIR)$@")
|
|
endif
|
|
|