This is the mail archive of the
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
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.
IBM OzLabs - Linux Technology Centre