[fpc-devel] I've asked this before, but perhaps I wasn't specific enough that time: what do I *personally*, specifically need to do to ensure that a native Windows 64-bit build winds up on the FPC website for the next release?

Martin Frb lazarus at mfriebe.de
Wed Jan 12 13:38:43 CET 2022

On 12/01/2022 11:51, Marco van de Voort via fpc-devel wrote:
> On 12-1-2022 11:38, Ben Grasset via fpc-devel wrote:
>> If it's actually now somehow the case that an offer to provide Win64 
>> builds would be refused though, I guess maybe I'll look into hosting 
>> them myself somewhere else? Although again I don't get why it would 
>> be fine for Linux to have a zillion archives for different 
>> configurations here: 
>> https://sourceforge.net/projects/freepascal/files/Linux/3.2.2/
> As said, Windows 64-bit is a special case because it doesn't 
> support/recommend extended. This makes cross compiling to targets that 
> do difficult till we have softfloat support.

Ok, let me throw in my 2 cents here....
Before I start:
-  I have my own builds (so I do not depend on the outcome if this 
-  I am the one building the before-mentioned 64bit builds included in 
the Laz installer.
      ==> There may be some misunderstanding/oversight about those 
builds (see 2nd section of this mail)
-  I have *not* downloaded the FPC from the link in the "Windows 64 bit 
section" (or quoting Sven: "combined 32-/64-bit download")
      https://www.freepascal.org/down/x86_64/win64.html  ===> 
      I have no idea, what bitness the provided ppcx64.exe has. (i.e., 
the non-cross-compile ppc).

Afaik (ignoring any effort for extra builds required):
- The problem is *NOT* a native 64 bit    "fpc.exe"    ?     => this 
only calls a ppc*.exe
- The problem is *NOT* a native 64 bit    "ppcx64.exe"  ?
    => 64 bit compiled targets don't require "extended" from the ppc, as 
they themself wont have support for it?
So up to this point, afaik there would be no problem, having those 
executables as 64-bit exe?

So the problem is about cross-compiling. Because such a cross compiler, 
needs to support "extended".

And here is what no-one has ever mentioned, when they refer to the 
"64bit fpc" included in Lazarus.
The cross compiler for compiling a "32bit exe" on a 
     =>  lazarus-2.2.0-      fpc-3.2.2-cross-i386-win32 -win64.exe < ==
     *** This contains  a 32-bit  "ppc386.exe" compiler ***

The "ppc386.exe" can do "extended", because it is a 32 bit exe.
Even though it is part of a 64bit download, and indented to run on a 
64bit system.

About the name "ppc386.exe" versus "ppccross386.exe": For some reason 
this is the name that "fpc.exe" is looking for, when called with 
"-Twin32 -Pi386". (At least it works in Lazarus)


On 19/12/2021 09:45, Sven Barth via fpc-devel wrote:
> There is already a combined 32-/64-bit download available since 3.2.2. 
> We *won't* provide a pure, native 64-bit download for Win64, because 
> the x86_64-win64 is not suitable for other x86_64 targets or for 
> compiling a i386 or i8064 cross compiler due to the missing Extended 
> support.

The downloads provided by Lazarus are also NOT a "pure, native 64-bit 
download". Only the "fpc.exe" and the non-cross "ppc64.exe" are native 
64 bit.

As I said, I do not know, what is currently provided by the Fpc 
"combined 32-/64-bit download".
No Idea, if any of the fpc/ppc executable in this download are already 

More information about the fpc-devel mailing list