This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: PATCH: ld/1263: ld reports: libgdbmciv.so: could not read symbols: File format not recognized
On Thu, Sep 08, 2005 at 12:45:12PM +0930, Alan Modra wrote:
> On Wed, Sep 07, 2005 at 07:53:15AM -0700, H. J. Lu wrote:
> > /* ld --just-symbols and dynamic objects don't mix very well.
> > - Test for --just-symbols by looking at info set up by
> > - _bfd_elf_link_just_syms. */
> > - if ((s = abfd->sections) != NULL
> > - && s->sec_info_type == ELF_INFO_TYPE_JUST_SYMS)
> > - goto error_return;
> > + ld shouldn't allow it. */
> > + BFD_ASSERT ((s = abfd->sections) == NULL
> > + || s->sec_info_type != ELF_INFO_TYPE_JUST_SYMS);
>
> I prefer a bigger hammer. Change the goto to an abort instead. A BFD
> assertion failure doesn't kill the linker, and we know that if we
> continue past this point other things are going to fail spectacularly.
>
I will check in this.
H.J.
----
2005-09-08 H.J. Lu <hongjiu.lu@intel.com>
PR ld/1263
* elflink.c (elf_link_add_object_symbols): Abort for
--just-symbols on DSO.
--- bfd/elflink.c.just 2005-09-07 08:56:43.000000000 -0700
+++ bfd/elflink.c 2005-09-08 07:20:37.000000000 -0700
@@ -3291,11 +3291,10 @@ elf_link_add_object_symbols (bfd *abfd,
int ret;
/* ld --just-symbols and dynamic objects don't mix very well.
- Test for --just-symbols by looking at info set up by
- _bfd_elf_link_just_syms. */
+ ld shouldn't allow it. */
if ((s = abfd->sections) != NULL
&& s->sec_info_type == ELF_INFO_TYPE_JUST_SYMS)
- goto error_return;
+ abort ();
/* If this dynamic lib was specified on the command line with
--as-needed in effect, then we don't want to add a DT_NEEDED