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?

        Jakub

Reply via email to