This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: Unresolved symbols when linking i960 programs
- To: binutils at sourceware dot cygnus dot com
- Subject: Re: Unresolved symbols when linking i960 programs
- From: Bill Marcotte <bill at pentek dot com>
> I am seeing strange behavior when linking i960 programs in elf32
> format
> which reference symbols defined in the linker command file. I have a
> program which references bss_start, etext, bdata, edata. When I try to
> link
> it, the linker gives me an undefined symbol error for one or more of
> them.
> If I change the order in which they are referenced in the code, it might
> now
> find the previously undefined symbol, but be able to resolve another
> one.
>
> If I compile or assmeble the program with the coff version of the
> compile
> and link it with the elf32 loader, all symbols are resolved.
>
> I believe there is something wrong in ld when linking prgrams in elf32
>
> format which reference symbols defined in the linker command file.
>
> I am using gcc-2.95.2 with binutils-2.10 on both Windows NT and
> Solaris.
>
> Does anybody have any ideas where the problem might be? Any help
> would
> be greatly appreciated.
I tracked down the problem. The hash table is getting corrupted. I changed
the DEFAULT_SIZE constant in binutils-2.10/bfd/hash.c from 4051 to 6051.
The problem has since gone away. I am not sure that I fixed the problem
or just covered it up.
I am surprised no one else is having this problem. If anyone has any better
ideas, please let me know.
Bill