mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2026-04-29 12:28:27 +02:00
compiler_types: Identify compiler versions for __builtin_dynamic_object_size
Clarify when __builtin_dynamic_object_size() is available. All our supported Clang versions support it. GCC 12 and later support it. Link to documentation for both. Acked-by: Miguel Ojeda <ojeda@kernel.org> Link: https://lore.kernel.org/r/20250416172016.work.154-kees@kernel.org Signed-off-by: Kees Cook <kees@kernel.org>
This commit is contained in:
@@ -449,6 +449,11 @@ struct ftrace_likely_data {
|
||||
/*
|
||||
* When the size of an allocated object is needed, use the best available
|
||||
* mechanism to find it. (For cases where sizeof() cannot be used.)
|
||||
*
|
||||
* Optional: only supported since gcc >= 12
|
||||
*
|
||||
* gcc: https://gcc.gnu.org/onlinedocs/gcc/Object-Size-Checking.html
|
||||
* clang: https://clang.llvm.org/docs/LanguageExtensions.html#evaluating-object-size
|
||||
*/
|
||||
#if __has_builtin(__builtin_dynamic_object_size)
|
||||
#define __struct_size(p) __builtin_dynamic_object_size(p, 0)
|
||||
|
||||
Reference in New Issue
Block a user