[virt-tools-list] [PATCH] build: allow building with newer glibc-headers and -O0

Daniel P. Berrange berrange at redhat.com
Fri Jun 8 15:42:39 UTC 2012


On Fri, Jun 08, 2012 at 05:38:32PM +0200, Christophe Fergeau wrote:
> From: Eric Blake <eblake at redhat.com>
> 
> glibc 2.15 (on Fedora 17) coupled with explicit disabling of
> optimization during development dies a painful death:
> 
> In file included from /usr/include/limits.h:27:0,
>                  from /usr/lib/gcc/x86_64-redhat-linux/4.7.0/include/limits.h:169,.
>                  from /usr/lib/gcc/x86_64-redhat-linux/4.7.0/include/syslimits.h:7,
>                  from /usr/lib/gcc/x86_64-redhat-linux/4.7.0/include/limits.h:34,
>                  from util/bitmap.c:26:
> /usr/include/features.h:314:4: error: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Werror=cpp]
> cc1: all warnings being treated as errors
> 
> Work around this by only conditionally defining _FORTIFY_SOURCE,
> in the case where glibc can actually use it.  The trick is using
> AH_VERBATIM instead of AC_DEFINE.
> 
> * m4/libosinfo-compile-warnings.m4 (LIBVIRT_COMPILE_WARNINGS): Squelch
> _FORTIFY_SOURCE when needed to avoid glibc #warnings.


s/LIBVIRT/LIBOSINFO/

> ---
>  m4/libosinfo-compile-warnings.m4 |    9 +++++++--
>  1 file changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/m4/libosinfo-compile-warnings.m4 b/m4/libosinfo-compile-warnings.m4
> index 60152f0..508ff80 100644
> --- a/m4/libosinfo-compile-warnings.m4
> +++ b/m4/libosinfo-compile-warnings.m4
> @@ -86,8 +86,13 @@ AC_DEFUN([LIBOSINFO_COMPILE_WARNINGS],[
>      gl_WARN_ADD([-Wframe-larger-than=4096])
>  
>      # Use improved glibc headers
> -    AC_DEFINE([_FORTIFY_SOURCE], [2],
> -      [enable compile-time and run-time bounds-checking, and some warnings])
> +    AH_VERBATIM([FORTIFY_SOURCE],
> +    [/* Enable compile-time and run-time bounds-checking, and some warnings,
> +        without upsetting newer glibc. */
> +     #if defined __OPTIMIZE__ && __OPTIMIZE__
> +     # define _FORTIFY_SOURCE 2
> +     #endif
> +    ])
>  
>      # Extra special flags
>      dnl -fstack-protector stuff passes gl_WARN_ADD with gcc

ACK with the typo fix

Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|




More information about the virt-tools-list mailing list