This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] introduce __FLOAT_WORD_ORDER__ in lieu of LIBGCC2_FLOAT_WORDS_BIG_ENDIAN
- From: Laurent GUERBY <laurent at guerby dot net>
- To: Nathan Froyd <froydnj at codesourcery dot com>, Richard Henderson <rth at redhat dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Sat, 27 Nov 2010 21:28:21 +0100
- Subject: Re: [PATCH] introduce __FLOAT_WORD_ORDER__ in lieu of LIBGCC2_FLOAT_WORDS_BIG_ENDIAN
- References: <20101122130551.GA24469@nightcrawler> <4CEA99B4.2000008@redhat.com>
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