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.