bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug ld/293] internal error, aborting at elf32-hppa.c line 3635 in elf32


From: amodra at bigpond dot net dot au
Subject: [Bug ld/293] internal error, aborting at elf32-hppa.c line 3635 in elf32_hppa_relocate_section
Date: 13 Aug 2004 07:52:13 -0000

------- Additional Comments From amodra at bigpond dot net dot au  2004-08-13 
07:52 -------
I did some poking at this with gdb.  The problem occurs on a PLABEL32 relocation
against xmlFileOpen__internal_alias, a hidden symbol.  The sequence of events 
is:

1) xmlFileOpen__internal_alias is added to the symbol table.
2) code in bfd_elf_link_add_symbols calls elf32_hppa_hide_symbol.
3) elf32_hppa_hide_symbol sets plt.offset to -1;  Since no plabel relocs using
   the symbol have been encountered at this point the plabel flag isn't set.
4) elf32_hppa_check_relocs processes the PLABEL32 relocs using the sym, and
   increments plt.refcount, back to zero.
5) there only happens to be one such PLABEL32 reloc using the sym.
6) elf32_hppa_adjust_dynamic_symbol sees plt.refcount <= 0, and decides no plt
   entry is needed.

So the real problem occurs in elf32_hppa_hide_symbol's treatment of the
plt.offset/plt.refcount union.  It should be setting the field to zero when it
is being used as a refcount, and to -1 when it's an offset.  The backend
hide_symbol functions do get called in both circumstances.


-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
   Last reconfirmed|0000-00-00 00:00:00         |2004-08-13 07:52:11
               date|                            |


http://sources.redhat.com/bugzilla/show_bug.cgi?id=293

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]