Hello Christophe,...
On 04/03/25 6:43 pm, Christophe Leroy wrote:
Le 04/03/2025 à 14:03, Venkat Rao Bagalkote a écrit :
[Vous ne recevez pas souvent de courriers de venkat88@xxxxxxxxxxxxx. Découvrez pourquoi ceci est important à https:// eur01.safelinks.protection.outlook.com/? url=https%3A%2F%2Faka.ms%2F&data=05%7C02%7Cchristophe.leroy%40csgroup.eu%7C3657f07f71b149ba489e08dd5b336e9a%7C8b87af7d86474dc78df45f69a2011bb5%7C0%7C0%7C638766998669498918%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=ZM65b%2F3BuUDy5Iet3kE1%2B%2BXKdjmM86UFsJwBmSHeiv4%3D&reserved=0 LearnAboutSenderIdentification ]
On 04/03/25 6:08 pm, Madhavan Srinivasan wrote:
Maddy,
On 3/4/25 4:58 PM, Madhavan Srinivasan wrote:
I guess this is becos, for bl .+4, we recently added in the arch_decode_instruction (decode.c) to set the type as INSN_OTHER
On 3/4/25 2:26 PM, Christophe Leroy wrote:
I could recreate the issue with gcc 11.4.1 20231218 with today's linux-next (but could not recreate with gcc 14 or gcc 11.3.0)
Le 04/03/2025 à 07:13, Madhavan Srinivasan a écrit :
Can you also tell which defconfig you are using or provide your .config
On 3/4/25 10:42 AM, Venkat Rao Bagalkote wrote:
Greetings!!Can you please specific the compiler and compiler version you found this issue with
Observing build warnings with linux-next and powerpc repo's. Issue is currently not seen on mainline yet.
PPC Repo: https://eur01.safelinks.protection.outlook.com/? url=https%3A%2F%2Fgit.kernel.org%2Fpub%2Fscm%2Flinux%2Fkernel%2Fgit%2Fpowerpc%2Flinux.git&data=05%7C02%7Cchristophe.leroy%40csgroup.eu%7C6e17cc771a204b2998b508dd5b1cf2cf%7C8b87af7d86474dc78df45f69a2011bb5%7C0%7C0%7C638766902127463526%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=f0ubC0BiY%2Fw2XLfXcX955JKhJ%2BRkUmTUVO4fV%2F%2F4v2Y%3D&reserved=0 merge branch
PPC Kernel Version: 6.14.0-rc4-g1304f486dbf1
next Repo: https://eur01.safelinks.protection.outlook.com/? url=https%3A%2F%2Fgit.kernel.org%2Fpub%2Fscm%2Flinux%2Fkernel%2Fgit%2Fnext%2Flinux-next.git&data=05%7C02%7Cchristophe.leroy%40csgroup.eu%7C6e17cc771a204b2998b508dd5b1cf2cf%7C8b87af7d86474dc78df45f69a2011bb5%7C0%7C0%7C638766902127477000%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=GSDtRBQ35owCeEpjMMCNiJw3iizdrUPQcHznop2BLeQ%3D&reserved=0 master branch
next Kernel Version: 6.14.0-rc5-next-20250303
On linux-next kernel issue got introduced b/w next-20250227 and next-20250303
Build Warnings:
arch/powerpc/kvm/book3s_hv_rmhandlers.o: warning: objtool: .text+0xe84: intra_function_call not a direct call
arch/powerpc/crypto/ghashp8-ppc.o: warning: objtool: .text+0x22c: unannotated intra-function call
arch/powerpc/kernel/switch.o: warning: objtool: .text+0x4: intra_function_call not a direct call
It might also be helpfull if you can provide a disassembly of the three file.o around the warned address.
(20d5c66e1810 (HEAD -> master, tag: next-20250304, origin/master, origin/HEAD) Add linux-next specific files for 20250304)
warning for one of the switch.S file :
CC arch/powerpc/kernel/syscalls.o
AS arch/powerpc/kernel/switch.o
arch/powerpc/kernel/switch.o: warning: objtool: .text+0x4: intra_function_call not a direct call
case 18: /* b[l][a] */
if (ins == 0x48000005) /* bl .+4 */
typ = INSN_OTHER;
Which I think is the issue here, changing it to INSN_CALL from INSN_OTHER fixes the warning
diff --git a/tools/objtool/arch/powerpc/decode.c b/tools/objtool/ arch/ powerpc/decode.c
index 26d5050424a9..ffd63a61a585 100644
--- a/tools/objtool/arch/powerpc/decode.c
+++ b/tools/objtool/arch/powerpc/decode.c
@@ -56,7 +56,7 @@ int arch_decode_instruction(struct objtool_file *file, const struct section *sec
switch (opcode) {
case 18: /* b[l][a] */
if (ins == 0x48000005) /* bl .+4 */
- typ = INSN_OTHER;
+ typ = INSN_CALL;
else if (ins & 1) /* bl[a] */
typ = INSN_CALL;
else /* b[a] */
Maddy
I changed the code manually and gave it a try. The Proposed fix,
partially fixes the issue. It gets rid of two of the warnings, but below
warning still persists.
It fixes the issue for you but will reintroduce the issue with clang.
The real fix is to remove the ANNOTATE_INTRA_FUNCTION_CALL in:
arch/powerpc/kernel/switch.S:42: ANNOTATE_INTRA_FUNCTION_CALL
arch/powerpc/kvm/book3s_hv_rmhandlers.S:1527: ANNOTATE_INTRA_FUNCTION_CALL
arch/powerpc/kvm/book3s_hv_rmhandlers.S:1534: ANNOTATE_INTRA_FUNCTION_CALL
Removed ANNOTATE_INTRA_FUNCTION_CALL in above mentioned line, and it fixes couple of warnings. But below warning still persists.
arch/powerpc/crypto/ghashp8-ppc.o: warning: objtool: .text+0x22c: unannotated intra-function call.
Can you give it a try ?
For the last one, can you provide an assembly dump ? You get it with "objtool -dr arch/powerpc/crypto/ghashp8-ppc.o"
Assembly dump:
objdump -dr arch/powerpc/crypto/ghashp8-ppc.o
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> <==