This is the mail archive of the 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

J. David Anglin                        
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]