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]
Other format: [Raw text]

Re: PATCH: IA64: Don't relax branch in .init/.fini sections.


On Tue, Jun 29, 2004 at 04:49:05PM -0700, Jim Wilson wrote:
> On Sat, 2004-06-26 at 22:53, H. J. Lu wrote:
> > 	* elfxx-ia64.c (elfNN_ia64_relax_section): Don't relax branch
> > 	in .init/.fini sections.
> 
> This looks OK to me.
> 
> You suggest using brl.  The gcc startup files deliberately use indirect
> branches to avoid this problem.  We load the function address into a
> register, and then branch on the register.  This also avoids use of brl
> which is a slow on an Itanium1.  If we can ignore Itanium1, then we can
> simplify the gcc startup code a little bit.
> 
> The error message doesn't give any hint about which instruction can't be
> relocated.  Which means if you have lots of them you are screwed.  This
> might be rare enough that we don't have to worry about it.  You didn't
> give any info on how the problem was detected, so I can't tell if this
> matters.

I will check in this shortly.


H.J.

Attachment: bfd-ia64-brl-2.patch
Description: Text document


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