[PATCH] crypto: powerpc: Mark ghashp8-ppc.o as an OBJECT_FILES_NON_STANDARD
Sathvika Vasireddy
sv at linux.ibm.com
Wed Mar 5 18:48:48 AEDT 2025
On 3/5/25 4:32 AM, Christophe Leroy wrote:
> The following build warning has been reported:
>
> arch/powerpc/crypto/ghashp8-ppc.o: warning: objtool: .text+0x22c: unannotated intra-function call
>
> This happens due to commit bb7f054f4de2 ("objtool/powerpc: Add support
> for decoding all types of uncond branches")
>
> Disassembly of arch/powerpc/crypto/ghashp8-ppc.o shows:
>
> arch/powerpc/crypto/ghashp8-ppc.o: file format elf64-powerpcle
>
> Disassembly of section .text:
>
> 0000000000000140 <gcm_ghash_p8>:
> 140: f8 ff 00 3c lis r0,-8
> ...
> 20c: 20 00 80 4e blr
> 210: 00 00 00 00 .long 0x0
> 214: 00 0c 14 00 .long 0x140c00
> 218: 00 00 04 00 .long 0x40000
> 21c: 00 00 00 00 .long 0x0
> 220: 47 48 41 53 rlwimi. r1,r26,9,1,3
> 224: 48 20 66 6f xoris r6,r27,8264
> 228: 72 20 50 6f xoris r16,r26,8306
> 22c: 77 65 72 49 bla 1726574 <gcm_ghash_p8+0x1726434> <==
> ...
>
> It corresponds to the following code in ghashp8-ppc.o :
>
> _GLOBAL(gcm_ghash_p8)
> lis 0,0xfff8
> ...
> blr
> .long 0
> .byte 0,12,0x14,0,0,0,4,0
> .long 0
> .size gcm_ghash_p8,.-gcm_ghash_p8
>
> .byte 71,72,65,83,72,32,102,111,114,32,80,111,119,101,114,73,83,65,32,50,46,48,55,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
> .align 2
> .align 2
>
> In fact this is raw data that is after the function end and that is
> not text so shouldn't be disassembled as text. But ghashp8-ppc.S is
> generated by a perl script and should have been marked as
> OBJECT_FILES_NON_STANDARD.
>
> Now that 'bla' is understood as a call instruction, that raw data
> is mis-interpreted as an infra-function call.
>
> Mark ghashp8-ppc.o as a OBJECT_FILES_NON_STANDARD to avoid this
> warning.
>
> Reported-by: Venkat Rao Bagalkote <venkat88 at linux.ibm.com>
> Closes: https://lore.kernel.org/all/8c4c3fc2-2bd7-4148-af68-2f504d6119e0@linux.ibm.com
> Cc: Danny Tsen <dtsen at linux.ibm.com>
> Fixes: 109303336a0c ("crypto: vmx - Move to arch/powerpc/crypto")
> Signed-off-by: Christophe Leroy <christophe.leroy at csgroup.eu>
> ---
> arch/powerpc/crypto/Makefile | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/arch/powerpc/crypto/Makefile b/arch/powerpc/crypto/Makefile
> index 9b38f4a7bc15..2f00b22b0823 100644
> --- a/arch/powerpc/crypto/Makefile
> +++ b/arch/powerpc/crypto/Makefile
> @@ -51,3 +51,4 @@ $(obj)/aesp8-ppc.S $(obj)/ghashp8-ppc.S: $(obj)/%.S: $(src)/%.pl FORCE
> OBJECT_FILES_NON_STANDARD_aesp10-ppc.o := y
> OBJECT_FILES_NON_STANDARD_ghashp10-ppc.o := y
> OBJECT_FILES_NON_STANDARD_aesp8-ppc.o := y
> +OBJECT_FILES_NON_STANDARD_ghashp8-ppc.o := y
Objtool is not invoked on this file anymore, and the warning is no
longer seen with this patch.
Patch looks good to me.
Reviewed-by: Sathvika Vasireddy <sv at linux.ibm.com>
Thanks,
Sathvika
More information about the Linuxppc-dev
mailing list