Hi, Thanks for giving directions. I've read the codes about this and got some conception. But I possibly made a mistake, I think. For the linker, ppc64elf.em and elf64-ppc.c have the solution. For the gcc, rs6000.c also has the solution. There is a mail, [tree-ssa] -longcall branch islands for Darwin/PPC, from Stuart Hastings on the mailing list talks about it. * rs6000.c (output_call, macho_branch_islands, add_compiler_branch_island, no_previous_def, get_previous_label) Revisions of xx_stub functions for branch islands, add -fPIC support for Darwin. * rs6000-protos.h (output_call) Prototype. * rs6000.md Use output_call. * invoke.texi Explain Darwin semantics of -longcall. * testsuite/gcc.dg/darwin-abi-1.c Revise testcase for -longcall/jbsr. Are they the same thing? If gcc just emits the instruction 'jbsr', then the assembler must be modified to handle this instruction. Then I need modify all the stuff, gcc, as, ld, bfd. I understand aright?
Best regards. Eric.