Message ID | 1404288324-16766-1-git-send-email-mrezanin@redhat.com |
---|---|
State | New |
Headers | show |
mrezanin@redhat.com writes: > From: Miroslav Rezanina <mrezanin@redhat.com> > > If --enable-stack-protector is used is used, configure script try to use > --fstack-protector-strong. In case it's not supported, --fstack-protector-all > is enabled. If both protectors are not supported, configure does not use > any protector at all without any notification. > > This patch reports error when user requests stack protector to be used and > both protector modes are not supported. Behavior is not changed in case > user do not use any of --enable-stack-protector/--disable-stack-protector. > > Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com>
Il 02/07/2014 10:05, mrezanin@redhat.com ha scritto: > From: Miroslav Rezanina <mrezanin@redhat.com> > > If --enable-stack-protector is used is used, configure script try to use > --fstack-protector-strong. In case it's not supported, --fstack-protector-all > is enabled. If both protectors are not supported, configure does not use > any protector at all without any notification. > > This patch reports error when user requests stack protector to be used and > both protector modes are not supported. Behavior is not changed in case > user do not use any of --enable-stack-protector/--disable-stack-protector. > > Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com> > --- > configure | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/configure b/configure > index 7dd43fd..b880954 100755 > --- a/configure > +++ b/configure > @@ -1491,6 +1491,7 @@ done > > if test "$stack_protector" != "no" ; then > gcc_flags="-fstack-protector-strong -fstack-protector-all" > + sp_on=0 > for flag in $gcc_flags; do > # We need to check both a compile and a link, since some compiler > # setups fail only on a .c->.o compile and some only at link time > @@ -1498,9 +1499,15 @@ if test "$stack_protector" != "no" ; then > compile_prog "-Werror $flag" ""; then > QEMU_CFLAGS="$QEMU_CFLAGS $flag" > LIBTOOLFLAGS="$LIBTOOLFLAGS -Wc,$flag" > + sp_on=1 > break > fi > done > + if test "$stack_protector" == "yes" ; then > + if test "$sp_on" == "0" ; then > + error_exit "Stack protector not supported" > + fi > + fi > fi > > # Workaround for http://gcc.gnu.org/PR55489. Happens with -fPIE/-fPIC and > Thanks, queued for -rc1. Paolo
diff --git a/configure b/configure index 7dd43fd..b880954 100755 --- a/configure +++ b/configure @@ -1491,6 +1491,7 @@ done if test "$stack_protector" != "no" ; then gcc_flags="-fstack-protector-strong -fstack-protector-all" + sp_on=0 for flag in $gcc_flags; do # We need to check both a compile and a link, since some compiler # setups fail only on a .c->.o compile and some only at link time @@ -1498,9 +1499,15 @@ if test "$stack_protector" != "no" ; then compile_prog "-Werror $flag" ""; then QEMU_CFLAGS="$QEMU_CFLAGS $flag" LIBTOOLFLAGS="$LIBTOOLFLAGS -Wc,$flag" + sp_on=1 break fi done + if test "$stack_protector" == "yes" ; then + if test "$sp_on" == "0" ; then + error_exit "Stack protector not supported" + fi + fi fi # Workaround for http://gcc.gnu.org/PR55489. Happens with -fPIE/-fPIC and