On Mon, Oct 23, 2000 at 06:08:35PM -0700, Jun Sun wrote:
> > > 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
>
> This sounds like a serious problem to me. So here are the questions :
>
> 1) is it fixed in the latest binutils?
No, all binutils ever are affected.
> 2) is it worth fixed for binutil v2.8.1?
Probably not. I believe modulo some testing current CVS binutils are ready
for more serious use than just binutils fixing. In any case fixing should
be easy.
Ralf
|