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