Files
linux/include/linux
Petr Pavlu 5270316c9f kbuild: Use -fmin-function-alignment when available
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.

In particular, when an arm64 kernel is built with
DYNAMIC_FTRACE_WITH_CALL_OPS=y, the 8-byte function alignment is
required for correct functionality. This was done by -falign-functions=8
and having workarounds in the kernel to force the compiler to follow
this alignment. The new -fmin-function-alignment option directly
guarantees it.

Detect availability of -fmin-function-alignment and use it instead of
-falign-functions when present. Introduce CC_HAS_SANE_FUNCTION_ALIGNMENT
and enable __cold to work as expected when it is set.

Signed-off-by: Petr Pavlu <petr.pavlu@suse.com>
Reviewed-by: Nathan Chancellor <nathan@kernel.org>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
2024-02-25 18:04:26 +09:00
..
2023-10-24 13:08:14 -07:00
2023-05-20 19:20:30 +02:00
2024-01-02 17:54:05 +01:00
2023-09-18 09:28:22 +01:00
2023-05-19 23:23:52 +05:30
2023-08-23 08:21:37 +01:00
2023-09-11 08:13:18 +00:00
2023-12-20 19:26:32 -05:00
2023-10-11 08:46:01 -07:00
2023-12-02 22:24:36 +00:00
2023-12-15 16:25:55 -08:00
2023-10-04 10:41:56 -07:00
2023-12-20 14:48:13 -08:00
2023-12-20 07:39:52 -05:00
2023-12-12 14:24:14 +01:00
2024-01-08 09:36:55 +09:00
2024-01-19 11:59:11 -08:00
2023-06-13 16:49:23 +02:00
2024-01-02 11:25:28 +01:00
2024-01-18 21:10:43 +01:00
2023-05-01 17:50:18 -07:00
2023-12-20 19:26:31 -05:00
2023-12-20 19:26:31 -05:00
2023-12-20 19:26:31 -05:00
2023-07-14 13:47:07 -06:00
2023-10-11 10:11:54 -07:00
2023-10-18 14:43:21 -07:00
2023-10-04 10:41:57 -07:00
2023-12-20 19:26:30 -05:00
2023-11-28 15:48:39 +01:00
2023-10-16 12:44:06 -04:00
2023-10-16 12:44:06 -04:00
2023-08-18 10:18:59 -07:00
2023-10-18 10:01:33 +02:00
2023-06-20 20:17:10 -07:00
2023-11-15 22:41:27 -05:00
2024-01-04 10:47:56 -05:00
2023-12-20 19:26:30 -05:00
2023-08-18 10:12:25 -07:00
2023-06-23 16:59:30 -07:00
2024-01-15 12:10:41 -06:00
2024-01-15 12:10:41 -06:00
2023-06-05 09:36:39 +02:00
2023-11-15 10:15:40 +01:00
2023-12-20 19:26:31 -05:00
2023-12-20 19:26:31 -05:00
2023-12-20 19:26:31 -05:00
2023-12-20 19:26:31 -05:00
2024-01-09 15:00:09 +01:00
2023-12-20 19:26:30 -05:00
2023-12-27 11:49:56 -05:00
2023-08-12 09:18:47 -07:00
2023-10-06 11:01:23 +02:00
2023-05-23 12:55:12 -07:00
2023-12-20 19:26:32 -05:00
2023-07-15 11:34:49 -07:00
2023-12-27 11:49:56 -05:00
2023-12-20 19:26:31 -05:00
2023-11-15 10:15:33 +01:00
2023-06-23 16:59:28 -07:00
2023-12-20 19:26:32 -05:00
2023-12-20 19:26:32 -05:00
2023-12-20 19:26:32 -05:00
2024-02-15 12:17:28 -05:00
2023-12-08 12:02:38 +01:00
2023-06-11 18:22:47 +02:00
2023-12-20 19:26:31 -05:00
2024-01-21 18:09:30 +00:00
2023-10-15 13:19:42 +01:00
2024-01-19 11:59:11 -08:00
2023-10-18 14:43:21 -07:00
2023-12-29 11:58:32 -08:00
2023-08-21 13:37:26 -07:00
2023-12-28 05:02:42 -08:00
2023-11-17 15:48:03 +01:00
2023-12-20 19:26:31 -05:00
2023-12-20 19:26:31 -05:00
2023-08-07 17:55:54 +00:00
2023-08-11 21:12:47 +02:00
2023-12-08 12:02:37 +01:00
2023-12-20 19:26:30 -05:00
2023-09-14 16:16:36 +02:00
2023-12-06 16:12:48 -08:00
2023-12-29 11:58:24 -08:00
2023-08-24 13:27:47 -05:00
2023-04-21 03:02:34 -04:00