[Top][All Lists]
[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.
- [Bug ld/293] internal error, aborting at elf32-hppa.c line 3635 in elf32_hppa_relocate_section,
amodra at bigpond dot net dot au <=