This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: gas 2.10.91 from 20000920 cvs is broken under hpux 10.20


> 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)

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]