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 discussion) -  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  ===> https://sourceforge.net/projects/freepascal/files/Win32/3.2.2/      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 "64bit-development-system":
    =>  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 64-bit.





_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to