binutils-gdb/ld/emultempl
Marcus Shawcroft 4106101c44 [AArch64] Workaround for Cortex A53 erratum 843419
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.

This patch adds support to conservatively scan for and workaround
Cortex A53 erratum 843419.  There are two different workaround
strategies used.  The first is to rewrite ADRP instructions which form
part of an erratum sequence with an ADR instruction.  In situations
where the ADR provides insufficient offset the dependent load or store
instruction from the sequence is moved to a stub section and branches
are inserted from the original sequence to the relocated instruction
and back again.

Stub section sizes are rounded up to a multiple of 4096 in order to
ensure that the act of inserting work around stubs does not create
more errata sequences.

Workaround stubs are always inserted into the stub section associated
with the input section containing the erratum sequence.  This ensures
that the fully relocated form of the veneered load store instruction
is available at the point in time when the stub section is written.
2015-04-01 13:16:38 +01:00
..
aarch64elf.em [AArch64] Workaround for Cortex A53 erratum 843419 2015-04-01 13:16:38 +01:00
aix.em ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
alphaelf.em ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
armcoff.em ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
armelf.em ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
astring.sed
avrelf.em ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
beos.em ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
bfin.em ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
cr16elf.em ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
crxelf.em ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
elf32.em Yet another warning fix 2015-04-01 13:14:53 +10:30
elf-generic.em ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
epiphanyelf_4x4.em ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
genelf.em ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
generic.em ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
gld960.em ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
gld960c.em ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
hppaelf.em ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ia64elf.em ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
irix.em ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
linux.em ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
lnk960.em ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
m68hc1xelf.em ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
m68kcoff.em ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
m68kelf.em ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
metagelf.em ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
mipself.em ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
mmix-elfnmmo.em ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
mmixelf.em ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
mmo.em ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
nds32elf.em ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
needrelax.em ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
netbsd.em ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
nios2elf.em ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ostring.sed
pe.em ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
pep.em ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ppc32elf.em ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ppc64elf.em xlc -z relro toc section fixes 2015-02-02 21:54:10 +10:30
README ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
rxelf.em ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
scoreelf.em ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
sh64elf.em ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
solaris2.em ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
spu_icache.o_c Regenerate spu overlay and icache manager files 2014-11-04 22:36:13 +10:30
spu_icache.S
spu_ovl.o_c Regenerate spu overlay and icache manager files 2014-11-04 22:36:13 +10:30
spu_ovl.S ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
spuelf.em ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
sunos.em ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
tic6xdsbt.em ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ticoff.em ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
v850elf.em Adds support for generating notes in V850 binaries. 2015-02-24 17:54:09 +00:00
vanilla.em ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
vms.em ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
vxworks.em ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
xtensaelf.em ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
z80.em ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

The files in this directory are sourced by genscripts.sh, after
setting some variables to substitute in, to produce
C source files that contain jump tables for each emulation.

Copyright (C) 2012-2015 Free Software Foundation, Inc.

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.