Commit db0b2991 authored by Rong Xu's avatar Rong Xu Committed by Masahiro Yamada
Browse files

vmlinux.lds.h: Add markers for text_unlikely and text_hot sections



Add markers like __hot_text_start, __hot_text_end, __unlikely_text_start,
and __unlikely_text_end which will be included in System.map. These markers
indicate how the compiler groups functions, providing valuable information
to developers about the layout and optimization of the code.

Co-developed-by: default avatarHan Shen <shenhan@google.com>
Signed-off-by: default avatarHan Shen <shenhan@google.com>
Signed-off-by: default avatarRong Xu <xur@google.com>
Suggested-by: default avatarSriraman Tallam <tmsriram@google.com>
Tested-by: default avatarYonghong Song <yonghong.song@linux.dev>
Tested-by: default avatarYabin Cui <yabinc@google.com>
Tested-by: default avatarNathan Chancellor <nathan@kernel.org>
Reviewed-by: default avatarKees Cook <kees@kernel.org>
Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
parent 0043ecea
Loading
Loading
Loading
Loading
+12 −2
Original line number Diff line number Diff line
@@ -549,6 +549,16 @@
		__cpuidle_text_end = .;					\
		__noinstr_text_end = .;

#define TEXT_UNLIKELY							\
		__unlikely_text_start = .;				\
		*(.text.unlikely .text.unlikely.*)			\
		__unlikely_text_end = .;

#define TEXT_HOT							\
		__hot_text_start = .;					\
		*(.text.hot .text.hot.*)				\
		__hot_text_end = .;

/*
 * .text section. Map to function alignment to avoid address changes
 * during second ld run in second ld pass when generating System.map
@@ -565,9 +575,9 @@
		ALIGN_FUNCTION();					\
		*(.text.asan.* .text.tsan.*)				\
		*(.text.unknown .text.unknown.*)			\
		*(.text.unlikely .text.unlikely.*)			\
		TEXT_UNLIKELY						\
		. = ALIGN(PAGE_SIZE);					\
		*(.text.hot .text.hot.*)				\
		TEXT_HOT						\
		*(TEXT_MAIN .text.fixup)				\
		NOINSTR_TEXT						\
		*(.ref.text)