[fpc-devel] FPC for FreeBSD/PowerPC

Marco van de Voort marcov at stack.nl
Tue Aug 8 21:10:03 CEST 2017

In our previous episode, Karoly Balogh (Charlie/SGR) said:
> > I'm interested to know if there has been work on fpc for
> > FreeBSD/PowerPC. I'm interested in the status and helping maintain fpc
> > for this platform.
> FreeBSD for PowerPC never existed in FPC (it's not even in the internal
> platform list, only FreeBSD/i386 and FreeBSD/x86-64).

I started on it, but stopped due to lack of time.

> But to be honest, even the far more popular x86_64 and
> i386 versions seem to need some love, and I'd say that probably also goes
> for FreeBSD (Marco?  Any comments?).  Maybe these efforts can be combined.

FreeBSD is somewhat neglected too, but from a much better starting point
than open/netbsd. I fix know things once in a while, but don't use it
day-to-day anymore. FreeBSD is now a LLVM system, but I only did minimal
fixes for that.
> Mac mini G4, PowerBook G4 (5,6), PowerMac QuickSilver G4, bPlan Pegasos II
> G4?

I had it on a mini G4 1.25.
> The main problem that most of the BSD and Unix platforms have a quite
> entangled backend in the FPC RTL (and even Darwin is considered a BSD in
> this case), so there's a high risk that one can break something else while
> fixing a certain platform, and most of it uses a quite old COMPAT syscall
> interface. So mapping up what's there and how to fix it for the future is
> the difficulty, while not breaking other Unices and BSDs in the process.
> :) But otherwise it's definitely doable.

Most BSDs have syscalls that have an interface similar to a C function, and
often close the the (2) call of the same name. This is where the similarity
comes from.

Regularly older calls are replaced by newer calls, but while this is an
organic process, but unfortunately it doesn't happen in all of the BSDs at
the same time or even at all.

Darwin used the libc port from the beginning, so doesn't share the syscall
oriented stuff. And afaik most (3) definitions don't change that much.

I don't think there are general rules, best is to discuss it one specific
issue at a time with the relevant maintainers.

More information about the fpc-devel mailing list