https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61577
--- Comment #167 from Peter Bisroev <peter.bisroev at groundlabs dot com> --- (In reply to dave.anglin from comment #166) > The problem is is the branch offset is too big. I believe GNU ld will > create a PLTOFF > entry in the PLT to handle this, but that's not happening with HP ld. > > In pa, we have have the -mlong-calls option which avoids these pc-relative > branches. > > It would be helpful to know how aCC avoids this problem. ... > It's the branch distance distance that's the main problem. Weak functions > are available > in C but they are much more common in C++. Thank you for the explanation Dave, Tonight I have been trying to find a test case where this problem can be reproduced with gcc and then compiled with aCC. Unfortunately no luck so far. With objdump I can see PCREL21B relocations in my .o files. However after the final linking, disassembly shows direct short branch if the distance is small enough and a call through a stub with brl.few if the distance is large enough. I have almost no experience with IA-64 arch, but this behavior seems expected to me. I will keep trying. Thanks! --peter