Hello all,
I was trying to build GCC 7.1.0 on OpenSuse 42.1 when it encountered
an internal error. The error is thrown, for lack of a better word, in
both 4.x and 6.x.
I would have submitted a bug report on the GCC bug tracker except for
the fact that I don't have all the information needed, so thought I
should report it here. What I don't have is the options given when GCC
was configured/built (for the system host compiler) and the
preprocessed file (*.i*) that triggers the bug. I'll give the rest
here, though.
The exact version of GCC that triggered the internal error was both
version gcc (SUSE Linux) 4.8.5 and gcc-6 (SUSE Linux) 6.2.1 20160826
[gcc-6-branch revision 239773].
The system type is a Linode VPS. Kernel and node names are Linux,
kernel release is 4.9.15-x86_64-linode81, kernel version is #1 SMP Fri
Mar 17 09:47:36 EDT 2017, and machine, processor, and hardware
platform are all x86_64.
>From what I can gather, the exact command that triggered the error was:
/home/ethin/gccbuild/./gcc/xgcc -B/home/ethin/gccbuild/./gcc/
-B/usr/local/x86_64-pc-linux-gnu/bin/
-B/usr/local/x86_64-pc-linux-gnu/lib/ -isystem
/usr/local/x86_64-pc-linux-gnu/include -isystem
/usr/local/x86_64-pc-linux-gnu/sys-include -g0 -fcompare-debug= -g
-O2 -O2 -g -O2 -DIN_GCC -fPIC -W -Wall -Wno-narrowing
-Wwrite-strings -Wcast-qual -Wno-format -Wstrict-prototypes
-Wmissing-prototypes -Wold-style-definition -isystem ./include
-fpic -mlong-double-80 -DUSE_ELF_SYMVER -g -DIN_LIBGCC2
-fbuilding-libgcc -fno-stack-protector -fpic -mlong-double-80
-DUSE_ELF_SYMVER -I. -I. -I../.././gcc -I../../../gcc-7.1.0/libgcc
-I../../../gcc-7.1.0/libgcc/. -I../../../gcc-7.1.0/libgcc/../gcc
-I../../../gcc-7.1.0/libgcc/../include
-I../../../gcc-7.1.0/libgcc/config/libbid -DENABLE_DECIMAL_BID_FORMAT
-DHAVE_CC_TLS -DUSE_TLS -o _addQQ.o -MT _addQQ.o -MD -MP -MF
_addQQ.dep -DL_add -DQQ_MODE -c ../../../gcc-7.1.0/libgcc/fixed-bit.c
-fvisibility=hidden -DHIDE_EXPORTS
I configured the GCC 7.1.0 package with the command (from the
$HOME/gccbuild directory):
../gcc-7.1.0/configure --enable-host-shared --enable-multiarch
--enable-vtable-verify --disable-multilib --enable-threads
--enable-tls --enable-__cxa_atexit --enable-gnu-indirect-function
--enable-comdat --enable-initfini-array --enable-bootstrap
--enable-languages=ada,brig,c,c++,fortran,go,jit,lto,objc,obj-c++
--enable-libada --enable-libsanitizer --enable-libssp
--enable-libquadmath --enable-libquadmath-support --enable-libgomp
--enable-libvtv --enable-default-pie --enable-default-ssp --enable-cld
--enable-checking=all --disable-nls --enable-fixed-point
--with-long-double-128 --enable-linker-build-id
--enable-gnu-unique-object --enable-lto
--enable-canonical-system-headers --enable-objc-gc
--enable-liboffloadmic=target
--with-build-config="bootstrap-debug-lean bootstrap-debug-lib
bootstrap-debug-ckovw" --quiet CC=gcc-6 CXX=g++-6 CC_FOR_TARGET=gcc-6
CXX_FOR_TARGET=g++-6 GCC_FOR_TARGET=gcc-6
GFORTRAN_FOR_TARGET=gfortran-6
The command I used to configure GCC without the GCC 6.x installation
(so it used 4.8.5, the default) was:
../gcc-7.1.0/configure --enable-host-shared --enable-multiarch
--enable-vtable-verify --disable-multilib --enable-threads
--enable-tls --enable-__cxa_atexit --enable-gnu-indirect-function
--enable-comdat --enable-initfini-array --enable-bootstrap
--enable-languages=ada,brig,c,c++,fortran,go,jit,lto,objc,obj-c++
--enable-libada --enable-libsanitizer --enable-libssp
--enable-libquadmath --enable-libquadmath-support --enable-libgomp
--enable-libvtv --enable-default-pie --enable-default-ssp --enable-cld
--enable-checking=all --disable-nls --enable-fixed-point
--with-long-double-128 --enable-linker-build-id
--enable-gnu-unique-object --enable-lto
--enable-canonical-system-headers --enable-objc-gc
--enable-liboffloadmic=target
--with-build-config="bootstrap-debug-lean bootstrap-debug-lib
bootstrap-debug-ckovw" --quiet
The exact output of the command was as follows:
In file included from ../../../gcc-7.1.0/libgcc/fixed-bit.c:55:0:
../../../gcc-7.1.0/libgcc/fixed-bit.h:64:1: error: unable to emulate 'QQ'
typedef _Fract QQtype __attribute__ ((mode (QQ)));
^~~
../../../gcc-7.1.0/libgcc/fixed-bit.h:65:1: error: unable to emulate 'UQQ'
typedef unsigned _Fract UQQtype __attribute__ ((mode (UQQ)));
^~~
../../../gcc-7.1.0/libgcc/fixed-bit.h:66:1: error: unable to emulate 'HQ'
typedef _Fract HQtype __attribute__ ((mode (HQ)));
^~~
../../../gcc-7.1.0/libgcc/fixed-bit.h:67:1: error: unable to emulate 'UHQ'
typedef unsigned _Fract UHQtype __attribute__ ((mode (UHQ)));
^~~
../../../gcc-7.1.0/libgcc/fixed-bit.h:68:1: error: unable to emulate 'HA'
typedef _Fract HAtype __attribute__ ((mode (HA)));
^~~
../../../gcc-7.1.0/libgcc/fixed-bit.h:69:1: error: unable to emulate 'UHA'
typedef unsigned _Fract UHAtype __attribute__ ((mode (UHA)));
^~~
../../../gcc-7.1.0/libgcc/fixed-bit.h:84:1: error: unable to emulate 'SQ'
typedef _Fra