CURRENT (r249438): (devel/libiconv)./unistd.h:686:5: error: invalid token at start of a preprocessor expression : #if @GNULIB_EUIDACCESS@

Jung-uk Kim jkim at FreeBSD.org
Wed Apr 17 19:19:13 UTC 2013


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 2013-04-17 06:07:47 -0400, Dimitry Andric wrote:
> On Apr 17, 2013, at 07:31, Jan Beich <jbeich at tormail.org> wrote:
>> Dimitry Andric <dim at FreeBSD.org> writes: On Apr 16, 2013, at
>> 00:42, Jan Beich <jbeich at tormail.org> wrote:
> ...
>>>> Maybe -O3 overoptimizes regex in libc e.g.,
>>>> 
>>>> $ echo '#if @GNULIB_EUIDACCESS@' | sed
>>>> 's/@GNULIB_EUIDACCESS@/0/' #if @GNULIB_EUIDACCESS@
>>>> 
>>>> $ echo 'aaaaaaaaaaaaaaaaxxxaaaa' | sed
>>>> 's/aaaaaaaaaaaaxxxaaaa//' aaaaaaaaaaaaaaaaxxxaaaa
>>> 
>>> How did you arrive at this result?
>> 
>> 1/ chroot into poudriere jail for /head amd64 2/ echo CFLAGS+=-O3
>> >> /etc/make.conf 3/ make -j2 (in /usr/src/lib/libc) 4/ prepend
>> LD_LIBRARY_PATH=. before sed(1) 5/ rebuild regcomp.o, regcomp.So
>> with -O2 to confirm
> 
> I have been able to reproduce this on amd64, with -O3, but not on
> i386. It seems regcomp() is either miscompiled at -O3, or it
> contains some bug triggered only by the vectorizer.  I am still
> investigating.
...

With "-fno-vectorize", this problem doesn't seem to happen.

FYI,

Jung-uk Kim
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (FreeBSD)

iQEcBAEBAgAGBQJRbvUHAAoJECXpabHZMqHOekEIAIml2te9436LzTFsr794y82E
Vmytl95H+vW9Nj0qK5X/DkB/0MSepL5FZqKF5CSNTXFoNJoVFewYRIH/H5oICSpZ
jfS4evF9i2mEDOScTyC/XaucvcVWupLE9Kf7FHEk5YIhDMs4r4nzwMFGkzffEqPK
yLkV/Cpc8xjvi28OuXd1KaPIcX3S8Z9vEmWPyljtseRv9WlC5gT44fSz18hmqYmv
fWSiML4YKKkDRAPOCy/Shpf5QUcygOul7Jz8RiDBx3O4R5goGW8Ee8Napn7UulSL
nAXTHy8dcSbiAqqPKeXhmZGPCotj++P9s3jEvunOxL7lvrdjfy3WtGedcp02ia8=
=jwYS
-----END PGP SIGNATURE-----


More information about the freebsd-ports mailing list