https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127546
Bug ID: 127546
Summary: Unable to bootstrap gcc with
--target=aarch64-w64-mingw32
Product: gcc
Version: 16.2.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: bootstrap
Assignee: unassigned at gcc dot gnu.org
Reporter: azoff at gcc dot gnu.org
Target Milestone: ---
I'm trying to build a cross toolchain that will run on linux and produce
Windows on ARM64 binaries.
$ /tmp/aarch64-mingw-toolchain/src/gcc-16.2.0/configure
--prefix=/opt/aarch64-w64-mingw32 --target=aarch64-w64-mingw32
--with-sysroot=/opt/aarch64-w64-mingw32/aarch64-w64-mingw32
--with-native-system-header-dir=/include --with-arch=armv8-a
--enable-languages=c,c++ --enable-threads=win32 --disable-bootstrap
--disable-multilib --disable-nls --disable-shared --disable-libatomic
--disable-libgomp --disable-libquadmath --disable-libsanitizer --disable-libssp
--without-headers --with-system-zlib
....
/tmp/aarch64-mingw-toolchain/build/gcc-stage1/./gcc/xgcc
-B/tmp/aarch64-mingw-toolchain/build/gcc-stage1/./gcc/
-L/opt/aarch64-w64-mingw32/aarch64-w64-mingw32/lib
-L/opt/aarch64-w64-mingw32/mingw/lib -isystem
/opt/aarch64-w64-mingw32/aarch64-w64-mingw32/include -isystem
/opt/aarch64-w64-mingw32/mingw/include
-B/opt/aarch64-w64-mingw32/aarch64-w64-mingw32/bin/
-B/opt/aarch64-w64-mingw32/aarch64-w64-mingw32/lib/ -isystem
/opt/aarch64-w64-mingw32/aarch64-w64-mingw32/include -isystem
/opt/aarch64-w64-mingw32/aarch64-w64-mingw32/sys-include -g -O2 -O2 -g -O2
-DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -W -Wall -Wno-error=narrowing
-Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes
-Wold-style-definition -isystem ./include -g -DIN_LIBGCC2 -fbuilding-libgcc
-fno-stack-protector -Werror -Wno-prio-ctor-dtor -Wno-error=attributes -I.
-I. -I../.././gcc -I/tmp/aarch64-mingw-toolchain/src/gcc-16.2.0/libgcc
-I/tmp/aarch64-mingw-toolchain/src/gcc-16.2.0/libgcc/.
-I/tmp/aarch64-mingw-toolchain/src/gcc-16.2.0/libgcc/../gcc
-I/tmp/aarch64-mingw-toolchain/src/gcc-16.2.0/libgcc/../include
-I/tmp/aarch64-mingw-toolchain/src/gcc-16.2.0/libgcc/config/aarch64
-I/tmp/aarch64-mingw-toolchain/src/gcc-16.2.0/libgcc/config/libbid
-DENABLE_DECIMAL_BID_FORMAT -DHAVE_CC_TLS -DUSE_EMUTLS -o bid_binarydecimal.o
-MT bid_binarydecimal.o -MD -MP -MF bid_binarydecimal.dep -c
/tmp/aarch64-mingw-toolchain/src/gcc-16.2.0/libgcc/config/libbid/bid_binarydecimal.c
/tmp/aarch64-mingw-toolchain/src/gcc-16.2.0/libgcc/config/libbid/bid_binarydecimal.c:
In function '__binary80_to_bid32':
/tmp/aarch64-mingw-toolchain/src/gcc-16.2.0/libgcc/config/libbid/bid_binarydecimal.c:420:13:
error: 'x_in.i.hi' is used uninitialized [-Werror=uninitialized]
420 | e = x_in.i.hi;
\
| ~~~~~~^~~
/tmp/aarch64-mingw-toolchain/src/gcc-16.2.0/libgcc/config/libbid/bid_binarydecimal.c:145793:3:
note: in expansion of macro 'unpack_binary80'
145793 | unpack_binary80 (x, s, e, c.w[0], t, return_bid32_zero (s),
| ^~~~~~~~~~~~~~~
/tmp/aarch64-mingw-toolchain/src/gcc-16.2.0/libgcc/config/libbid/bid_binarydecimal.c:416:23:
note: 'x_in' declared here
416 | { BID_BINARY80LDOUBLE x_in;
\
| ^~~~
/tmp/aarch64-mingw-toolchain/src/gcc-16.2.0/libgcc/config/libbid/bid_binarydecimal.c:145793:3:
note: in expansion of macro 'unpack_binary80'
145793 | unpack_binary80 (x, s, e, c.w[0], t, return_bid32_zero (s),
| ^~~~~~~~~~~~~~~
/tmp/aarch64-mingw-toolchain/src/gcc-16.2.0/libgcc/config/libbid/bid_binarydecimal.c:
In function '__binary80_to_bid64':
/tmp/aarch64-mingw-toolchain/src/gcc-16.2.0/libgcc/config/libbid/bid_binarydecimal.c:420:13:
error: 'x_in.i.hi' is used uninitialized [-Werror=uninitialized]
420 | e = x_in.i.hi;
\
| ~~~~~~^~~
/tmp/aarch64-mingw-toolchain/src/gcc-16.2.0/libgcc/config/libbid/bid_binarydecimal.c:146423:3:
note: in expansion of macro 'unpack_binary80'
146423 | unpack_binary80 (x, s, e, c.w[1], t, return_bid64_zero (s),
| ^~~~~~~~~~~~~~~
/tmp/aarch64-mingw-toolchain/src/gcc-16.2.0/libgcc/config/libbid/bid_binarydecimal.c:416:23:
note: 'x_in' declared here
416 | { BID_BINARY80LDOUBLE x_in;
\
| ^~~~
/tmp/aarch64-mingw-toolchain/src/gcc-16.2.0/libgcc/config/libbid/bid_binarydecimal.c:146423:3:
note: in expansion of macro 'unpack_binary80'
146423 | unpack_binary80 (x, s, e, c.w[1], t, return_bid64_zero (s),
| ^~~~~~~~~~~~~~~
/tmp/aarch64-mingw-toolchain/src/gcc-16.2.0/libgcc/config/libbid/bid_binarydecimal.c:
In function '__binary80_to_bid128':
/tmp/aarch64-mingw-toolchain/src/gcc-16.2.0/libgcc/config/libbid/bid_binarydecimal.c:420:13:
error: 'x_in.i.hi' is used uninitialized [-Werror=uninitialized]
420 | e = x_in.i.hi;
\
| ~~~~~~^~~
/tmp/aarch64-mingw-toolchain/src/gcc-16.2.0/libgcc/config/libbid/bid_binarydecimal.c:147081:3:
note: in expansion of macro 'unpack_binary80'
147081 | unpack_binary80 (x, s, e, c.w[1], t, return_bid128_zero (s),
| ^~~~~~~~~~~~~~~
/tmp/aarch64-mingw-toolchain/src/gcc-16.2.0/libgcc/config/libbid/bid_binarydecimal.c:416:23:
note: 'x_in' declared here
416 | { BID_BINARY80LDOUBLE x_in;
\
| ^~~~
/tmp/aarch64-mingw-toolchain/src/gcc-16.2.0/libgcc/config/libbid/bid_binarydecimal.c:147081:3:
note: in expansion of macro 'unpack_binary80'
147081 | unpack_binary80 (x, s, e, c.w[1], t, return_bid128_zero (s),
| ^~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[1]: *** [bid_binarydecimal.o] Error 1
make: *** [all-target-libgcc] Error 2
I've not tried a more recent snapshot, but since
libgcc/config/libbid/bid_binarydecimal.c has not been touched after
releases/gcc-16.1.0, I assume that the problem also exist on trunk.
These are the sources used to get the above error:
https://ftp.gnu.org/gnu/binutils/binutils-2.47.tar.xz
https://ftp.gnu.org/gnu/gcc/gcc-16.2.0/gcc-16.2.0.tar.xz
https://downloads.sourceforge.net/project/mingw-w64/mingw-w64/mingw-w64-release/mingw-w64-v14.0.0.tar.bz2