b4ab436423
I got the ppc476 workaround wrong. bctr (and bctrl) as the last instruction in a page can hit the icache bug if the preceding mtctr insn is close by, and the destination is in the first few instructions on the next page. This scenario can occur with code generated by gcc to implement switch statements, or in code generated to call by function pointer. To prevent the bctr problem it is also necessary to remove other instructions that otherwise would be safe. bfd/ * elf32-ppc.c (ppc_elf_relocate_section): Remove bctr from list of safe ppc476 insns at end of page. Also remove non-branch insns. Expand comments. ld/ * emultempl/ppc32elf.em (no_zero_padding, ppc_finish): New functions. (LDEMUL_FINISH): Define. |
||
---|---|---|
.. | ||
aarch64elf.em | ||
aix.em | ||
alphaelf.em | ||
armcoff.em | ||
armelf.em | ||
astring.sed | ||
avrelf.em | ||
beos.em | ||
bfin.em | ||
cr16elf.em | ||
crxelf.em | ||
default-manifest.rc | ||
elf-generic.em | ||
elf32.em | ||
epiphanyelf_4x4.em | ||
genelf.em | ||
generic.em | ||
gld960.em | ||
gld960c.em | ||
hppaelf.em | ||
ia64elf.em | ||
irix.em | ||
linux.em | ||
lnk960.em | ||
m68hc1xelf.em | ||
m68kcoff.em | ||
m68kelf.em | ||
metagelf.em | ||
mipself.em | ||
mmix-elfnmmo.em | ||
mmixelf.em | ||
mmo.em | ||
nds32elf.em | ||
needrelax.em | ||
netbsd.em | ||
nios2elf.em | ||
ostring.sed | ||
pe.em | ||
pep.em | ||
ppc32elf.em | ||
ppc64elf.em | ||
README | ||
rxelf.em | ||
scoreelf.em | ||
sh64elf.em | ||
solaris2.em | ||
spu_icache.o_c | ||
spu_icache.S | ||
spu_ovl.o_c | ||
spu_ovl.S | ||
spuelf.em | ||
sunos.em | ||
tic6xdsbt.em | ||
ticoff.em | ||
vanilla.em | ||
vms.em | ||
vxworks.em | ||
xtensaelf.em | ||
z80.em |
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-2014 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.