libm functions for x86-64
Mike Frysinger
vapier@gentoo.org
Fri Mar 17 14:35:00 GMT 2006
On Thursday 16 March 2006 19:39, H. J. Lu wrote:
> On Thu, Mar 16, 2006 at 06:41:28PM -0500, Mike Frysinger wrote:
> > On Tuesday 14 March 2006 11:42, Michael Matz wrote:
> > > I would like to know the best way to move forward with this.
> >
> > unless i did something wrong, this patch causes build failures when
> > applied to glibc-2.4 / trunk ...
> >
> > so in a clean cvs checkout of the libc dir on an amd64 host:
> > gzcat libm-x86-64.diff.gz | patch -p0
>
> You need "patch -E ...".
indeed ... i was left with empty copysign.S files which caused the undefined
references to the __copysign funcs as the glibc build preferred the old
empty .S files over the new custom .c files ...
that leaves me with the undef references to sin/cos though ... this appears to
be because the libm patch overrides the default sysdeps/ieee754/*/s_sin.c
file with a new empty sysdeps/x86_64/fpu/s_sin.c ... which would normally be
fine as the patch also adds a new sysdeps/x86_64/fpu/s_sincos.c file to
provide sincos(), sin(), and cos(), except that the patch doesnt delete the
existing sysdeps/x86_64/fpu/s_sincos.S file ... if i delete
sysdeps/x86_64/fpu/s_sincos.S myself and rebuild, libm.so is just peachy
this isnt an issue for glibc-2.3.6 as s_sincos.S was introduced in trunk and
not the glibc-2.3 branch ...
so to recap:
patch fails on trunk/glibc-2.4 as the new sysdeps/x86_64/fpu/s_sincos.c
conflicts with the existing sysdeps/x86_64/fpu/s_sincos.S file
-mike
More information about the Libc-alpha
mailing list