Le 24/02/2025 à 18:09, Nathan Chancellor a écrit :
On Mon, Feb 24, 2025 at 02:19:14PM +0100, Christophe Leroy wrote:
Well, this problem already exists on clang 18 it seems:
00000004 <btext_map>:
4: 7c 08 02 a6 mflr r0
8: 94 21 ff e0 stwu r1,-32(r1)
c: 93 c1 00 18 stw r30,24(r1)
10: 90 01 00 24 stw r0,36(r1)
14: 93 a1 00 14 stw r29,20(r1)
18: 48 00 00 05 bl 1c <btext_map+0x18>
1c: 38 a0 00 00 li r5,0
20: 7f c8 02 a6 mflr r30
While GCC generates:
00000418 <btext_map>:
418: 94 21 ff e0 stwu r1,-32(r1)
41c: 7c 08 02 a6 mflr r0
420: 42 9f 00 05 bcl 20,4*cr7+so,424 <btext_map+0xc>
424: 39 20 00 00 li r9,0
428: 93 c1 00 18 stw r30,24(r1)
42c: 7f c8 02 a6 mflr r30
So lets make the kernel tolerate it allthough it should be fixed on clang at
the end.
I can't find any related issue in the clang issues database
(https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fllvm%2Fllvm-project%2Fissues&data=05%7C02%7Cchristophe.leroy%40csgroup.eu%7C3c10d37fecd94c692acb08dd54f5ff51%7C8b87af7d86474dc78df45f69a2011bb5%7C0%7C0%7C638760137702082512%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=qOjbONjWUuXFKUNb42yEPXgXmvU6x%2BuwbGSg2Ep6WRk%3D&reserved=0),
should we open one ?
Yes please, especially if you happen to have a simplified reproducer
(but no worries if not). I can make sure it gets labeled for the PowerPC
backend folks to take a look at.
Done, see https://github.com/llvm/llvm-project/issues/128644