[fpc-devel] OpenBSD compiler

Pierre Free Pascal pierre at freepascal.org
Mon Oct 10 17:55:53 CEST 2011



> -----Message d'origine-----
> De : fpc-devel-bounces at lists.freepascal.org [mailto:fpc-devel-
> bounces at lists.freepascal.org] De la part de Marco van de Voort
> Envoyé : lundi 10 octobre 2011 08:52
> À : FPC developers' list
> Objet : Re: [fpc-devel] OpenBSD compiler
> 
> In our previous episode, Pierre Free Pascal said:
> > > (*) FreeBSD's pipe command contains an optimization. The array is not
> > passed
> > > to the syscall, and the results are stored in regs, not in the array.
> The
> > > wrapper code stores the regs in the array.
> >   The current FreeBSD code is i386/x86_64 only...
> 
> I already installed a 9.0 beta on powerpc :-)
> 
> I also installed NetBSD in a VM.
> 
> > maybe it should use the normal code you added for other CPUs
> > (even if those are not yet supported...)
> 
> I think we just soldier on target by target, see the ifdefs grow, and then
> start thinking about splitting heavily ifdefed parts of the include files
in
> bsd/ over the targets. (and they can decide for themselves if they split
> them out over the arch dirs)
> 
> Some other points:
> 1) no I didn't commit cprt0 since the result didn't work.

You were right, it didn't help much:
http://www.freepascal.org/testsuite/cgi-bin/testsuite.cgi?os=7&cpu=8&version
=0&date=&submitter=&machine=&comment=&cond=

> 2) Did you test with elf binwriter ?
  It took me a long time to understand the problem, but I think
I found it now:
  OpenBSD ld seems to do nonsense if you do not explicitly
give him a dynamic loader
it inserted /usr/lib/libc.so.1 as the dynamic loader...
Adding an explicit -FL/usr/libexec/ld.so seems to allow
at least tests/test/cg/tprinf to run successfully.

  I will commit a fix setting a default dynamic linker for OpenBSD 
if this improves the results significantly!

Pierre




More information about the fpc-devel mailing list