<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
  <META NAME="GENERATOR" CONTENT="GtkHTML/3.26.0">
</HEAD>
<BODY>
On Mon, 2010-02-22 at 14:48 -0800, Jeremy Huddleston wrote:
<BLOCKQUOTE TYPE=CITE>
<PRE>
Thanks Gaetan.  This review goes similarly to the other affected  
modules you've mentioned as long as they all match this same pattern.

I also reviewed the xserver changes.  It would be nice to move those  
to Makefile.am as well, but that's a bit more trouble than it may be  
worth.

</PRE>
</BLOCKQUOTE>
It would be nice indeed, but due to the volume (about 70 makefiles), it was classified<BR>
as &quot;additional opportunities&quot; to be done after the &quot;transfer&quot;. Just need to draw the line somewhere.<BR>
I think it would be useful.<BR>
<BR>
In the util-macros patch, you will find a list of modules that do not need -fno-strict-aliasing option to be added.<BR>
<BR>
Thanks<BR>
<BR>
<BLOCKQUOTE TYPE=CITE>
<PRE>
Reviewed-by: Jeremy Huddleston &lt;<A HREF="mailto:jeremyhu@apple.com">jeremyhu@apple.com</A>&gt;

On Feb 22, 2010, at 14:03, Gaetan Nadon wrote:

&gt; This patch will ensure the modules continues to suppress the
&gt; optimization, based on strict aliasing rules, after the option
&gt; is removed from $CWARNFLAGS. There is no change in the object
&gt; code produced.
&gt;
&gt; There is no attempt to determine if the module should or should not
&gt; have such an optimization. A new warning (-Wstrict-aliasing=2)
&gt; has been added to the XORG_CWARNFLAGS macro to help  find code
&gt; that may interfere with optimization.
&gt; ---
&gt; configure.ac         |    7 +++++++
&gt; src/Makefile.am      |   11 +++++++++--
&gt; src/xvmc/Makefile.am |   12 ++++++++++--
&gt; uxa/Makefile.am      |    6 +++++-
&gt; 4 files changed, 31 insertions(+), 5 deletions(-)
&gt;
&gt; diff --git a/configure.ac b/configure.ac
&gt; index 87cbe55..687dcf7 100644
&gt; --- a/configure.ac
&gt; +++ b/configure.ac
&gt; @@ -40,6 +40,13 @@ m4_ifndef([XORG_MACROS_VERSION],
&gt; XORG_MACROS_VERSION(1.3)
&gt; XORG_DEFAULT_OPTIONS
&gt;
&gt; +# Suppress optimization based on strict aliasing rules
&gt; +ALIASING_CFLAGS=
&gt; +if test &quot;x$GCC&quot; = xyes; then
&gt; +    ALIASING_CFLAGS=-fno-strict-aliasing
&gt; +fi
&gt; +AC_SUBST([ALIASING_CFLAGS])
&gt; +
&gt; # Checks for programs.
&gt; AC_DISABLE_STATIC
&gt; AC_PROG_LIBTOOL
&gt; diff --git a/src/Makefile.am b/src/Makefile.am
&gt; index b4bafbd..b84feff 100644
&gt; --- a/src/Makefile.am
&gt; +++ b/src/Makefile.am
&gt; @@ -26,8 +26,15 @@ SUBDIRS = xvmc render_program
&gt; # _ladir passes a dummy rpath to libtool so the thing will actually  
&gt; link
&gt; # TODO: -nostdlib/-Bstatic/-lgcc platform magic, not installing  
&gt; the .a, etc.
&gt;
&gt; -AM_CFLAGS = @CWARNFLAGS@ @XORG_CFLAGS@ @DRM_CFLAGS@ @DRI_CFLAGS@ \
&gt; -        @PCIACCESS_CFLAGS@ -I$(top_srcdir)/uxa -I$(top_srcdir)/src/ 
&gt; render_program
&gt; +AM_CFLAGS = \
&gt; +        $(CWARNFLAGS) \
&gt; +        $(ALIASING_CFLAGS) \
&gt; +        $(XORG_CFLAGS) \
&gt; +        $(DRM_CFLAGS) \
&gt; +        $(DRI_CFLAGS) \
&gt; +        $(PCIACCESS_CFLAGS) \
&gt; +        -I$(top_srcdir)/uxa \
&gt; +        -I$(top_srcdir)/src/render_program
&gt;
&gt; intel_drv_la_LTLIBRARIES = intel_drv.la
&gt; intel_drv_la_LDFLAGS = -module -avoid-version
&gt; diff --git a/src/xvmc/Makefile.am b/src/xvmc/Makefile.am
&gt; index be8824b..815eda8 100644
&gt; --- a/src/xvmc/Makefile.am
&gt; +++ b/src/xvmc/Makefile.am
&gt; @@ -7,8 +7,16 @@ SUBDIRS = shader
&gt; libI810XvMC_la_SOURCES = I810XvMC.c \
&gt;                          I810XvMC.h
&gt;
&gt; -libI810XvMC_la_CFLAGS = @CWARNFLAGS@ @XORG_CFLAGS@ @DRM_CFLAGS@  
&gt; @DRI_CFLAGS@ \
&gt; -        -I$(top_srcdir)/src -DTRUE=1 -DFALSE=0
&gt; +libI810XvMC_la_CFLAGS = \
&gt; +        $(CWARNFLAGS) \
&gt; +        $(ALIASING_CFLAGS) \
&gt; +        $(XORG_CFLAGS) \
&gt; +        $(DRM_CFLAGS) \
&gt; +        $(DRI_CFLAGS) \
&gt; +        -I$(top_srcdir)/src \
&gt; +        -DTRUE=1 \
&gt; +        -DFALSE=0
&gt; +
&gt; libI810XvMC_la_LDFLAGS = -version-number 1:0:0
&gt; libI810XvMC_la_LIBADD = @DRI_LIBS@ @DRM_LIBS@ @XVMCLIB_LIBS@
&gt;
&gt; diff --git a/uxa/Makefile.am b/uxa/Makefile.am
&gt; index 0dfad48..3658b9a 100644
&gt; --- a/uxa/Makefile.am
&gt; +++ b/uxa/Makefile.am
&gt; @@ -7,7 +7,11 @@ SOLARIS_ASM_CFLAGS=&quot;&quot;
&gt; INCLUDES = \
&gt;         $(XORG_INCS)
&gt;
&gt; -AM_CFLAGS = $(CWARNFLAGS) $(XORG_CFLAGS) $(DIX_CFLAGS)
&gt; +AM_CFLAGS = \
&gt; +        $(CWARNFLAGS) \
&gt; +        $(ALIASING_CFLAGS) \
&gt; +        $(XORG_CFLAGS) \
&gt; +        $(DIX_CFLAGS)
&gt;
&gt; libuxa_la_SOURCES = \
&gt;         uxa.c \
&gt; -- 
&gt; 1.6.0.4
&gt;
&gt; _______________________________________________
&gt; xorg-devel mailing list
&gt; <A HREF="mailto:xorg-devel@lists.x.org">xorg-devel@lists.x.org</A>
&gt; <A HREF="http://lists.x.org/mailman/listinfo/xorg-devel">http://lists.x.org/mailman/listinfo/xorg-devel</A>

</PRE>
</BLOCKQUOTE>
</BODY>
</HTML>