[Committed][AArch64] Refactor generation of 835769 workaround stubs.

Marcus Shawcroft marcus.shawcroft@arm.com
Tue Mar 24 12:10:00 GMT 2015


Hi,

This patch recognises that we only need to perform one scan for the
835769 errata and that this scan can take place before we insert
branch stubs.  The erratum scan code is relocated and adjusted to
create stub entries directly rather than populating an intermediate
representation.  Since stub entries are created immediately we can
drop the adhoc stub size adjustment code and allow the generic stub
sizing code to deal with 835769 stub entries.

This patch restructures the code but does not change the workaround
used to deal with erratum 835769, the exact placement of workaround
stubs in the final image may change slightly after this patch due to
stubs being created in a different order.

Committed

/Marcus

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

	* elfnn-aarch64.c (struct aarch64_erratum_835769_fix) Remove.
	(erratum_835769_scan) Drop fix_table_size_p and fixes_p arguments.
	Delete fixes, fix_table_size and associated code.  Call
	_bfd_aarch64_add_stub_entry_in_group. Rename to...
	(bfd_aarch64_erratum_835769_scan): Define.
	(elfNN_aarch64_size_stubs): Delete erratum_835769_fixes,
	erratum_835769_fix_table_size, i and associated code.  Relocate
	call to _bfd_aarch64_erratum_835769_scan.  Delete adhoc stub size
	correction.  Delete construction of stub entry from
	erratum_835769_fixes array.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-AArch64-Refactor-generation-of-835769-workaround-stu.patch
Type: text/x-patch
Size: 6513 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20150324/48ba5518/attachment.bin>


More information about the Binutils mailing list