Re: hidden symbol `__canonicalize_funcptr_for_compare' in
On Mon, 16 Aug 2010, dann frazier wrote:
> On Mon, Aug 16, 2010 at 03:42:55PM -0400, John David Anglin wrote:
> > > On Mon, Aug 16, 2010 at 1:57 PM, dann frazier <email@example.com> wrote:
> > > > I've seen this message pop up a couple of times recently in build logs
> > > > (also reproducible w/ gcc-4.3).
> > > >
> > > > http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=3D592885
> > > > https://buildd.debian.org/fetch.cgi?pkg=3Dopenmeeg;ver=3D2.0.0.dfsg-2;arc=
> > > h=3Dhppa;stamp=3D1281909045
> > > >
> > > > google also found this instance, which appears to have been worked
> > > > around by the maintainer:
> > > > =A0http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=3D581204
> > > >
> > > > Any idea what's causing this?
> > >
> > > Not off the top of my head.
> > >
> > > Dave?
> > I would guess it has something to do with the folowing:
> > 2010-01-07 H.J. Lu <firstname.lastname@example.org>
> > PR ld/11138
> > * elflink.c (elf_link_check_versioned_symbol): Don't abort if
> > a symbol referenced by DSO is is defined in a non-shared object
> > and forced local.
> Debian's binutils contains this patch. I tried reverting it, but got
> the same result.
The patch was supposed to fix the problem...
There is one additional error in the build log:
/usr/bin/ld: final link failed: Nonrepresentable section on output
Don't know what this means.
The package built for me using the following:
gcc version 4.4.5 20100728 (prerelease) (Debian 4.4.4-8)
GNU ld (GNU Binutils) 18.104.22.16800305
GNU ld (GNU Binutils) 22.214.171.12400817
So, I don't think this is a binutils issue.
The message regarding `__canonicalize_funcptr_for_compare' suggests
that a DSO contains an unresolved reference to this function. You
might use -Wl,--trace-symbol=__canonicalize_funcptr_for_compare to
find out where the reference is comming from. Then, check how the
library is being linked. It may be that it is not being linked against
J. David Anglin email@example.com
National Research Council of Canada (613) 990-0752 (FAX: 952-6602)