This is the mail archive of the mailing list for the binutils project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [AArch64] Workaround for cortex-a53 erratum 843419

On 30/03/15 15:40, Marcus Shawcroft wrote:
On 30/03/15 15:23, Marcus Shawcroft wrote:

Some early revisions of the Cortex-A53 have an erratum (843419).  The
details of the erratum are quite complex and involve dynamic conditions.
   For the purposes of the workaround we have simplified the static
conditions to an ADRP in the last two instructions of a 4KByte page,
followed within four instructions by a load/store dependent on the ADRP.

In order to apply this patch to a binutils-2.25 tree the following
prerequisite patches from trunk are also required (git hash, title, mail


This set of patches applies to 2.24 with some minor tweaking. In response to an off list request I thought it would be useful to share the runes for 2.24.

The following back ported patches are required, in order:

  8ef229f [AArch64] Removing unused functions.

  e2cdef4 Remove dead code.

  4c77202 [AArch64] Drop unused argument to

  2144188 [AArch64] Flip sense of erratum_835769_scan.

  ef85752 [AArch64] Factor out common behaviour between
  elf_aarch64_create_or_find_stub_sec and elfNN_aarch64_add_stub

  6658567 [AArch64] Factor stub creation code into

  13f622e [AArch64] Factor out _bfd_aarch64_resize_stubs()

  35fee8b Factor out _bfd_aarch64_erratum_835769_stub_name

  c53ed7c [OBV] Fix build -- missing ';'

  e572930 [AArch64] Use _bfd_aarch64_add_stub_entry_in_group.

The follow patch is required but requires some minor adjustment to cope with a change in the representation of section linked lists made between 2.24 and 2.25. A revised version of commit 5421cc5 is attached as patch-1.txt.

  5421cc6 [AArch64] Refactor generation of 835769 workaround stubs.

  30068a6 [AArch64] Refactor section_group[] representation.

  fc6d53b [AArch64] Factor out _bfd_aarch64_get_stub_for_link_section.

  357d152 [AArch64] Adjust veneer count.

  d9ced15 [AArch64] Remove padding before stub sections.

  6186551 [AArch64] Implement branch over stub section.

The 843419 workaround patch itself requires some minor adjustment to reflect the same linked list representation issue as above. A revised version of the patch is attached as patch-2.txt.

The ChangeLog entries for the two revised patches remain unchanged from the original submissions.


Attachment: patch-1.txt
Description: Text document

Attachment: patch-2.txt
Description: Text document

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]