This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: binutils is broken on ELF/mips (Re: binutils is broken on Linux/alpha)


On Fri, Oct 05, 2001 at 02:09:51AM +0930, Alan Modra wrote:
> On Thu, Oct 04, 2001 at 09:31:15AM -0700, H . J . Lu wrote:
> > 
> > http://sources.redhat.com/ml/binutils/2001-09/msg00507.html
> > 
> > breaks ELF/mips. I am trying to find out why. I think ELF/mips does
> > its own symbol tracking. Removing some linkonce symbols causes the
> > ELF/mips backend to crash. I don't know what other targets are also
> > affected.
> 
> Or is it just that the mips back-end relies on isec->symbol->value
> being set?

The ELF/mips backend died at

   5878             {
   5879               indx = elf_section_data (sec->output_section)->dynindx;
			     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   5880               if (indx == 0)
   5881                 abort ();
   5882             }

elf_section_data (sec->output_section) is NULL at this point. In this
case, `h' is NULL and `symbol' is NULL. The working one also has
`symbol' NULL, but `h' is

$4 = {root = {root = {root = {next = 0x0, string = 0x84a85b9 "pthread_once", 
        hash = 291017526}, type = bfd_link_hash_undefweak, next = 0x0, u = {
        undef = {abfd = 0x84a6128}, def = {value = 8386659489441014056, 
          section = 0x3328743a}, i = {link = 0x84a6128, 
          warning = 0x7463665f <Address 0x7463665f out of bounds>}, c = {
          size = 8386659489441014056, p = 0x3328743a}}}, indx = -1, 
    dynindx = 967, dynstr_index = 37518, elf_hash_value = 16825381, 
    weakdef = 0x0, linker_section_pointer = 0x0, verinfo = {verdef = 0x0, 
      vertree = 0x0}, vtable_entries_size = 0, vtable_entries_used = 0x0, 
    vtable_parent = 0x0, got = {refcount = 1, offset = 1}, plt = {
      refcount = -1, offset = 18446744073709551615}, size = 0, 
    type = 2 '\002', other = 0 '\000', elf_link_hash_flags = 165}, esym = {
    jmptbl = 0, cobol_main = 0, weakext = 0, reserved = 0, ifd = -2, asym = {
      iss = 0, value = 0, st = 0, sc = 0, reserved = 0, index = 0}}, 
  possibly_dynamic_relocs = 0, readonly_reloc = false, 
  min_dyn_reloc_index = 1667, no_fn_stub = true, fn_stub = 0x0, 
  need_fn_stub = true, call_stub = 0x0, call_fp_stub = 0x0}

h


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]