[PATCH 03/16] powerpc: Fix objtool unannotated intra-function call warnings

Sathvika Vasireddy sv at linux.vnet.ibm.com
Thu Aug 18 20:55:27 AEST 2022


On 10/08/22 14:02, Christophe Leroy wrote:
>
> Le 08/08/2022 à 13:48, Sathvika Vasireddy a écrit :
>> objtool throws unannotated intra-function call warnings
>> in the following assembly files.
>>
>> arch/powerpc/kernel/vector.o: warning: objtool: .text+0x53c: unannotated intra-function call
>>
>> arch/powerpc/kvm/book3s_hv_rmhandlers.o: warning: objtool: .text+0x60: unannotated intra-function call
>> arch/powerpc/kvm/book3s_hv_rmhandlers.o: warning: objtool: .text+0x124: unannotated intra-function call
>> arch/powerpc/kvm/book3s_hv_rmhandlers.o: warning: objtool: .text+0x5d4: unannotated intra-function call
>> arch/powerpc/kvm/book3s_hv_rmhandlers.o: warning: objtool: .text+0x5dc: unannotated intra-function call
>> arch/powerpc/kvm/book3s_hv_rmhandlers.o: warning: objtool: .text+0xcb8: unannotated intra-function call
>> arch/powerpc/kvm/book3s_hv_rmhandlers.o: warning: objtool: .text+0xd0c: unannotated intra-function call
>> arch/powerpc/kvm/book3s_hv_rmhandlers.o: warning: objtool: .text+0x1030: unannotated intra-function call
>>
>> arch/powerpc/kernel/head_64.o: warning: objtool: .text+0x358: unannotated intra-function call
>> arch/powerpc/kernel/head_64.o: warning: objtool: .text+0x728: unannotated intra-function call
>> arch/powerpc/kernel/head_64.o: warning: objtool: .text+0x4d94: unannotated intra-function call
>> arch/powerpc/kernel/head_64.o: warning: objtool: .text+0x4ec4: unannotated intra-function call
>>
>> arch/powerpc/kvm/book3s_hv_interrupts.o: warning: objtool: .text+0x6c: unannotated intra-function call
>> arch/powerpc/kernel/misc_64.o: warning: objtool: .text+0x64: unannotated intra-function call
>>
> Before explaining how you fix it, can you explain why we get it ?
Sure.

objtool does not add STT_NOTYPE symbols with size 0 to the rbtree, which 
is why find_call_destination()
function is not able to find the destination symbol for 'bl' 
instruction. For such symbols, objtool is throwing
unannotated intra-function call warnings in assembly files. Fix these 
warnings by adding
SYM_FUNC_START_LOCAL() and SYM_FUNC_END() annotations to those symbols 
to be able to set symbol
type to STT_FUNC and set size of these symbols accordingly.

I'll add this explanation to the commit message.

Thanks for reviewing.

- Sathvika


More information about the Linuxppc-dev mailing list