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.

Reply via email to