[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?

Ben Grasset operator97 at gmail.com
Thu Jan 13 01:31:17 CET 2022

On Wed, Jan 12, 2022 at 7:38 AM Martin Frb via fpc-devel <
fpc-devel at lists.freepascal.org> wrote:

> 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.

Every single executable that actually originates from the FPC toolchain (so
like `fpc.exe`, `ppcx64.exe`, `ppudump.exe`, `pas2js.exe`, `h2pas.exe`, and
so on) contained in the current "lazarus-2.2.0-fpc-3.2.2-win64.exe"
installer that the Lazarus website directs to when you click "Download Now"
on a system running 64-bit Windows *IS* currently 64-bit. I just verified
this myself. That particular installer does not include any cross compilers
at all, also (the ones to target 32-bit Windows from 64-bit come in the
smaller "lazarus-2.2.0-fpc-3.2.2-cross-i386-win32-win64.exe" installer.

On Wed, Jan 12, 2022 at 7:55 AM Tomas Hajny via fpc-devel <
fpc-devel at lists.freepascal.org> wrote:

> Wrong - applies only to the Win64 target, whereas e.g. 64-bit Linux
> (supported by the same compiler targetting 64-bit code) supports
> extended. This means that compiling source code with this compiler may
> result in a different binary as soon as there's e.g. an extended
> contstant included in the source code, or any compile-time calculations
> in this precision need to be performed.

Isn't this specifically the kind of thing that the `FPC_SOFT_FPUX80` define
solves? FPC does not even let you go from 64-bit Windows to 32-bit targets
if that define isn't active IIRC, so presumably the same thing could be
made the case in other scenarios if it's something people are widely
concerned about.

In any case, people who want native 64-bit Windows toolchains want them
pretty much exclusively for use *on *64-bit Windows to *target* 64-bit
Windows, and will install any cross-compilers secondarily *if *they have a
use for them. The 32-bit-to-64-bit Windows FPC toolchain is *not *a perfect
drop-in replacement. Based on testing I did locally previously, it's not as
fast as the native 64-bit one, and additionally there are other things to
keep in mind like the 4GB RAM limit on 32-bit (which I have in fact seen
more than one user on the Lazarus forums run into with larger projects,
none of whom were using the 32-bit executables "on purpose").
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20220112/9f1d5bc1/attachment-0001.htm>

More information about the fpc-devel mailing list