[Patch,fortran] PR 27740 Symbol versioning for libgfortran

Steve Kargl sgk@troutmask.apl.washington.edu
Mon Nov 6 19:43:00 GMT 2006


On Mon, Nov 06, 2006 at 09:31:24PM +0200, Janne Blomqvist wrote:
> Paolo Bonzini wrote:
> >
> >>FreeBSD should be picking up csqrtf et al from c99_intrinsics.c.  It
> >>seems that the patch is corrupting the HAVE_CSQRTF macro.  I'll 
> >>applied Janne's patch tommorrow and configure with maintainer-mode.
> >
> >It may just be that csqrtf is not exported anymore.
> 
> I don't see how the symbol versioning patch has changed csqrtf. 
> Pre-patch there is:
> 
> nm -a libgfortran.so.2.0.0|grep csqrt
> 
>          U csqrtf@@GLIBC_2.1
>          U csqrt@@GLIBC_2.1
>          U csqrtl@@GLIBC_2.1
> 
> And post-versioning-patch:
> 
> nm -a libgfortran.so.3.0.0|grep csqrt
>          U csqrtf@@GLIBC_2.1
>          U csqrt@@GLIBC_2.1
>          U csqrtl@@GLIBC_2.1
> 
> So the nm man page says that "U" means undefined, I understand it means 
> libgfortran references said symbol and expects some other .so to 
> actually define it.
> 

I intend to look into this later today (work permitting).  I'll
note that FreeBSD does not use glibc and its libm is missing 
many of the C99 math function (mostly the long double variety).
I've been trying to get some of the functions implemented, but
again time is short.

I'll also note that I applied FX's gzipped patch.  It may have
affected config.h.in or configure in such away that HAVE_CSQRTF
is accidentally defined.  I'll apply Janne's patch and run 
configure with --enable-maintainer-mode. 

-- 
Steve



More information about the Fortran mailing list