This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
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.