linux-mips
[Top] [All Lists]

Re: problems with insmod ...

To: Keith Owens <kaos@melbourne.sgi.com>
Subject: Re: problems with insmod ...
From: Ralf Baechle <ralf@oss.sgi.com>
Date: Tue, 24 Oct 2000 02:40:40 +0200
Cc: Jun Sun <jsun@mvista.com>, linux-mips@oss.sgi.com
In-reply-to: <7690.972340323@ocs3.ocs-net>; from kaos@melbourne.sgi.com on Tue, Oct 24, 2000 at 09:32:03AM +1100
References: <39F48742.933941B8@mvista.com> <7690.972340323@ocs3.ocs-net>
Sender: owner-linux-mips@oss.sgi.com
On Tue, Oct 24, 2000 at 09:32:03AM +1100, Keith Owens wrote:

> On Mon, 23 Oct 2000 11:45:22 -0700, 
> Jun Sun <jsun@mvista.com> wrote:
> >I tried with 2.3.19, and now I am having problem with out of bound index
> >in symbol table.  See the output below.
> >
> >---------
> >sh-2.03# insmod hello.o
> >hello.o: local symbol gcc2_compiled. with index 10 exceeds
> >local_symtab_size 10
> >hello.o: local symbol __gnu_compiled_c with index 11 exceeds
> >local_symtab_size 10
> >---------
> 
> It is a toolchain bug, I think it is in the assembler.  I have a dim
> distant memory from about a month ago that somebody on linux-mips found
> the problem.  Ask the toolchain experts.

It's a bug bug in ld, one in BFD and a sillyness in IRIX ELF which the linker
uses.  IRIX ELF uses different sorting rules for the symbol table, see
mips_elf_sym_is_global in bfd/elf32-mips.c.

 - Bug one: ld generated output should follow the same rules as assembler
   generated output.
 - Bug two is more a design flaw - why does Linux/MIPS and most other
   MIPS ELF configurations use IRIX and not ABI ELF?
 - Bug three is that mips_elf_sym_is_global applies these IRIX ELF sorting
   rules even to ABI ELF.

  Ralf

<Prev in Thread] Current Thread [Next in Thread>