On 07/30/2017 05:08 AM, Ethin Probst wrote: > 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. >
Hello. I can take a look, but please create a bug issue and try to isolate *.i* files by adding -E to the GCC invocation that causes the problem. Thanks, Martin