This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [SH][PATCH] __fpscr_values broken
- From: Kaz Kojima <kkojima at rr dot iij4u dot or dot jp>
- To: ams at codesourcery dot com
- Cc: libc-alpha at sources dot redhat dot com
- Date: Sat, 31 Jan 2009 08:13:17 +0900 (JST)
- Subject: Re: [SH][PATCH] __fpscr_values broken
- References: <4981C618.4070809@codesourcery.com>
Andrew Stubbs <ams@codesourcery.com> wrote:
> The SH4 needs to flip a mode bit in the FPSCR register each time it
> wants to do single precision FP, rather than double precision. These
> registers values are always stored in a symbol named __fpscr_values.
>
> Unfortunately, due to the special way that shared libraries work, the
> __fpscr_values symbol is not always visible.
>
>> [...]/math/libm_pic.a(e_lgamma_r.os): In function `__ieee754_lgamma_r':
>> [...]/math/../sysdeps/ieee754/dbl-64/e_lgamma_r.c:247: undefined reference to `__fpscr_values'
>> [...]/math/libm_pic.a(e_acosf.os): In function `__ieee754_acosf':
>> [...]/math/../sysdeps/ieee754/flt-32/e_acosf.c:55: undefined reference to `__fpscr_values'
>> [...]/math/../sysdeps/ieee754/flt-32/e_acosf.c:74: undefined reference to `__fpscr_values'
>> [...]/math/libm_pic.a(e_acoshf.os): In function `__ieee754_acoshf':
>> [...]/math/../sysdeps/ieee754/flt-32/e_acoshf.c:52: undefined reference to `__fpscr_values'
>> [...]/math/libm_pic.a(e_asinf.os): In function `__ieee754_asinf':
>> [...]/math/../sysdeps/ieee754/flt-32/e_asinf.c:109: undefined reference to `__fpscr_values'
>> [...]/math/libm_pic.a(e_atan2f.os):[...]/math/../sysdeps/ieee754/flt-32/e_atan2f.c:91: more undefined references to `__fpscr_values' follow
We always use no-z-defs=yes in configparms for this issue.
Does it work for you? See
http://sources.redhat.com/ml/libc-hacker/2003-01/msg00086.html
Although the patch is not wrong, I remember that putting
__fpscr_values in libc.so made compatibility problems.
Of course, rebuilding all with new libc will fix them, but
it'd be hard in some situation.
Regards,
kaz