This is the mail archive of the gcc@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]

An internal GCC compiler error when compiling GCC 7.x with GCC 6.x and 4.x


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          _Fract SQtype  __attribute__ ((mode (SQ)));
 ^~~~~~~
../../../gcc-7.1.0/libgcc/fixed-bit.h:85:1: error: unable to emulate 'USQ'
 typedef unsigned _Fract USQtype __attribute__ ((mode (USQ)));
 ^~~~~~~
../../../gcc-7.1.0/libgcc/fixed-bit.h:86:1: error: unable to emulate 'SA'
 typedef          _Fract SAtype  __attribute__ ((mode (SA)));
 ^~~~~~~
../../../gcc-7.1.0/libgcc/fixed-bit.h:87:1: error: unable to emulate 'USA'
 typedef unsigned _Fract USAtype __attribute__ ((mode (USA)));
 ^~~~~~~
../../../gcc-7.1.0/libgcc/fixed-bit.h:98:1: error: unable to emulate 'DQ'
 typedef          _Fract DQtype  __attribute__ ((mode (DQ)));
 ^~~~~~~
../../../gcc-7.1.0/libgcc/fixed-bit.h:99:1: error: unable to emulate 'UDQ'
 typedef unsigned _Fract UDQtype __attribute__ ((mode (UDQ)));
 ^~~~~~~
../../../gcc-7.1.0/libgcc/fixed-bit.h:100:1: error: unable to emulate 'DA'
 typedef          _Fract DAtype  __attribute__ ((mode (DA)));
 ^~~~~~~
../../../gcc-7.1.0/libgcc/fixed-bit.h:101:1: error: unable to emulate 'UDA'
 typedef unsigned _Fract UDAtype __attribute__ ((mode (UDA)));
 ^~~~~~~
../../../gcc-7.1.0/libgcc/fixed-bit.h:112:1: error: unable to emulate 'TQ'
 typedef          _Fract TQtype  __attribute__ ((mode (TQ)));
 ^~~~~~~
../../../gcc-7.1.0/libgcc/fixed-bit.h:113:1: error: unable to emulate 'UTQ'
 typedef unsigned _Fract UTQtype __attribute__ ((mode (UTQ)));
 ^~~~~~~
../../../gcc-7.1.0/libgcc/fixed-bit.h:114:1: error: unable to emulate 'TA'
 typedef          _Fract TAtype  __attribute__ ((mode (TA)));
 ^~~~~~~
../../../gcc-7.1.0/libgcc/fixed-bit.h:115:1: error: unable to emulate 'UTA'
 typedef unsigned _Fract UTAtype __attribute__ ((mode (UTA)));
 ^~~~~~~
../../../gcc-7.1.0/libgcc/fixed-bit.c: In function '__addqq3':
../../../gcc-7.1.0/libgcc/fixed-bit.c:60:1: internal compiler error:
in classify_argument, at config/i386/i386.c:9237
 {
 ^
0x15854a4 classify_argument
        ../../gcc-7.1.0/gcc/config/i386/i386.c:9237
0x1585592 examine_argument
        ../../gcc-7.1.0/gcc/config/i386/i386.c:9261
0x158918f ix86_return_in_memory
        ../../gcc-7.1.0/gcc/config/i386/i386.c:10708
0xc3dee7 aggregate_value_p(tree_node const*, tree_node const*)
        ../../gcc-7.1.0/gcc/function.c:2088
0xc48bfb allocate_struct_function(tree_node*, bool)
        ../../gcc-7.1.0/gcc/function.c:4928
0x83bca1 store_parm_decls()
        ../../gcc-7.1.0/gcc/c/c-decl.c:9173
0x896842 c_parser_declaration_or_fndef
        ../../gcc-7.1.0/gcc/c/c-parser.c:2087
0x8950c6 c_parser_external_declaration
        ../../gcc-7.1.0/gcc/c/c-parser.c:1469
0x894bca c_parser_translation_unit
        ../../gcc-7.1.0/gcc/c/c-parser.c:1349
0x8ca465 c_parse_file()
        ../../gcc-7.1.0/gcc/c/c-parser.c:18176
0x942b81 c_common_parse_file()
        ../../gcc-7.1.0/gcc/c-family/c-opts.c:1107
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
../../../gcc-7.1.0/libgcc/fixed-obj.mk:27: recipe for target '_addQQ.o' failed
make[3]: *** [_addQQ.o] Error 1
make[3]: Leaving directory '/home/ethin/gccbuild/x86_64-pc-linux-gnu/libgcc'
Makefile:23557: recipe for target 'all-stage1-target-libgcc' failed
make[2]: *** [all-stage1-target-libgcc] Error 2
make[2]: Leaving directory '/home/ethin/gccbuild'
Makefile:30069: recipe for target 'stage1-bubble' failed
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory '/home/ethin/gccbuild'
Makefile:942: recipe for target 'all' failed
make: *** [all] Error 2
That is all I have right now, unfortunately. If I find anything else
new that you need I'll inform you about it.


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