arch/powerpc/kvm/booke.o: warning: objtool: kvmppc_fill_pt_regs+0x30: unannotated intra-function call
As an attempt to fix it, I tried expanding ANNOTATE_INTRA_FUNCTION_CALL macro to indicate that the branch target is valid. It then threw another warning (arch/powerpc/kvm/booke.o: warning: objtool: kvmppc_fill_pt_regs+0x38: intra_function_call not a direct call). The below diff just removes the warnings for me, but I'm not very sure if this is the best way to fix the objtool warnings seen with this particular file. Please let me know if there are any better ways to fix it.
diff --git a/arch/powerpc/kvm/booke.c b/arch/powerpc/kvm/booke.c
index 0dce93ccaadf..b6a413824b98 100644
--- a/arch/powerpc/kvm/booke.c
+++ b/arch/powerpc/kvm/booke.c
@@ -917,7 +917,9 @@ static void kvmppc_fill_pt_regs(struct pt_regs *regs)
asm("mr %0, 1" : "=r"(r1));
asm("mflr %0" : "=r"(lr));
asm("mfmsr %0" : "=r"(msr));
+ asm(".pushsection .discard.intra_function_calls; .long 999f; .popsection; 999:");
asm("bl 1f; 1: mflr %0" : "=r"(ip));