[fpc-devel] ppcrossx64 build on macOS darwin with ppca64 is failing

J. Gareth "Kit" Moreton gareth at moreton-family.com
Tue Sep 1 04:16:33 CEST 2026


So the Internal Error is in a case-block where it tries to write a 
real-typed constant to an assembly dump (which may be passed into an 
external assembler), but the type is not recognised/supported.  With 
that in mind it might be due to my recent Currency changes.  I've got my 
work cut out!

Kit

On 31/08/2026 21:57, David Jenkins via fpc-devel wrote:
> That error was generated when I tried building ppcross64x from my 
> bootstrap ppca64-3.2.2 compiler.
>
> If I first use ppca64-3.2.2 to build a trunk ppca64-3.3.1 and then use 
> that to build ppcrossx64, I do get a ppcrossx64 built but then when it 
> tries to build the rtl it fails with
>
> /Users/djenkins/Source/BCTrunk/Lazarus/fpc/compiler/ppcrossx64 
> -dFPC_USE_LIBC -Px86_64 -XX -CX -Ur -Xs -O2 -n -Fi../inc -Fi../x86_64 
> -Fi../unix -Fi../bsd -Fi../bsd/x86_64 -Fi../darwin/x86_64 -FE. 
> -FU/Users/djenkins/Source/BCTrunk/Lazarus/fpc/rtl/units/x86_64-darwin 
> -dBC_FPC_BUILD -n 
> @/Users/djenkins/Source/BCTrunk/Lazarus/fpc/../fpc.cfg -dlegacysocket 
> -dLIBC_OLDERRNO -dx86_64 -dRELEASE  -Us -Sg ../bsd/system.pp
> genmath.inc(606,5) Fatal: Internal error 2014051001
> Fatal: Compilation aborted
> make[5]: *** [system.ppu] Error 1
> make[4]: *** [fpc_smart] Error 2
> make[3]: *** [darwin_smart] Error 2
> make[2]: *** [rtl_smart] Error 2
> make[1]: *** [build-stamp.x86_64-darwin] Error 2
> make: *** [crossinstall] Error 2
> /Applications/Xcode-26.6.app/Contents/Developer/usr/bin/make -C 
> compiler distclean
> <stdin>:76571:1: error: assembler local symbol 'Ld23' not defined
>
> ^
> <stdin>:76571:1: error: assembler local symbol 'Ld8' not defined
>
> Which is different than the 200308299 error you saw but the above was 
> with -O2.
>
> I'll create a gitlab bug report.
>
>
>
> On 8/31/26 1:04 PM, Karoly Balogh via fpc-devel wrote:
>> Hi,
>>
>> On Mon, 31 Aug 2026, David Jenkins via fpc-devel wrote:
>>
>>> I'm trying to build ppcrossx64 on my macOS darwin Tahoe apple 
>>> silicon machine
>>> with a ppca64 built from fpc trunk and Xcode 26.6 and no Rosetta 
>>> running.
>>>
>>> Should I expect that to succeed?
>>
>> Yes. Or at least fail with a meaningful error message, and not with what
>> you got.
>>
>>> I am getting the following errors when pp.pas is being compiled:
>>>
>>> /Users/djenkins/Source/BCTrunk/Lazarus/fpc/compiler/ppc -Ur -Xs -O2 -n
>>> -Fux86_64 -Fusystems
>>> -Fu/Users/djenkins/Source/BCTrunk/Lazarus/fpc/rtl/units/aarch64-darwin
>>> -Fix86_64 -FEx86_64/bin/aarch64-darwin -FUx86_64/units/aarch64-darwin
>>> -XR/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -dRELEASE
>>> -dBC_FPC_BUILD -n 
>>> @/Users/djenkins/Source/BCTrunk/Lazarus/fpc/../fpc.cfg
>>> -dlegacysocket -dLIBC_OLDERRNO    -dx86_64 -Fux86 -Fix86 -Sew
>>> -o/Users/djenkins/Source/BCTrunk/Lazarus/fpc/compiler/ppcrossx64 pp.pas
>>> <stdin>:5227:9: error: expected compatible register or logical 
>>> immediate
>>>          mov     x1,w23
>>>                     ^
>>> <stdin>:5241:9: error: expected compatible register or logical 
>>> immediate
>>>          mov     x1,w23
>>>
>>>
>>> I did some searching in the gitlab issues and didn't see anything 
>>> related.
>>>
>>> Happy to create a bug report in gitlab if needed.
>>
>> Please do so. This looks like a genuine bug in the ARM64 
>> codegenerator, I
>> managed to reproduce it. Without the optimizer enabled (-O- 
>> argument), it
>> actually runs into an internal error 200308299.
>>
>> Charlie
>> _______________________________________________
>> fpc-devel maillist  -  fpc-devel at lists.freepascal.org
>> https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
>
>
> _______________________________________________
> fpc-devel maillist  -  fpc-devel at lists.freepascal.org
> https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

-- 
This email has been checked for viruses by Avast antivirus software.
www.avast.com


More information about the fpc-devel mailing list