------- Additional Comments From j at uriah dot heep dot sax dot de 2009-02-14
07:42 -------
The location of the crash is:
Program received signal SIGSEGV, Segmentation fault.
0x080985f0 in elf32_avr_relax_section (abfd=0x821e600, sec=0x826d014,
link_info=0x810ba40,
again=0xbfbfe318) at elf32-avr.c:2042
2042 if (isym->st_value ==
section_offset_of_ret_insn
(The line number still refers to binutils 2.18.)
isym is a NULL pointer here. The lines around it look like:
2037 /* Check for local symbols. */
2038 isym = (Elf_Internal_Sym *)
symtab_hdr->contents;
2039 isymend = isym + symtab_hdr->sh_info;
2040 for (; isym < isymend; isym++)
2041 {
2042 if (isym->st_value ==
section_offset_of_ret_insn
2043 && isym->st_shndx == sec_shndx)
2044 {
2045 deleting_ret_is_safe = 0;
2046 if (debug_relax)
and it's in fact already symtab_hdr->contents that is NULL.
symtab_hdr->sh_info is 24 though. Here's the entire symtab_hdr
entry:
(gdb) p *symtab_hdr
$4 = {sh_name = 1, sh_type = 2, sh_flags = 0, sh_addr = 0, sh_size = 576,
sh_entsize = 16,
sh_link = 21, sh_info = 24, sh_offset = 4188, sh_addralign = 4, bfd_section =
0x0, contents = 0x0}
(gdb) p/x *symtab_hdr
$5 = {sh_name = 0x1, sh_type = 0x2, sh_flags = 0x0, sh_addr = 0x0, sh_size =
0x240, sh_entsize = 0x10,
sh_link = 0x15, sh_info = 0x18, sh_offset = 0x105c, sh_addralign = 0x4,
bfd_section = 0x0,
contents = 0x0}
--
What |Removed |Added
----------------------------------------------------------------------------
CC| |bjoern dot m dot haase at
| |web dot de
http://sourceware.org/bugzilla/show_bug.cgi?id=9841
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
_______________________________________________
bug-binutils mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-binutils