Port-amiga archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: optimising for different 680x0 (Was: Config understandings)



        The i386 port compiles two versions of libm, one with hardware
        floating point and one software. ld.elf_so selects the right
        one for dynamic programs automatically based on the
        machdep.fpu_present sysctl and a config line in /etc/ld.so.conf:
        "libm.so.0       machdep.fpu_present     1:libm387.so.0,libm.so.0"

        Would there be any sense in doing something similar for m68k
        ports? Obviously it doesn't help static programs, but most of
        those should not have any significant FPU usage...

                David/absolute
                               -- www.netbsd.org: A pmap for every occasion --


On Tue, 17 Oct 2000, Ignatios Souvatzis wrote:

> On Tue, Oct 17, 2000 at 02:20:12AM -0400, John Klos wrote:
> > IS wrote:
>
> > > M68060=YES in /etc/mk.conf chooses a different libm to be built, and also
> > > influences some of the big number aritmetic routines used by the ssh and
> > > pgp packages.
>
> > So you put the tuna WITH the mayo...
>
> Sort of. Now, that I slept enough for two nights in a row, I can even remember
> to explain why: Normal assembler-language bignum  routines for m68k like to 
> use
> the 32x32->64bit multiplication of m680[234]0, which was removed on the M68060
> and causes a kernel trap. The compiler avoids it when -m68060 or -m68020-60
> is given, but of course it has no idea that it should use different assembler
> files (or none at all). Similar stuff happens when you use some floating point
> routines that are written with the 6888[12] FPU in mind; they are 
> trap-emulated
> on 68040 and 68060, and using a specialized libm helps a lot here in some
> cases.




Home | Main Index | Thread Index | Old Index