summaryrefslogtreecommitdiff
path: root/arch/arm/mach-bcm/Makefile
diff options
context:
space:
mode:
authorArd Biesheuvel <ardb@kernel.org>2022-01-26 11:40:02 +0100
committerArd Biesheuvel <ardb@kernel.org>2022-02-09 10:13:10 +0100
commit1f640552d9878f2dbcbd46c78078e4ea2eb2b262 (patch)
tree5be395246addb7b90d391f108614eaad8ca0e30c /arch/arm/mach-bcm/Makefile
parentdd12e97f3c7233a65a0125e5c5c793da16e1137d (diff)
ARM: cacheflush: avoid clobbering the frame pointer
Thumb2 uses R7 rather than R11 as the frame pointer, and even if we rarely use a frame pointer to begin with when building in Thumb2 mode, there are cases where it is required by the compiler (Clang when inserting profiling hooks via -pg) However, preserving and restoring the frame pointer is risky, as any unhandled exceptions raised in the mean time will produce a bogus backtrace, and it would be better not to touch the frame pointer at all. This is the case even when CONFIG_FRAME_POINTER is not set, as the unwind directive used by the unwinder may also use R7 or R11 as the unwind anchor, even if the frame pointer is not managed strictly according to the frame pointer ABI. So let's tweak the cacheflush asm code not to clobber R7 or R11 at all, so that we can drop R7 from the clobber lists of the inline asm blocks that call these routines, and remove the code that preserves/restores R11. Signed-off-by: Ard Biesheuvel <ardb@kernel.org> Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Diffstat (limited to 'arch/arm/mach-bcm/Makefile')
0 files changed, 0 insertions, 0 deletions