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 .endmdiff --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