Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 20 Mar 1995 22:03:31 -0800
From:      Paul Traina <pst@shockwave.com>
To:        Poul-Henning Kamp <phk@ref.tfs.com>
Cc:        bde@zeta.org.au (Bruce Evans), rgrimes@gndrsh.aac.dev.com, CVS-commiters@time.cdrom.com, cvs-etc@time.cdrom.com, jkh@freebsd.org
Subject:   Re: cvs commit: src/etc make.conf 
Message-ID:  <199503210603.WAA06714@precipice.Shockwave.COM>
In-Reply-To: Your message of "Mon, 20 Mar 1995 21:54:29 PST." <199503210554.VAA29561@ref.tfs.com> 

next in thread | previous in thread | raw e-mail | index | archive | help

  From: Poul-Henning Kamp <phk@ref.tfs.com>
  Subject: Re: cvs commit: src/etc make.conf
  > It's hardly worth the trouble of fixing this.  msun should become libm.
  > If you want to support the old library then everything should be
  > renamed:
  > 
  > 	msun -> libm
  > 	libm -> libmould (sic)
  No.  I don't care if libm is called msun from now till the national
  deficit is paid.  This is pointless, and it would screw up the cvs-tree.

  > We also need dynamic support for the i387 functions.  -DHAVE_FPU is no
  > good because it can't be used for the distribution libraries.  Something
  > like
  > 
  > 	if (_have_i387)
  > 		result = _i387_pow(x, y);
  > 	else
  > 		result = __ieee754_pow(x, y);
  > 
  > would add less time overhead than shared linkage.

The extra test on every operation is bad.
Xonsider the following fragment or high-speed linkages with shared libraries
instead (I don't know how fast or slow shared linkages are):

	static vec_pow = pow_init;

	pow (base, exp)
	{
		return (*vec_pow)(base, exp);
	}

	pow_init (base, exp)
	{
		vec_pow = _have_i387 ? _i387_pow(base, exp)
				     : __ieee754_pow(base,exp);

		return (*vec_pow)(base, exp);
	}



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199503210603.WAA06714>