[fpc-devel] Porting fpc to linux-sparc64

John Paul Adrian Glaubitz glaubitz at physik.fu-berlin.de
Mon May 29 11:40:35 CEST 2017

On Mon, May 29, 2017 at 08:45:32AM +0000, Mark Morgan Lloyd wrote:
> The important thing to know about the linker on 32-bit Solaris is the -Xn
> option to force the native one to be used. Apart from that more info is
> needed before anybody here can comment.

Looking at compiler/system/t_linux.pas, fpc does enforce 32-bit mode
for the linker. It seems to be missing for the compiler/assembler
though such that 64-bit code is generated by default on sparc64.

> 32-bit 3.0.2 builds without problems for both Linux and Solaris, and by and
> large works including the Lazarus IDE.

Yes, it works on sparc64. But trying to build anything results in
linker errors because the generated object files are 64 bits.

> My recollection is that the SPARC64 code generator is immature, hopefully
> Jonas will comment on that.

So, what does it generate by default? SPARCv7 or SPARCv8? Both are
ancient and all Linux distributions have been on SPARCv9 for ages,
just not with 64-bit pointers.

> Adrian, I've put very little time into the SPARC 64-bit Debian port, and
> despite tracking the mailing list I'm a little unclear how complete it is
> and- in particular- how easily it installs. Does it support multiarch to
> allow 32-bit binaries to run seamlessly?

There is limited multi-arch support because the buildds are currently
not building any 32-bit binaries and hence we don't have most shared
libraries compiled as 32-bit SPARC. However, 32-bit support itself is
in place and working. So, in the worst case, you'd just have to build
any libraries you need as 32-bit SPARC.

On a sidenote: After patching compiler/systems/t_linux.pas to link
with 64-bit linker flags, the build succeeded. However, the resulting
binaries crashes with a bus error, i.e. unaligned access. It may just
be a matter of a small patch to fix this issue though.


 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer - glaubitz at debian.org
`. `'   Freie Universitaet Berlin - glaubitz at physik.fu-berlin.de
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913

More information about the fpc-devel mailing list