Date: 10 Dec 2003 20:46:42 -0000 From: Andreas Hauser <andy-freebsd@splashground.de> To: Damian Gerow <dgerow@afflictions.org> Cc: current@freebsd.org Subject: Re: buildworld doesn't like -O2 Message-ID: <20031210204642.27989.qmail@paladin.fortunaty.net> In-Reply-To: <20031210061329.GD13539@afflictions.org> References: <mailman.1071028801.33452.fcurrent-l@lists.sentex.ca>,<20031210061329.GD13539@afflictions.org>
next in thread | previous in thread | raw e-mail | index | archive | help
dgerow wrote @ Wed, 10 Dec 2003 01:13:29 -0500: > Thus spake Steve Kargl (sgk@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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20031210204642.27989.qmail>