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: Linking very large programs with inadequate branch displacements


Dear Hans-Peter, Alan, Nick, and HJ:

What we'd like to do is to open up a hole in the bfd output section
and insert a springboard in it, so that the offending instruction can
instead branch to that nearby springboard and then use an absolute
address embedded in the springboard to jump to the far-distant target.



Usually referred to as a "trampoline" or "stub". For yet another implementation, see bfd/elf64-mmix.c, handling of R_MMIX_PUSHJ_STUBBABLE. See also gas/config/tc-mmix.c for when these relocs are generated.

We've now got our text sections relaxed, the trampolines inserted, and are bouncing merrily across 140MB executables.


Thanks for your help!
Bill


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