Thread (4 messages) 4 messages, 2 authors, 2022-08-24

Re: [PATCH] objtool: replace _ASM_PTR with quad in macros

From: Christophe Leroy <hidden>
Date: 2022-08-23 18:27:58
Also in: lkml


Le 23/08/2022 à 15:31, Chen Zhongjin a écrit :
Macros STACK_FRAME_NON_STANDARD and ANNOTATE_NOENDBR uses
_ASM_PTR. It switch between .long and .quad based on 32bit
or 64bit. However objtool doesn't work for 32bit, so _ASM_PTR
makes no sense.

Considering that _ASM_PTR comes from asm.h, which is x86
specific head file, while objtool.h is generic. Replace
_ASM_PTR with quad and remove asm.h reference.
objtool is about to be used on powerpc on both PPC32 and PPC64, see 
https://patchwork.ozlabs.org/project/linuxppc-dev/list/?series=312955&state=*

So if this part is meant to be used by all architectures, we need 
nothing that also works on 32 bits, don't we ?

Christophe

quoted hunk ↗ jump to hunk
Signed-off-by: Chen Zhongjin <redacted>
---
  include/linux/objtool.h       | 6 ++----
  tools/include/linux/objtool.h | 6 ++----
  2 files changed, 4 insertions(+), 8 deletions(-)
diff --git a/include/linux/objtool.h b/include/linux/objtool.h
index 62c54ffbeeaa..d2413cb78037 100644
--- a/include/linux/objtool.h
+++ b/include/linux/objtool.h
@@ -45,8 +45,6 @@ struct unwind_hint {
  
  #ifdef CONFIG_OBJTOOL
  
-#include <asm/asm.h>
-
  #ifndef __ASSEMBLY__
  
  #define UNWIND_HINT(sp_reg, sp_offset, type, end)		\
@@ -87,7 +85,7 @@ struct unwind_hint {
  #define ANNOTATE_NOENDBR					\
  	"986: \n\t"						\
  	".pushsection .discard.noendbr\n\t"			\
-	_ASM_PTR " 986b\n\t"					\
+	".quad 986b\n\t"					\
  	".popsection\n\t"
  
  #define ASM_REACHABLE							\
@@ -144,7 +142,7 @@ struct unwind_hint {
  
  .macro STACK_FRAME_NON_STANDARD func:req
  	.pushsection .discard.func_stack_frame_non_standard, "aw"
-	_ASM_PTR \func
+	.quad \func
  	.popsection
  .endm
  
diff --git a/tools/include/linux/objtool.h b/tools/include/linux/objtool.h
index 62c54ffbeeaa..d2413cb78037 100644
--- a/tools/include/linux/objtool.h
+++ b/tools/include/linux/objtool.h
@@ -45,8 +45,6 @@ struct unwind_hint {
  
  #ifdef CONFIG_OBJTOOL
  
-#include <asm/asm.h>
-
  #ifndef __ASSEMBLY__
  
  #define UNWIND_HINT(sp_reg, sp_offset, type, end)		\
@@ -87,7 +85,7 @@ struct unwind_hint {
  #define ANNOTATE_NOENDBR					\
  	"986: \n\t"						\
  	".pushsection .discard.noendbr\n\t"			\
-	_ASM_PTR " 986b\n\t"					\
+	".quad 986b\n\t"					\
  	".popsection\n\t"
  
  #define ASM_REACHABLE							\
@@ -144,7 +142,7 @@ struct unwind_hint {
  
  .macro STACK_FRAME_NON_STANDARD func:req
  	.pushsection .discard.func_stack_frame_non_standard, "aw"
-	_ASM_PTR \func
+	.quad \func
  	.popsection
  .endm
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help