From cc7cd6232ebfbf1a0e4edd51d9f5ca43a73eda10 Mon Sep 17 00:00:00 2001 From: Roman Bogorodskiy Date: Wed, 15 May 2013 19:41:49 +0400 Subject: [PATCH] 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. --- m4/virt-compile-warnings.m4 | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/m4/virt-compile-warnings.m4 b/m4/virt-compile-warnings.m4 index dc0e7d7e8c..ce4e244920 100644 --- a/m4/virt-compile-warnings.m4 +++ b/m4/virt-compile-warnings.m4 @@ -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])