[fpc-devel] FPC for FreeBSD/PowerPC

Karoly Balogh (Charlie/SGR) charlie at scenergy.dfmk.hu
Thu Aug 10 14:29:45 CEST 2017


On Thu, 10 Aug 2017, Marco van de Voort wrote:

> > The questions is, can I just go in and upgrade our syscall interface to
> > the newer calls (where makes sense), or do we intend to support older
> > systems too?
> To my knowledge there is no universal "newer" and "older" BSD syscall
> set. Are you talking about something NetBSD specific? So the first thing
> would be to qualify that, and/or verify in how much the other BSDs
> follow.

Well, you can turn off the COMPAT calls in the kernel config. While
they're enabled now by default, it certainly looks like something which
might go away, or optional. Also while fixing up stuff I ran into the fact
that the alignments have changed anyway between aout and ELF it seems, so
some of the stuff we have won't work on really old systems anyway, even if
you plug in some old binutils for them.

But I was mainly referring to stat and fsstat structures and the syscalls
which are using them. It's quite an ifdef-mess already, so I was hoping to
remove some of that. And there were a few other calls, but I can't
remember. I just remember using ktruss, and running into a few compat
calls shown.

> It might require revalidating all ports, since e.g. structures might change
> which in turn might mean validating them on all targets (mostly due to
> padding)

Yapp, see above. :) I'm pretty certain some if not all of the netbsdppc
$ifdef'ing and the related hacks are pretty much unnecessary at this
point. But I understand the compiler has advanced a lot since these were
added, so I don't mean to point fingers.

> I remembered btw that NetBSD did run briefly on PPC though, around FPC
> 1.9.2 on a PPC603, Florian helped with the assembler back then.  I
> remember the main issue was some problem with fpu instructions needing
> alignment on 603 but not on 604e.

Yes, I ran into the same issue while porting to AmigaOS4 a bit later, and
not only 603 but some of the derived cores too, like the 750 etc. It had
the same issues. But the compiler has a much better infrastructure to deal
with these issues these days. My PowerPC assembly is a bit rusty, but I
can still tackle this. ;)


More information about the fpc-devel mailing list