aboutsummaryrefslogtreecommitdiff
path: root/COPYING3
diff options
context:
space:
mode:
authorPeter Bergner <bergner@linux.ibm.com>2024-06-19 16:07:29 -0500
committerPeter Bergner <bergner@linux.ibm.com>2024-07-16 20:35:25 -0500
commita05c3d23d1e1c8d2971b123804fc7a61a3561adb (patch)
tree97b38429af6f00e4de3320df763c850f1016c0b4 /COPYING3
parent1aa0f1627857c3e2d90982bdb07ca78ca10b26f3 (diff)
downloadgcc-a05c3d23d1e1c8d2971b123804fc7a61a3561adb.zip
gcc-a05c3d23d1e1c8d2971b123804fc7a61a3561adb.tar.gz
gcc-a05c3d23d1e1c8d2971b123804fc7a61a3561adb.tar.bz2
rs6000: ROP - Emit hashst and hashchk insns on Power8 and later [PR114759]
We currently only emit the ROP-protect hash* insns for Power10, where the insns were added to the architecture. We want to emit them for earlier cpus (where they operate as NOPs), so that if those older binaries are ever executed on a Power10, then they'll be protected from ROP attacks. Binutils accepts hashst and hashchk back to Power8, so change GCC to emit them for Power8 and later. This matches clang's behavior. 2024-06-19 Peter Bergner <bergner@linux.ibm.com> gcc/ PR target/114759 * config/rs6000/rs6000-logue.cc (rs6000_stack_info): Use TARGET_POWER8. (rs6000_emit_prologue): Likewise. * config/rs6000/rs6000.md (hashchk): Likewise. (hashst): Likewise. Fix whitespace. gcc/testsuite/ PR target/114759 * gcc.target/powerpc/pr114759-2.c: New test. * lib/target-supports.exp (rop_ok): Use check_effective_target_has_arch_pwr8.
Diffstat (limited to 'COPYING3')
0 files changed, 0 insertions, 0 deletions