On 17 June 2015 at 08:10, Iain Buclaw <ibuc...@gdcproject.org> wrote:
> On 17 Jun 2015 02:50, "Peter Green via D.gnu" <d.gnu@puremagic.com> wrote: > > > > I maintain raspbian, a project to rebuild Debian for the raspberry pi > (and in principle other armv6 devices but the Pi seems to be the only armv6 > device anyone cares about). We try to support as much of Debian as possible > but as effectively a single person project do not have the resources to dig > deeply into problems with minor languages. > > > > In Raspbian jessie and stretch we have successfully built gdc-4.9 from > the gcc-4.9 source package. However the same cannot be said for gcc-5 which > has recented entered stretch. A log of our most recent attempt can be found > at > http://buildd.raspbian.org/status/fetch.php?pkg=gcc-5&arch=armhf&ver=5.1.1-9&stamp=1434096865 > . An extract of potentially interesting lines from said log is bwlo. > > > > tar -x -C /«PKGBUILDDIR»/src --strip-components=1 -f gdc-20150414.tar.xz > > <---snip---> > > /«PKGBUILDDIR»/build/./prev-gcc/xg++ -B/«PKGBUILDDIR»/build/./prev-gcc/ > -B/usr/arm-linux-gnueabihf/bin/ -nostdinc++ > -B/«PKGBUILDDIR»/build/prev-arm-linux-gnueabihf/libstdc++-v3/src/.libs > -B/«PKGBUILDDIR»/build/prev-arm-linux-gnueabihf/libstdc++-v3/libsupc++/.libs > -I/«PKGBUILDDIR»/build/prev-arm-linux-gnueabihf/libstdc++-v3/include/arm-linux-gnueabihf > -I/«PKGBUILDDIR»/build/prev-arm-linux-gnueabihf/libstdc++-v3/include > -I/«PKGBUILDDIR»/src/libstdc++-v3/libsupc++ > -L/«PKGBUILDDIR»/build/prev-arm-linux-gnueabihf/libstdc++-v3/src/.libs > -L/«PKGBUILDDIR»/build/prev-arm-linux-gnueabihf/libstdc++-v3/libsupc++/.libs > -g -O2 -DIN_GCC -fno-exceptions -fno-rtti -fasynchronous-unwind-tables > -DHAVE_CONFIG_H -Wno-deprecated -Wstrict-aliasing -Wuninitialized -I. -Id > -I../../src/gcc -I../../src/gcc/d -I../../src/gcc/../include > -I../../src/gcc/../libcpp/include -I../../src/gcc/../libdecnumber > -I../../src/gcc/../libdecnumber/dpd -I../libdecnumber > -I../../src/gcc/../libbacktrace -Id -I../../src/gcc/d/dfrontend > -I../../src/gcc/d -o d/expression.dmd.o -c > ../../src/gcc/d/dfrontend/expression.c > > <----snip-------> > > cc1d: ../../src/gcc/d/dfrontend/expression.c:2619: > IntegerExp::IntegerExp(Loc, dinteger_t, Type*): Assertion `type' failed. > > cc1d: internal compiler error: Aborted > > libtool: compile: /«PKGBUILDDIR»/build/./gcc/gccgo > -B/«PKGBUILDDIR»/build/./gcc/ -B/usr/arm-linux-gnueabihf/bin/ > -B/usr/arm-linux-gnueabihf/lib/ -isystem /usr/arm-linux-gnueabihf/include > -isystem /usr/arm-linux-gnueabihf/sys-include -isystem > /«PKGBUILDDIR»/build/sys-include -O2 -g -ffp-contract=off -I . -c > -fgo-pkgpath=math ../../../src/libgo/go/math/abs.go > ../../../src/libgo/go/math/acosh.go ../../../src/libgo/go/math/asin.go > ../../../src/libgo/go/math/asinh.go ../../../src/libgo/go/math/atan.go > ../../../src/libgo/go/math/atanh.go ../../../src/libgo/go/math/atan2.go > ../../../src/libgo/go/math/bits.go ../../../src/libgo/go/math/cbrt.go > ../../../src/libgo/go/math/const.go ../../../src/libgo/go/math/copysign.go > ../../../src/libgo/go/math/dim.go ../../../src/libgo/go/math/erf.go > ../../../src/libgo/go/math/exp.go ../../../src/libgo/go/math/expm1.go > ../../../src/libgo/go/math/floor.go ../../../src/libgo/go/math/frexp.go > ../../../src/libgo/go/math/gamma.go ../../../src/libgo/go/math/hypot.go > ../../../src/libgo/go/math/j0.go ../../../src/libgo/go/math/j1.go > ../../../src/libgo/go/math/jn.go ../../../src/libgo/go/math/ldexp.go > ../../../src/libgo/go/math/lgamma.go ../../../src/libgo/go/math/log.go > ../../../src/libgo/go/math/log1p.go ../../../src/libgo/go/math/log10.go > ../../../src/libgo/go/math/logb.go ../../../src/libgo/go/math/mod.go > ../../../src/libgo/go/math/modf.go ../../../src/libgo/go/math/nextafter.go > ../../../src/libgo/go/math/pow.go ../../../src/libgo/go/math/pow10.go > ../../../src/libgo/go/math/remainder.go > ../../../src/libgo/go/math/signbit.go ../../../src/libgo/go/math/sin.go > ../../../src/libgo/go/math/sincos.go ../../../src/libgo/go/math/sinh.go > ../../../src/libgo/go/math/sqrt.go ../../../src/libgo/go/math/tan.go > ../../../src/libgo/go/math/tanh.go ../../../src/libgo/go/math/unsafe.go -o > math.o >/dev/null 2>&1 > > if [ x"" != x ]; then \ > > /«PKGBUILDDIR»/build/./gcc/xgcc -B/«PKGBUILDDIR»/build/./gcc/ > -B/usr/arm-linux-gnueabihf/bin/ -B/usr/arm-linux-gnueabihf/lib/ -isystem > /usr/arm-linux-gnueabihf/include -isystem > /usr/arm-linux-gnueabihf/sys-include -isystem > /«PKGBUILDDIR»/build/sys-include -c -DHAVE_CONFIG_H -g -O2 -I. > -I../../../src/libiberty/../include -W -Wall -Wwrite-strings -Wc++-compat > -Wstrict-prototypes -pedantic -fPIC > ../../../src/libiberty/simple-object-elf.c -o noasan/simple-object-elf.o; \ > > else true; fi > > /«PKGBUILDDIR»/build/./gcc/xgcc -B/«PKGBUILDDIR»/build/./gcc/ > -B/usr/arm-linux-gnueabihf/bin/ -B/usr/arm-linux-gnueabihf/lib/ -isystem > /usr/arm-linux-gnueabihf/include -isystem > /usr/arm-linux-gnueabihf/sys-include -isystem > /«PKGBUILDDIR»/build/sys-include -c -DHAVE_CONFIG_H -g -O2 -I. > -I../../../src/libiberty/../include -W -Wall -Wwrite-strings -Wc++-compat > -Wstrict-prototypes -pedantic ../../../src/libiberty/simple-object-elf.c > -o simple-object-elf.o > > libtool: compile: /«PKGBUILDDIR»/build/./gcc/xgcc -shared-libgcc > -B/«PKGBUILDDIR»/build/./gcc -nostdinc++ > -L/«PKGBUILDDIR»/build/arm-linux-gnueabihf/libstdc++-v3/src > -L/«PKGBUILDDIR»/build/arm-linux-gnueabihf/libstdc++-v3/src/.libs > -L/«PKGBUILDDIR»/build/arm-linux-gnueabihf/libstdc++-v3/libsupc++/.libs > -B/usr/arm-linux-gnueabihf/bin/ -B/usr/arm-linux-gnueabihf/lib/ -isystem > /usr/arm-linux-gnueabihf/include -isystem > /usr/arm-linux-gnueabihf/sys-include -isystem > /«PKGBUILDDIR»/build/sys-include -D_GNU_SOURCE -D_DEBUG > -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS > -DHAVE_RPC_XDR_H=1 -DHAVE_TIRPC_RPC_XDR_H=0 -I. > -I../../../../src/libsanitizer/sanitizer_common -I.. -I > ../../../../src/libsanitizer/include -isystem > ../../../../src/libsanitizer/include/system -Wall -W -Wno-unused-parameter > -Wwrite-strings -pedantic -Wno-long-long -fPIC -fno-builtin -fno-exceptions > -fno-rtti -fomit-frame-pointer -funwind-tables -fvisibility=hidden > -Wno-variadic-macros -I../../libstdc++-v3/include > -I../../libstdc++-v3/include/arm-linux-gnueabihf > -I../../../../src/libsanitizer/../libstdc++-v3/libsupc++ -std=gnu++11 > -DSANITIZER_LIBBACKTRACE -DSANITIZER_CP_DEMANGLE -I > ../../../../src/libsanitizer/../libba! > > cktrace -I ../libbacktrace -I ../../../../src/libsanitizer/../include > -include ../../../../src/libsanitizer/libbacktrace/backtrace-rename.h -g > -O2 -D_GNU_SOURCE -MT sanitizer_deadlock_detector1.lo -MD -MP -MF > .deps/sanitizer_deadlock_detector1.Tpo -c > ../../../../src/libsanitizer/sanitizer_common/sanitizer_deadlock_detector1.cc > -o sanitizer_deadlock_detector1.o >/dev/null 2>&1 > > 0x6034ef crash_signal > > ../../src/gcc/toplev.c:383 > > Please submit a full bug report, > > with preprocessed source if appropriate. > > Please include the complete backtrace with any bug report. > > See <file:///usr/share/doc/gcc-5/README.Bugs> for instructions. > > The bug is not reproducible, so it is likely a hardware or OS problem. > > Makefile:583: recipe for target 'core/thread.o' failed > > make[6]: *** [core/thread.o] Error 1 > > make[6]: Leaving directory > '/«PKGBUILDDIR»/build/arm-linux-gnueabihf/libphobos/libdruntime' > > Makefile:395: recipe for target 'all-recursive' failed > > make[5]: *** [all-recursive] Error 1 > > make[5]: Leaving directory > '/«PKGBUILDDIR»/build/arm-linux-gnueabihf/libphobos' > > Makefile:314: recipe for target 'all' failed > > make[4]: *** [all] Error 2 > > make[4]: Leaving directory > '/«PKGBUILDDIR»/build/arm-linux-gnueabihf/libphobos' > > Makefile:18154: recipe for target 'all-target-libphobos' failed > > make[3]: *** [all-target-libphobos] Error 2 > > make[3]: *** Waiting for unfinished jobs.... > > > > Despite the assertion in the error message that "The bug is not > reproducible, so it is likely a hardware or OS problem." I have got > substatailly the same error in a total of 5 build attempts across four > versions of the Debian gcc-5 source. > > > > Anyone seen anything like this before? anyone here care about gdc in > raspbian and want to assist in finding a root cause and a patch for this? > > > > To fix the immediate problem I disabled gdc in the gcc-5 source package > and modified gcc-defaults to revert the default gdc version to 4.9 but I do > not know how long it will be feasible to maintain that workaround for and > so if no fix is forthcoming our only remaining option may be to remove gdc > and it's reverse dependencies from Raspbian stretch. > > Is it possible to get a backtrace on the particular crash? The compiler > frontend is aborting because the 'type' parameter in the IntegerExp > constructor is a null pointer. However, that does not make sense as all > basic types and aliases should have been allocated before compilation began. > I cannot reproduce this on upstream HEAD. I will get in touch with Matthias and request to pull in updates for the next round of stable gcc version releases. If you still exhibit the problem after updating, I can only conclude that there is something wrong either with your build environment, or the way that you have patched gcc and/or gdc in Debian. Regards Iain