This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: i686-pc-cygwin crash gcc-4.0 branch


Brian Dessent wrote:

> > /home/sherlock/gcc/o/gcc/xgcc -B/home/sherlock/gcc/o/gcc/
> > -B/usr/local/i686-pc-c
> > ygwin/bin/ -B/usr/local/i686-pc-cygwin/lib/ -isystem
> > /usr/local/i686-pc-cygwin/i
> > nclude -isystem /usr/local/i686-pc-cygwin/sys-include -DHAVE_CONFIG_H
> > -I. -I../.
> > ./../../gcc-4_0-branch/libstdc++-v3/libmath -I.. -O2 -g -O2 -c
> > ../../../../gcc-4
> > _0-branch/libstdc++-v3/libmath/signbit.c -o signbit.o
> > In file included from
> > ../../../../gcc-4_0-branch/libstdc++-v3/libmath/signbit.c:
> > 32:
> > ../../../../gcc-4_0-branch/libstdc++-v3/libmath/mathconf.h:167: error:
> > conflicti
> > ng types for 'ieee_double_shape_type'
>
> It looks like what is happening is BYTE_ORDER isn't getting defined
> correctly.  This is supposed to be taken care of by the sys/param.h
> header of the target, which Cygwin does provide correctly.  It looks
> like for some reason gcc isn't picking this up in your case.  Are you
> doing a native or a cross?  What configure options are you using?

This is caused by this change:
<http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/include/endian.h.diff?r1=1.3&r2=1.4&cvsroot=src&f=h>. 
This modified include/endian.h to only conditionally define BYTE_ORDER
etc. if __USE_BSD is defined, whereas before in newlib's
machine/endian.h
<http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/newlib/libc/include/machine/endian.h?rev=1.2&content-type=text/x-cvsweb-markup&cvsroot=src>
they were defined unconditionally.

Thus if you build gcc with the 1.5.18 version of cygwin and its headers
you don't run into this, but if you try to use a snapshot that contains
this change you get the above error.

Brian


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]