This is the mail archive of the binutils@sourceware.org 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: [committed] Ensure pc-relative calls can reach their target on


On Thu, Feb 5, 2009 at 4:29 PM, John David Anglin
<dave@hiauly1.hia.nrc.ca> wrote:
>> > There is no long branch stub support and out of range branches are silent=
>> ly
>> > accepted.  We need to port the stub management code from elf32-hppa.c to
>> > elf64-hppa.c.  This is a bit tricky since the code has diverged in other
>> > ways.
>>
>> The long branch stub code does seem like it would be a worthy target
>> for trying to abstract out so more architectures can use it. For the
>> port of binutils I have here (still out of tree pending copyright
>> assignment) I adapted the elf32-hppa code. I believe powerpc also has
>> similar code, and I'm sure other architectures do as well.
>
> I'm definitely interested in long branch stub code for elf64-hppa
> and I suspect the implementation will be very similar to that for
> elf32-hppa.  It's somewhat simpler in that there's only one stub
> type.
>
> It's possible that there might be enough common code to abstract
> the solution out to other architectures.  I believe the current
> elf32-hppa implementation is lacking in that it can't handle large
> .text blocks (i.e., one needs to compile with -ffunction-sections).

I believe that is true, certainly the code I have adapted from there
comes with that restriction. Are there any ports that can do long
branch stubs in a more fine-grained way? I assume it would involve
using the linker relaxing hooks.


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