File tree Expand file tree Collapse file tree 6 files changed +14
-0
lines changed Expand file tree Collapse file tree 6 files changed +14
-0
lines changed Original file line number Diff line number Diff line change @@ -285,6 +285,13 @@ config ARCH_THREAD_STACK_ALLOCATOR
285
285
config ARCH_WANTS_DYNAMIC_TASK_STRUCT
286
286
bool
287
287
288
+ config ARCH_WANTS_NO_INSTR
289
+ bool
290
+ help
291
+ An architecture should select this if the noinstr macro is being used on
292
+ functions to denote that the toolchain should avoid instrumenting such
293
+ functions and is required for correctness.
294
+
288
295
config ARCH_32BIT_OFF_T
289
296
bool
290
297
depends on !64BIT
Original file line number Diff line number Diff line change @@ -93,6 +93,7 @@ config ARM64
93
93
select ARCH_WANT_FRAME_POINTERS
94
94
select ARCH_WANT_HUGE_PMD_SHARE if ARM64_4K_PAGES || (ARM64_16K_PAGES && !ARM64_VA_BITS_36)
95
95
select ARCH_WANT_LD_ORPHAN_WARN
96
+ select ARCH_WANTS_NO_INSTR
96
97
select ARCH_HAS_UBSAN_SANITIZE_ALL
97
98
select ARM_AMBA
98
99
select ARM_ARCH_TIMER
Original file line number Diff line number Diff line change @@ -117,6 +117,7 @@ config S390
117
117
select ARCH_USE_BUILTIN_BSWAP
118
118
select ARCH_USE_CMPXCHG_LOCKREF
119
119
select ARCH_WANTS_DYNAMIC_TASK_STRUCT
120
+ select ARCH_WANTS_NO_INSTR
120
121
select ARCH_WANT_DEFAULT_BPF_JIT
121
122
select ARCH_WANT_IPC_PARSE_VERSION
122
123
select BUILDTIME_TABLE_SORT
Original file line number Diff line number Diff line change @@ -113,6 +113,7 @@ config X86
113
113
select ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH
114
114
select ARCH_WANT_DEFAULT_BPF_JIT if X86_64
115
115
select ARCH_WANTS_DYNAMIC_TASK_STRUCT
116
+ select ARCH_WANTS_NO_INSTR
116
117
select ARCH_WANT_HUGE_PMD_SHARE
117
118
select ARCH_WANT_LD_ORPHAN_WARN
118
119
select ARCH_WANTS_THP_SWAP if X86_64
Original file line number Diff line number Diff line change @@ -83,6 +83,9 @@ config TOOLS_SUPPORT_RELR
83
83
config CC_HAS_ASM_INLINE
84
84
def_bool $(success,echo 'void foo(void) { asm inline (""); }' | $(CC) -x c - -c -o /dev/null)
85
85
86
+ config CC_HAS_NO_PROFILE_FN_ATTR
87
+ def_bool $(success,echo '__attribute__((no_profile_instrument_function)) int x();' | $(CC) -x c - -c -o /dev/null -Werror)
88
+
86
89
config CONSTRUCTORS
87
90
bool
88
91
Original file line number Diff line number Diff line change @@ -5,6 +5,7 @@ config GCOV_KERNEL
5
5
bool "Enable gcov-based kernel profiling"
6
6
depends on DEBUG_FS
7
7
depends on !CC_IS_CLANG || CLANG_VERSION >= 110000
8
+ depends on !ARCH_WANTS_NO_INSTR || CC_HAS_NO_PROFILE_FN_ATTR
8
9
select CONSTRUCTORS
9
10
default n
10
11
help
You can’t perform that action at this time.
0 commit comments