[Committed][AArch64] Implement branch over stub section.

Marcus Shawcroft marcus.shawcroft@arm.com
Wed Mar 25 15:23:00 GMT 2015


Ensure that injection of a stub section does not break a link where
there is an xpectation that flow of control can pass from one input
section to another simply by linking the input sections in series.

The solution here is to allow stub sections to be inserted after any
input section (existing behaviour), but inject an additional branch at
the start of each stub section such that control flow falling into the
stub section will branch over the stub section.

2015-03-25  Marcus Shawcroft  <marcus.shawcroft@arm.com>

	* elfnn-aarch64.c (_bfd_aarch64_resize_stubs): Adjust stub section
	size for initial branch.
	(elfNN_aarch64_build_stubs): Write initial branch.
	_bfd_aarch64_decode_(elfNN_aarch64_output_arch_local_syms): Write
	mapping symbol on initial branch.


  2015-03-25  Marcus Shawcroft  <marcus.shawcroft@arm.com>

	* ld-aarch64/erratum835769.d: Adjust for initial branch over stub
	section.
	* ld-aarch64/farcall-b.d: Likewise.
	* ld-aarch64/farcall-bl.d: Likewise.
	* ld-aarch64/farcall-back.d: Likewise.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0003-AArch64-Implement-branch-over-stub-section.patch
Type: text/x-patch
Size: 7490 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20150325/c9fac602/attachment.bin>


More information about the Binutils mailing list