I'm at commit c4194221701084a31b8b28a54f20339a80fb50a7, configuring with: ../gcc-4.8.2/configure --with-bugurl="http://gdcproject.org/bugzilla" --enable-languages=d --prefix=/opt/gdc --enable-shared --enable-linker-build-id --with-system-zlib --without-included-gettext --enable-threads=posix --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --enable-objc-gc --disable-sjlj-exceptions --with-arch=armv6 --with-fpu=vfp --with-float=hard --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf --enable-checking=release --enable-gold the build fails on both Raspberry Pi and Utilite Pro with the following assertion failure: /home/duckz/dev/thirdparty/gdc_compiler/gcc-4.8.2/libphobos/libdruntime/gcc/deh.d:116: error: static assert (8u == 4u) is false
I've got a fix locally for this, somewhere in the realm of: --- - // To place 'obj' behing unwindHeader. - enum UNWIND_PAD = (Phase1Info.sizeof + Object.sizeof) - % _Unwind_Exception.alignof; + // The object being thrown. Like GCJ, the compiled code expects this to + // be immediately before the generic exception header. + enum UNWIND_PAD = (Object.alignof < _Unwind_Exception.alignof) + ? _Unwind_Exception.alignof - Object.alignof : 0; - static if (UNWIND_PAD > 0) - byte[UNWIND_PAD] _pad; + ubyte[UNWIND_PAD] pad; ---
https://github.com/D-Programming-GDC/GDC/commit/9cafc0646fde296db5d96c8d3383cf7be58e068e