FreeBSD: disable buggy -fstack-protector-all

FreeBSD ships an old gcc 4.2.1 which generates
bogus code, e.g. getsockopt() call returns
struct xucred with bogus values, which doesn't even
allow to connect to libvirtd:

error: Failed to find group record for gid '1284660778': No error: 0

So roll back to just -fstack-protector on FreeBSD.
This commit is contained in:
Roman Bogorodskiy 2013-05-15 19:41:49 +04:00 committed by Eric Blake
parent a2c37618d3
commit cc7cd6232e

View File

@ -191,7 +191,7 @@ AC_DEFUN([LIBVIRT_COMPILE_WARNINGS],[
dnl -fstack-protector stuff passes gl_WARN_ADD with gcc
dnl on Mingw32, but fails when actually used
case $host in
*-*-linux*|*-*-freebsd*)
*-*-linux*)
dnl Fedora only uses -fstack-protector, but doesn't seem to
dnl be great overhead in adding -fstack-protector-all instead
dnl gl_WARN_ADD([-fstack-protector])
@ -205,6 +205,13 @@ AC_DEFUN([LIBVIRT_COMPILE_WARNINGS],[
dnl off the following clang specific warning
gl_WARN_ADD([-Wno-unused-command-line-argument])
;;
*-*-freebsd*)
dnl FreeBSD ships old gcc 4.2.1 which doesn't handle
dnl -fstack-protector-all well
gl_WARN_ADD([-fstack-protector])
gl_WARN_ADD([-Wno-unused-command-line-argument])
;;
esac
gl_WARN_ADD([-fexceptions])
gl_WARN_ADD([-fasynchronous-unwind-tables])