On Tue, Feb 20, 2024 at 04:28:23PM +0100, Petr Pavlu wrote: > On 2/19/24 18:20, Mark Rutland wrote: > > On Thu, Feb 15, 2024 at 04:16:42PM +0100, Petr Pavlu wrote: > >> GCC recently added option -fmin-function-alignment, which should appear > >> in GCC 14. Unlike -falign-functions, this option causes all functions to > >> be aligned at the specified value, including the cold ones. > >> > >> Detect availability of -fmin-function-alignment and use it instead of > >> -falign-functions when present. Introduce CC_HAS_SANE_FUNCTION_ALIGNMENT > >> and make the workarounds for the broken function alignment conditional > >> on this setting. > >> > >> Signed-off-by: Petr Pavlu <petr.pavlu@xxxxxxxx> > > > > I don't have a GCC 14 build to play with, but this looks sound to me. > > > > Petr, are you able to test an arm64 kernel with this and DYNAMIC_FTRACE > > enabled? i.e. build that, and check that function symbols are all aligned to 8 > > bytes using objdump or similar? That way we could be pretty sure there's no > > other latent issue in this area. > > I tested an arm64 kernel with DYNAMIC_FTRACE, in particular with > DYNAMIC_FTRACE_WITH_CALL_OPS=y. That is actually the primary motivation > for this patch. We ran in our environment into some incorrectly aligned > functions with this option despite the kernel workarounds. They were > reported as "Misaligned patch-site" warnings from ftrace_call_adjust(). > I don't observe them anymore with -fmin-function-alignment in my tests. > Sorry, I should have mentioned this motivation in the commit message. No problem; thanks for confirming! Mark.