fix ppc32 long branch stubs

Eric Christopher echristo@redhat.com
Thu Nov 6 20:30:00 GMT 2003


> 	* elf32-ppc.c (ppc_elf_install_value): Delete.
> 	(shared_stub_entry, stub_entry): Make them arrays of ints.
> 	Remove initial branch.
> 	(ppc_elf_relax_section): Write one branch around all trampolines
> 	instead.  Correct bogus R_PPC_PLTREL24 handling.  Correct
> 	branch range check.  Only use shared_stub_entry when shared.
> 	Test that branches can reach stubs.  Write trampolines out at
> 	end so that just one realloc is used.  Handle little-endian
> 	mode.  Move relevant code from ppc_elf_install_value to here.
> 	(ppc_elf_relocate_section): Move code handling RELAX32 from
> 	ppc_elf_install_value to here.

Wow. Cool. Thanks.

-eric

-- 
Eric Christopher <echristo@redhat.com>



More information about the Binutils mailing list