This is the mail archive of the gcc-patches@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: [PATCH] introduce __FLOAT_WORD_ORDER__ in lieu of LIBGCC2_FLOAT_WORDS_BIG_ENDIAN


On Mon, 2010-11-22 at 08:26 -0800, Richard Henderson wrote:
> On 11/22/2010 05:05 AM, Nathan Froyd wrote:
> > Just as $SUBJECT suggests.  The only target where this could possibly
> > matter is ARM, since it has a non-trivial implementation of
> > FLOAT_WORDS_BIG_ENDIAN.  However, as discussed in:
> > 
> >   http://gcc.gnu.org/ml/gcc/2010-11/msg00393.html
> > 
> > the ARM ABI doesn't implement decimal floats (so ARM is not affected by
> > the libdecnumber/libbid changes) and contains its own custom FP
> > functions, so any FP-related changes don't matter either.
> > 
> > Tested on x86_64-unknown-linux-gnu.  OK to commit?
> > 
> > -Nathan
> > 
> > gcc/
> >     	* cppbuiltin.c (define_builtin_macros_for_type_sizes): Define
> >     	__FLOAT_WORD_ORDER__ according to FLOAT_WORDS_BIG_ENDIAN.
> >     	* config/dfp-bit.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Delete.
> >     	* doc/cpp.texi (__FLOAT_WORD_ORDER__): Document.
> >     	* system.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Poison.
> >     
> > libgcc/
> >     	* config/libbid/bid_conf.h (BID_BIG_ENDIAN): Define in terms of
> >     	__FLOAT_WORD_ORDER__.
> >     	* config/libbid/bid_gcc_intrinsics.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN):
> >     	Delete.
> >     
> > libdecnumber/
> >     	* dconfig.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Delete.
> >     	(WORDS_BIG_ENDIAN): Define based on value of __FLOAT_WORD_ORDER__.
> 
> Ok.

Hi,

The cppbuiltin.c change likely broke arm bootstrap, the following
appeared between rev 167107 and 167167 on my autotester:

/home/guerby/build-37/./prev-gcc/xgcc -B/home/guerby/build-37/./prev-gcc/ -B/n/37/guerby/install-trunk-37-167167/armv7l-unknown-linux-gnueabi/bin/ -B/n/37/guerby/install-trunk-37-167167/armv7l-unknown-linux-gnueabi/bin/ -B/n/37/guerb\
y/install-trunk-37-167167/armv7l-unknown-linux-gnueabi/lib/ -isystem /n/37/guerby/install-trunk-37-167167/armv7l-unknown-linux-gnueabi/include -isystem /n/37/guerby/install-trunk-37-167167/armv7l-unknown-linux-gnueabi/sys-include    \
  -g -O2 -gtoggle -DIN_GCC   -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -Wold-style-definitio\
n -Wc++-compat -fno-common  -DHAVE_CONFIG_H -I. -I. -I../../trunk/gcc -I../../trunk/gcc/. -I../../trunk/gcc/../include -I../../trunk/gcc/../libcpp/include -I/opt/cfarm/gmp-4.2.4/include -I/opt/cfarm/mpfr-2.4.2/include -I/opt/cfarm/mp\
c-0.8/include  -I../../trunk/gcc/../libdecnumber -I../../trunk/gcc/../libdecnumber/dpd -I../libdecnumber    \
          -DGCC_INCLUDE_DIR=\"/n/37/guerby/install-trunk-37-167167/lib/gcc/armv7l-unknown-linux-gnueabi/4.6.0/include\" -DFIXED_INCLUDE_DIR=\"/n/37/guerby/install-trunk-37-167167/lib/gcc/armv7l-unknown-linux-gnueabi/4.6.0/include-fix\
ed\" -DGPLUSPLUS_INCLUDE_DIR=\"/n/37/guerby/install-trunk-37-167167/lib/gcc/armv7l-unknown-linux-gnueabi/4.6.0/../../../../include/c++/4.6.0\" -DGPLUSPLUS_TOOL_INCLUDE_DIR=\"/n/37/guerby/install-trunk-37-167167/lib/gcc/armv7l-unknown\
-linux-gnueabi/4.6.0/../../../../include/c++/4.6.0/armv7l-unknown-linux-gnueabi\" -DGPLUSPLUS_BACKWARD_INCLUDE_DIR=\"/n/37/guerby/install-trunk-37-167167/lib/gcc/armv7l-unknown-linux-gnueabi/4.6.0/../../../../include/c++/4.6.0/backwa\
rd\" -DLOCAL_INCLUDE_DIR=\"/usr/local/include\" -DCROSS_INCLUDE_DIR=\"/n/37/guerby/install-trunk-37-167167/lib/gcc/armv7l-unknown-linux-gnueabi/4.6.0/../../../../armv7l-unknown-linux-gnueabi/sys-include\" -DTOOL_INCLUDE_DIR=\"/n/37/g\
uerby/install-trunk-37-167167/lib/gcc/armv7l-unknown-linux-gnueabi/4.6.0/../../../../armv7l-unknown-linux-gnueabi/include\" -DPREFIX=\"/n/37/guerby/install-trunk-37-167167/\" -DSTANDARD_EXEC_PREFIX=\"/n/37/guerby/install-trunk-37-167\
167/lib/gcc/\"  -DBASEVER="\"4.6.0\"" \
          -c ../../trunk/gcc/cppbuiltin.c -o cppbuiltin.o
../../trunk/gcc/cppbuiltin.c: In function 'define_builtin_macros_for_type_sizes':
../../trunk/gcc/cppbuiltin.c:161:25: error: implicit declaration of function 'arm_float_words_big_endian' [-Werror=implicit-function-declaration]
cc1: all warnings being treated as errors
make[3]: *** [cppbuiltin.o] Error 1
make[3]: Leaving directory `/home/guerby/build-37/gcc'
make[2]: *** [all-stage2-gcc] Error 2
make[2]: Leaving directory `/home/guerby/build-37'
make[1]: *** [stage2-bubble] Error 2
make[1]: Leaving directory `/home/guerby/build-37'
make: *** [bootstrap] Error 2

This reminds me of:

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44458

Which was about a missing include "tm_p.h".

May be there's a better way to fix this once and for all 
rather than adding another missing include?

Sincerely,

Laurent




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