------- 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 bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils