Subject: Re: toolchain/32954: devel/glib2 fails to build under current/amd64 due to ld bug
To: None <email@example.com>
From: Nick Hudson <firstname.lastname@example.org>
Date: 03/03/2006 15:52:49
On Friday 03 March 2006 14:50, email@example.com wrote:
> Klaus Klein wrote:
> > The problem here is apparently caused by gconvert.c declaring
> > _g_charset_get_aliases() with attribute(visibility("hidden")),
> > which doesn't match its definition (in a different source file).
> Well, the problem certainly ceases to be when I fix the declaration to
> match the definition, but I'm not entirely sure I understand what the
> intended purpose of using that attribute was, as it fails to make
> sense to me the way it is right now.
I the intent is to not expose _g_charset_get_aliases. Without fixing the
definition to match the declaration this doesn't work, i.e. before the
$ uname -a
NetBSD arthur 3.0_STABLE NetBSD 3.0_STABLE (ARTHUR) #3: Thu Feb 9 08:32:39 GMT 2006 nick@arthur:/usr/obj/i386/usr/src-3/sys/arch/i386/compile/ARTHUR i386
$ nm -D /usr/pkg/lib/libglib-2.0.so.0 | grep _g_charset_get_aliases
0003fcb0 T _g_charset_get_aliases
> Furthermore, I don't quite grok why
> this only seems to affect amd64 - so I'm a bit relucant to file a PR under
> pkg- for it with a fix. I'm afraid that I'd be breaking things somewhere
ld/bfd on amd64 is just more fussy about linking DSOs.