Hi Rainer,

> On 16 Mar 2022, at 15:55, Rainer Orth <r...@cebitec.uni-bielefeld.de> wrote:
> 
>>> I've omitted the Darwin-specific stuff so far documented in PRs d/103577
>>> and d/103578:
>>> 
>>> * needs --enable-libphobos
>>> * top of gcc-11 branch only
>>> * backport of -static-libphobos patch
>>> * Darwin/i386 doesn't work at all
>> 
>> — hopefully we will not need to add that  —
>> 
>> The actual problem is known (FWIW there is also some wrong code generated for
>> x86_64, we just happen to link it to something harmless instead of failing
>> to link).
> 
> I see.  One issue I see during x86_64-darwin testing (10.7 only?) is
> that the forkgc2 test hangs and has to be killed manually.

yes, there are  known issues with GC and threading - but those do not break 
bootstrap
since the compiler is single-threaded.

>> - I remain hopeful that a solution for 11.x can be found before gcc-12 
>> branches,
>> since without m32 support it is hard for me to fit D into regular Darwin
>> testing (at
>> present D is effectively untested on Darwin since the change to require a D
>> bootstrap)
>> .. at one stage, D did work on m32 Darwin.
> 
> I suspected that the 32-bit issue might be due to several stdint types
> being wrong, which was just fixed on master.  At least the issue seemed
> similar to PR d/104738.  I'm building a 64-bit trunk gdc as we speak in
> order to try that as a bootstrap compiler for a 32-bit build.

The issue on 11.x is related to code that tries to synthesize section-start
symbols, it causes a link fail on m32 - which is a bootstrap breaker.

..  if that has been fixed for m32 codegenon master then, yes - presumably we
could build an x86_64 compiler and use that “-m32” to make an i686 bootstrap.

Iain.

Reply via email to