This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: gas 2.10.91 from 20000920 cvs is broken under hpux 10.20
- To: alan at linuxcare dot com dot au (Alan Modra)
- Subject: Re: gas 2.10.91 from 20000920 cvs is broken under hpux 10.20
- From: "John David Anglin" <dave at hiauly1 dot hia dot nrc dot ca>
- Date: Mon, 25 Sep 2000 12:07:52 -0400 (EDT)
- Cc: binutils at sourceware dot cygnus dot com, dhd at linuxcare dot com
> On Sun, 24 Sep 2000, John David Anglin wrote:
>
> > The external and weak checks should also be done for SOM.
>
> Agreed. However, adding the checks and emitting relocs caused problems,
> so until someone figures out why, I've gone back to the old SOM code.
The problem is now clear to me. The fix that I sent seems to work ok
under hpux. Binutils now has no failures and I did a complete bootstrap
of gcc with it.
The patch that I sent causes all recursive calls to have relocation data.
This may not be optimal as recursive calls shouldn't need relocation
data. However, the testing needed to determine if a call is recursive are
more complicated than what I submitted. As far as I could tell, branches
within procedures still have no relocation data. It is only branches
to procedure entry points that present a problem.
If you want to eliminate the relocation data for recursive calls, then
for example, the weak/external check must include a check to see if
this is not a recursive call to the symbol. Further, in the old code,
long branches always have relocation data. This would also have to be
fixed.
Dave
--
J. David Anglin dave.anglin@nrc.ca
National Research Council of Canada (613) 990-0752 (FAX: 952-6605)