[tip: objtool/core] objtool: Only include valid definitions depending on source file type

From: tip-bot2 for Julien Thierry
Date: Thu Sep 10 2020 - 15:01:23 EST


The following commit has been merged into the objtool/core branch of tip:

Commit-ID: 5567c6c39f3404e4492c18c0c1abff5556684f6e
Gitweb: https://git.kernel.org/tip/5567c6c39f3404e4492c18c0c1abff5556684f6e
Author: Julien Thierry <jthierry@xxxxxxxxxx>
AuthorDate: Fri, 04 Sep 2020 16:30:26 +01:00
Committer: Josh Poimboeuf <jpoimboe@xxxxxxxxxx>
CommitterDate: Thu, 10 Sep 2020 10:43:13 -05:00

objtool: Only include valid definitions depending on source file type

Header include/linux/objtool.h contains both C and assembly definition that
are visible regardless of the file including them.

Place definition under conditional __ASSEMBLY__.

Reviewed-by: Miroslav Benes <mbenes@xxxxxxx>
Signed-off-by: Julien Thierry <jthierry@xxxxxxxxxx>
Signed-off-by: Josh Poimboeuf <jpoimboe@xxxxxxxxxx>
---
include/linux/objtool.h | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/include/linux/objtool.h b/include/linux/objtool.h
index 358175c..15e9997 100644
--- a/include/linux/objtool.h
+++ b/include/linux/objtool.h
@@ -3,6 +3,8 @@
#define _LINUX_OBJTOOL_H

#ifdef CONFIG_STACK_VALIDATION
+
+#ifndef __ASSEMBLY__
/*
* This macro marks the given function's stack frame as "non-standard", which
* tells objtool to ignore the function when doing stack metadata validation.
@@ -15,6 +17,8 @@
static void __used __section(.discard.func_stack_frame_non_standard) \
*__func_stack_frame_non_standard_##func = func

+#else /* __ASSEMBLY__ */
+
/*
* This macro indicates that the following intra-function call is valid.
* Any non-annotated intra-function call will cause objtool to issue a warning.
@@ -25,6 +29,8 @@
.long 999b; \
.popsection;

+#endif /* __ASSEMBLY__ */
+
#else /* !CONFIG_STACK_VALIDATION */

#define STACK_FRAME_NON_STANDARD(func)