Subject: Re: GhostScript without an FPU
To: None <101564.312@compuserve.com>
From: Ken Nakata <kenn@remus.rutgers.edu>
List: port-mac68k
Date: 10/26/1997 10:33:54
On Sat, 25 Oct 1997 21:12:20 -0400,
Norman Mackenzie <101564.312@compuserve.com> wrote:
> If the fpu-less libm really is free from all 68881/2 instructions, my guess
> is that the ldexp() was coming from libc.  It's possible therefore that a
> current kernel and a recent libc will give you a working GhostScript.  I
> can't guarantee this though, since I haven't tried it myself.

The nomc68881 libm does use some floating point instructions but those
should be only a few, namely, fadd, fsub, fmul, fdiv, and conditional
branches and possibly sets (fbcc & fscc), I think.

And you can easily create your own version of the nomc68881 libm
instead of using the out-dated one I've put up on puma.  Just go to
/usr/src/lib/libm, apply the following patch to Makefile, and make &&
make install:

*** Makefile~	Sun Oct 26 10:28:48 1997
--- Makefile	Sun Oct 26 10:30:30 1997
***************
*** 61,70 ****
  #	    s_sinf.S s_tan.S s_tanf.S
  .elif (${MACHINE_ARCH} == "m68k")
  .PATH:	${.CURDIR}/arch/mc68881
! ARCH_SRCS = e_acos.S e_asin.S e_atanh.S e_cosh.S e_exp.S e_fmod.S e_log.S \
! 	    e_log10.S e_remainder.S e_scalb.S e_sinh.S e_sqrt.S s_atan.S \
! 	    s_ceil.S s_copysign.S s_cos.S s_expm1.S s_finite.S s_floor.S \
! 	    s_log1p.S s_logb.S s_rint.S s_scalbn.S s_sin.S s_tan.S s_tanh.S
  .elif (${MACHINE_ARCH} == "vax")
  .PATH:	${.CURDIR}/arch/vax
  NOIEEE_ARCH=n_infnan.S n_argred.S n_sqrt.S
--- 61,67 ----
  #	    s_sinf.S s_tan.S s_tanf.S
  .elif (${MACHINE_ARCH} == "m68k")
  .PATH:	${.CURDIR}/arch/mc68881
! ARCH_SRCS = 
  .elif (${MACHINE_ARCH} == "vax")
  .PATH:	${.CURDIR}/arch/vax
  NOIEEE_ARCH=n_infnan.S n_argred.S n_sqrt.S

Oh, this is for current as of today (1.3ALPHA?), so you might have to
apply it manually if you are trying to make one for different release.

Cheers,

Ken