This is the mail archive of the
binutils@sourceware.cygnus.com
mailing list for the binutils project.
Re: Make check failure: ARM in ld-bootstrap/bootstrap.exp...
- To: scottb@netwinder.org
- Subject: Re: Make check failure: ARM in ld-bootstrap/bootstrap.exp...
- From: Ian Lance Taylor <ian@zembu.com>
- Date: 3 Sep 1999 17:17:11 -0400
- CC: binutils@sourceware.cygnus.com
- References: <37D0382D.C2ED164A@netwinder.org>
Date: Fri, 03 Sep 1999 17:05:49 -0400
From: scottb <scottb@netwinder.org>
I ran into this after I fixed the earlier problems. I haven't had a
chance to delve into it yet, but I thought I would report it since it
may not be ARM Linux specific.
There is no immediately obvious linker bug here. The error messages
mean that a 24 bit PC relative relocation is being used to call a
symbol which is more than 24 bits away. You, or somebody, will need
to investigate further to see whether the relocation should success,
or whether the linker is using some bogus linker script which places
some code at a bad address, or whether the libraries should not be
assuming that a 24 bit PC relative relocation is always enough.
One thing to note is --static is not documented as a valid flag for ld
in the manual that I can find. I didn't check the source. I have tried
-Bstatic, and -static to no avail. The problem still occurs. Anyone
have any ideas? I'll try and look into this next week.
The linker does not distinguish a single dash before a long option
from a double dash, so --static and -static are the same.
The options -static, -Bstatic, -dn, and -non_shared are all
equivalent. They are used by various other linkers, and it makes life
easier for gcc when the GNU linker accepts the same options as other
linkers which gcc must be able to use.
Ian