https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96061
Bug ID: 96061 Summary: Please support 'no_caller_saved_registers' attribute on aarch64 (or maybe on all targets) Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: alex.popov at linux dot com Target Milestone: --- This is an enhancement request. GCC currently supports 'no_caller_saved_registers' attribute only for x86. Clang supports it for all target architectures. It would be very useful for Linux kernel, if GCC supported 'no_caller_saved_registers' attribute for at least aarch64. In particular, that would allow to avoid useless work with caller-saved registers caused by STACKLEAK GCC plugin instrumentation for the Linux kernel on aarch64. This kernel patch uses 'no_caller_saved_registers' to fix the described issue on x86: https://www.openwall.com/lists/kernel-hardening/2020/06/24/13 (the patch is accepted for the mainline kernel) That GCC enhancement can be useful for _mcount (gprof) as well. Thanks!