From: Roman Bogorodskiy Date: Wed, 15 May 2013 15:41:49 +0000 (+0400) Subject: FreeBSD: disable buggy -fstack-protector-all X-Git-Tag: v1.0.5.5~16 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f3b9bb7d4ef91f0d3e130bb11fce7bd61b29ceb2;p=thirdparty%2Flibvirt.git 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. (cherry picked from commit cc7cd6232ebfbf1a0e4edd51d9f5ca43a73eda10) --- diff --git a/m4/virt-compile-warnings.m4 b/m4/virt-compile-warnings.m4 index e05491308c..3872310caa 100644 --- a/m4/virt-compile-warnings.m4 +++ b/m4/virt-compile-warnings.m4 @@ -183,6 +183,13 @@ AC_DEFUN([LIBVIRT_COMPILE_WARNINGS],[ gl_WARN_ADD([-fstack-protector-all]) gl_WARN_ADD([--param=ssp-buffer-size=4]) ;; + *-*-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])