[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 07/28] build-sys: must link with -fstack-prot
From: |
Laurent Desnogues |
Subject: |
Re: [Qemu-devel] [PATCH v3 07/28] build-sys: must link with -fstack-protector |
Date: |
Mon, 13 May 2013 17:20:22 +0200 |
Hi,
Another issue on my old distro.
On Mon, Apr 22, 2013 at 5:04 PM, Alon Levy <address@hidden> wrote:
> From: Marc-André Lureau <address@hidden>
>
> 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 <address@hidden>
> ---
> configure | 8 +++++++-
> rules.mak | 1 +
> 2 files changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/configure b/configure
> index ed49f91..dcc4767 100755
> --- a/configure
> +++ b/configure
> @@ -1238,7 +1238,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
> @@ -1257,6 +1257,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"
With that LIBTOOLFLAGS, libtool makes a call to cc with
-Wl,-fstack-protector-all which in my case fails:
/usr/bin/ld: -f may not be used without -shared
I don't know where the issue comes from, libtool or ld. Here are the
versions I have:
libtool-1.5.22-7.el5_4
binutils-2.17.50.0.6-14.el5
Thanks,
Laurent
> +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
> @@ -4068,6 +4073,7 @@ else
> echo "AUTOCONF_HOST := " >> $config_host_mak
> fi
> echo "LDFLAGS=$LDFLAGS" >> $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
>
> --
> 1.8.2
>
>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [Qemu-devel] [PATCH v3 07/28] build-sys: must link with -fstack-protector,
Laurent Desnogues <=