From mboxrd@z Thu Jan 1 00:00:00 1970 From: "John David Anglin" To: alan@linuxcare.com.au (Alan Modra) Cc: binutils@sourceware.cygnus.com, dhd@linuxcare.com Subject: Re: gas 2.10.91 from 20000920 cvs is broken under hpux 10.20 Date: Mon, 25 Sep 2000 09:08:00 -0000 Message-id: <200009251607.MAA12585@hiauly1.hia.nrc.ca> References: X-SW-Source: 2000-09/msg00430.html > 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)