I think this is because your environment variables are interfering with
the build system. Why are you trying to set CFLAGS and CXXFLAGS?
Also, note that in GCC-9 setting -mfpu on the command line should
no-longer be necessary (the -mfpu option now defaults to -mfpu=auto).
The floating-point options can now be derived from the CPU or
architecture specification - see the manual for details. You probably
want to change your configure options to:
../gcc-9.1.0/configure \
--libdir=/usr/lib \
--enable-shared \
--enable-threads=posix \
--enable-__cxa_atexit \
--enable-c99 \
--enable-long-long \
--enable-clocale=gnu \
--enable-languages=c,c++ \
--disable-multilib \
--disable-libstdcxx-pch \
--enable-cloog-backend=isl \
--with-isl=/usr \
--with-system-zlib \
--enable-frame-pointer \
--disable-bootstrap \
--enable-lto \
--with-pkgversion=piCore \
--with-arch=armv6zk+fp \
--with-tune=arm1176jzf-s \
--with-float=hard \
--with-gxx-include-dir=/usr/include/c++/9.1.0
If you do this, and get rid of the environment variables, then the
result after a 3-stage bootstrap should be compatible with your Arm6
based Pi.
R.
Very many thanks, that fixed it.
All this brings back memories of building gcc 30 years ago on DEC
Ultrix, in those days it was a manual 3 stage build, I assume that the
same occurs, just automatically. Thus it make complete sense that the
1st 2 stages stages should specify the current host architecture, and I
had very clearly broken that mechanism.
Tim.