On Mon, 29 Apr 2019 at 06:11, Matthias Klose <d...@ubuntu.com> wrote: > > On 27.04.19 14:08, Iain Buclaw wrote: > > On Sat, 27 Apr 2019 at 12:24, Jakub Jelinek <ja...@redhat.com> wrote: > >> > >> On Sat, Apr 27, 2019 at 11:26:15AM +0200, Matthias Klose wrote: > >>> On 15.03.19 16:49, Robin Dapp wrote: > >>>> during the last few days I tried to get D running on s390x (apparently > >>>> the first Big Endian platform to try it?). I did not yet go through the > >>>> code systematically and add a version(SystemZ) in every place where it > >>>> might be needed but rather tried to fix test failures as they arose. > >>> > >>> this now fails on trunk and the gcc-9-branch with a multilib build: > >>> > >>> > >>> /<<PKGBUILDDIR>>/src/libphobos/libdruntime/core/sys/posix/ucontext.d:769:9: > >>> error: static assert "unimpleme > >>> nted" > >>> 769 | static assert(0, "unimplemented"); > >>> | ^ > >>> make[10]: *** [Makefile:2149: core/thread.lo] Error 1 > >>> make[10]: Leaving directory > >>> '/<<PKGBUILDDIR>>/build/s390x-linux-gnu/32/libphobos/libdruntime' > >>> make[9]: *** [Makefile:473: all-recursive] Error 1 > >>> make[10]: *** [Makefile:2149: core/thread.lo] Error 1 > >>> make[10]: Leaving directory > >>> '/<<PKGBUILDDIR>>/build/s390x-linux-gnu/32/libphobos/libdruntime' > >>> make[9]: *** [Makefile:473: all-recursive] Error 1 > >> > >> Ugh, can we disable D for GCC 9.1 on s390x then, on the trunk look through > >> all files that only use version (SystemZ) and don't use version (S390) at > >> least > >> find -type f | xargs grep -l SystemZ | xargs grep -L S390 > >> ./src/std/uni.d > >> ./src/std/math.d > >> ./src/std/experimental/allocator/building_blocks/region.d > >> ./libdruntime/gcc/sections/elf_shared.d > >> ./libdruntime/core/sys/linux/link.d > >> ./libdruntime/core/sys/posix/setjmp.d > >> ./libdruntime/core/sys/posix/ucontext.d > >> ./libdruntime/core/sys/posix/sys/stat.d > >> and make sure it works also for s390 31-bit and finally backport to 9.2? > >> > >> E.g. in src/std/math.d I wonder if it just shouldn't be done through > >> version (S390) version = IBMZ_Any; > >> version (SystemZ) version = IBMZ_Any; > >> and using later version (IBMZ_Any) instead of version (SystemZ). Guess > >> in various other spots, except for those where structure sizes are needed. > >> > >> Robin, have you been testing with --disable-multilib or something similar? > >> > > > > I built all compilers last night from config-list.mk, so I had a ready > > cross compiler available. With the following patch, all compiles > > successfully with -fsyntax-only for both s390x-linux and s390-linux, > > though checking on native hardware would be preferred. > > builds with the gcc-9 branch and trunk, natively and cross.
Thanks, committed to branch. -- Iain