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

O. Hartmann ohartman at zedat.fu-berlin.de
Wed Apr 24 18:12:05 UTC 2013


On Tue, 2013-04-23 at 21:03 +0200, Dimitry Andric wrote:
> On Apr 17, 2013, at 21:16, Jung-uk Kim <jkim at FreeBSD.org> wrote:
> > 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.
> 
> After some more investigation, I submitted LLVM PR 15830, with a test
> case reduced from our regcomp.c.  It got diagnosed and fixed pretty
> quickly, and I have pulled in the fix in r249817.  Please verify it, by
> rebuilding libc with your original -O3 settings; the sed commands listed
> above should now work correctly.

Both the ports devel/libiconv and graphics/jasper do not show the
reported error anymore after this patch!

Thanks for helping fixing this that fast!

With regards,
Oliver
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: This is a digitally signed message part
URL: <http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20130424/26a0df41/attachment.sig>


More information about the freebsd-ports mailing list