Re: buildworld doesn't like -O2

From: Andreas Hauser <andy-freebsd_at_splashground.de>
Date: 10 Dec 2003 20:46:42 -0000
dgerow wrote _at_ Wed, 10 Dec 2003 01:13:29 -0500:
> Thus spake Steve Kargl (sgk_at_troutmask.apl.washington.edu) [09/12/03 22:59]:
> : -j# obfuscates where the actual error occurs unless you have
> : enough make-fu to read the log.  The first step one should
> : take when this type of error happens is a plain "make buildworld".
> : The next step is run cvsup again to see if the problem has
> : been fixed.  Then, report the error to freebsd-current.
> 
> Okay, after some playing around, it turns out that something in the PAM code
> really doesn't like -O2 optimization -- I have CFLAGS=-O2 -pipe, and this is
> what I see:
> 
>     ===> lib/libpam/modules/pam_echo
>     cc -O2 -pipe -march=pentiumpro \
>     -I/usr/src/lib/libpam/modules/pam_echo/../../../../contrib/openpam/include \
>     -I/usr/src/lib/libpam/modules/pam_echo/../../libpam -Wsystem-headers \
>     -Werror -Wall -Wno-format-y2k -W -Wstrict-prototypes \
>     -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual \
>     -Wwrite-strings -Wswitch -Wshadow -Wcast-align -Wno-uninitialized  -c \
>     /usr/src/lib/libpam/modules/pam_echo/pam_echo.c \
>     /usr/src/lib/libpam/modules/pam_echo/pam_echo.c: In function `_pam_echo':
>     /usr/src/lib/libpam/modules/pam_echo/pam_echo.c:92: warning:
>     dereferencing type-punned pointer will break strict-aliasing rules
>     *** Error code 1

The code seems to violate strict aliasing rules.
Somehow gcc only warns when optimizing.
There is a qr about it
http://www.freebsd.org/cgi/query-pr.cgi?pr=55774
but it was closed by DES saying "Not a problem report".
I don't understand why, but i want my system compiled -Os,
so I have a local patch that uses some more variables and casts.
Andreas Jäger also produced a patch for GNU libc using unions:
http://sources.redhat.com/ml/libc-hacker/2002-12/msg00071.html


Andy
Received on Wed Dec 10 2003 - 11:46:46 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:33 UTC