This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: PATCH: ld/3351: aborting at elflink.c line 6778 in elf_link_check_versioned_symbol
- From: Alan Modra <amodra at bigpond dot net dot au>
- To: "H. J. Lu" <hjl at lucon dot org>
- Cc: binutils at sources dot redhat dot com
- Date: Thu, 19 Oct 2006 10:34:53 +0930
- Subject: Re: PATCH: ld/3351: aborting at elflink.c line 6778 in elf_link_check_versioned_symbol
- References: <20061017233105.GA15015@lucon.org> <20061018005712.GA15542@lucon.org>
On Tue, Oct 17, 2006 at 05:57:12PM -0700, H. J. Lu wrote:
> On Tue, Oct 17, 2006 at 04:31:05PM -0700, H. J. Lu wrote:
> > When a shared library references a forced local symbol in executable,
> > linker tries to issue an error. But it doesn't check indirect symbols.
> > Also, when we update real symbol reference flags, we fail to update
> > indirect symbol reference flags. This patch fixes both.
> >
>
> We have to be very careful about indiret symbol created by symbol
> versioning. This patch only updates some indirect symbol flags Should
> _bfd_elf_merge_symbol and elf_link_add_object_symbols update all
> indirect symbol flags at the same time when we update real symbol
> flags?
The usual practice in the linker is to copy flags from the indirect
symbol to the real one at the time the indirect symbol is created.
>From that point on test/modify only the real symbol flags. I don't
think you should copy anything back to the indirect symbol unless
there is a very good reason to do so.
--
Alan Modra
IBM OzLabs - Linux Technology Centre