Message ID | 20220829055223.24767-5-sv@linux.ibm.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | objtool: Enable and implement --mcount option on powerpc | expand |
Le 29/08/2022 à 07:52, Sathvika Vasireddy a écrit : > objtool throws the following unannotated intra-function call > warnings: > > arch/powerpc/kernel/entry_64.o: warning: objtool: .text+0x4: unannotated intra-function call > arch/powerpc/kvm/book3s_hv_rmhandlers.o: warning: objtool: .text+0xe64: unannotated intra-function call > arch/powerpc/kvm/book3s_hv_rmhandlers.o: warning: objtool: .text+0xee4: unannotated intra-function call > > Fix these warnings by annotating intra-function > call, using ANNOTATE_INTRA_FUNCTION_CALL macro, > to indicate that the branch targets are valid. > > Signed-off-by: Sathvika Vasireddy <sv@linux.ibm.com> Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu> > --- > arch/powerpc/kernel/entry_64.S | 2 ++ > arch/powerpc/kvm/book3s_hv_rmhandlers.S | 3 +++ > 2 files changed, 5 insertions(+) > > diff --git a/arch/powerpc/kernel/entry_64.S b/arch/powerpc/kernel/entry_64.S > index 01ace4c56104..fb444bc64f3f 100644 > --- a/arch/powerpc/kernel/entry_64.S > +++ b/arch/powerpc/kernel/entry_64.S > @@ -14,6 +14,7 @@ > * code, and exception/interrupt return code for PowerPC. > */ > > +#include <linux/objtool.h> > #include <linux/errno.h> > #include <linux/err.h> > #include <asm/cache.h> > @@ -73,6 +74,7 @@ flush_branch_caches: > > // Flush the link stack > .rept 64 > + ANNOTATE_INTRA_FUNCTION_CALL > bl .+4 > .endr > b 1f > diff --git a/arch/powerpc/kvm/book3s_hv_rmhandlers.S b/arch/powerpc/kvm/book3s_hv_rmhandlers.S > index de91118df0c5..ea39a0cf591a 100644 > --- a/arch/powerpc/kvm/book3s_hv_rmhandlers.S > +++ b/arch/powerpc/kvm/book3s_hv_rmhandlers.S > @@ -30,6 +30,7 @@ > #include <asm/feature-fixups.h> > #include <asm/cpuidle.h> > #include <linux/linkage.h> > +#include <linux/objtool.h> > > /* Values in HSTATE_NAPPING(r13) */ > #define NAPPING_CEDE 1 > @@ -1523,12 +1524,14 @@ kvm_flush_link_stack: > > /* Flush the link stack. On Power8 it's up to 32 entries in size. */ > .rept 32 > + ANNOTATE_INTRA_FUNCTION_CALL > bl .+4 > .endr > > /* And on Power9 it's up to 64. */ > BEGIN_FTR_SECTION > .rept 32 > + ANNOTATE_INTRA_FUNCTION_CALL > bl .+4 > .endr > END_FTR_SECTION_IFSET(CPU_FTR_ARCH_300)
diff --git a/arch/powerpc/kernel/entry_64.S b/arch/powerpc/kernel/entry_64.S index 01ace4c56104..fb444bc64f3f 100644 --- a/arch/powerpc/kernel/entry_64.S +++ b/arch/powerpc/kernel/entry_64.S @@ -14,6 +14,7 @@ * code, and exception/interrupt return code for PowerPC. */ +#include <linux/objtool.h> #include <linux/errno.h> #include <linux/err.h> #include <asm/cache.h> @@ -73,6 +74,7 @@ flush_branch_caches: // Flush the link stack .rept 64 + ANNOTATE_INTRA_FUNCTION_CALL bl .+4 .endr b 1f diff --git a/arch/powerpc/kvm/book3s_hv_rmhandlers.S b/arch/powerpc/kvm/book3s_hv_rmhandlers.S index de91118df0c5..ea39a0cf591a 100644 --- a/arch/powerpc/kvm/book3s_hv_rmhandlers.S +++ b/arch/powerpc/kvm/book3s_hv_rmhandlers.S @@ -30,6 +30,7 @@ #include <asm/feature-fixups.h> #include <asm/cpuidle.h> #include <linux/linkage.h> +#include <linux/objtool.h> /* Values in HSTATE_NAPPING(r13) */ #define NAPPING_CEDE 1 @@ -1523,12 +1524,14 @@ kvm_flush_link_stack: /* Flush the link stack. On Power8 it's up to 32 entries in size. */ .rept 32 + ANNOTATE_INTRA_FUNCTION_CALL bl .+4 .endr /* And on Power9 it's up to 64. */ BEGIN_FTR_SECTION .rept 32 + ANNOTATE_INTRA_FUNCTION_CALL bl .+4 .endr END_FTR_SECTION_IFSET(CPU_FTR_ARCH_300)
objtool throws the following unannotated intra-function call warnings: arch/powerpc/kernel/entry_64.o: warning: objtool: .text+0x4: unannotated intra-function call arch/powerpc/kvm/book3s_hv_rmhandlers.o: warning: objtool: .text+0xe64: unannotated intra-function call arch/powerpc/kvm/book3s_hv_rmhandlers.o: warning: objtool: .text+0xee4: unannotated intra-function call Fix these warnings by annotating intra-function call, using ANNOTATE_INTRA_FUNCTION_CALL macro, to indicate that the branch targets are valid. Signed-off-by: Sathvika Vasireddy <sv@linux.ibm.com> --- arch/powerpc/kernel/entry_64.S | 2 ++ arch/powerpc/kvm/book3s_hv_rmhandlers.S | 3 +++ 2 files changed, 5 insertions(+)