mirror of
https://github.com/torvalds/linux.git
synced 2026-01-25 15:03:52 +08:00
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: Han Shen <shenhan@google.com> Signed-off-by: Han Shen <shenhan@google.com> Signed-off-by: Rong Xu <xur@google.com> Suggested-by: Sriraman Tallam <tmsriram@google.com> Tested-by: Yonghong Song <yonghong.song@linux.dev> Tested-by: Yabin Cui <yabinc@google.com> Tested-by: Nathan Chancellor <nathan@kernel.org> Reviewed-by: Kees Cook <kees@kernel.org> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user