On Fri, Jun 21, 2024, at 07:26, LEROY Christophe wrote: > Le 20/06/2024 à 23:21, Helge Deller a écrit : >> [Vous ne recevez pas souvent de courriers de deller@xxxxxx. Découvrez >> pourquoi ceci est important à >> https://aka.ms/LearnAboutSenderIdentification ] >> >> On 6/20/24 18:23, Arnd Bergmann wrote: >>> From: Arnd Bergmann <arnd@xxxxxxxx> >>> >>> The sys_fanotify_mark() syscall on parisc uses the reverse word order >>> for the two halves of the 64-bit argument compared to all syscalls on >>> all 32-bit architectures. As far as I can tell, the problem is that >>> the function arguments on parisc are sorted backwards (26, 25, 24, 23, >>> ...) compared to everyone else, >> >> r26 is arg0, r25 is arg1, and so on. >> I'm not sure I would call this "sorted backwards". >> I think the reason is simply that hppa is the only 32-bit big-endian >> arch left... > > powerpc/32 is big-endian: r3 is arg0, r4 is arg1, ... r10 is arg7. Right, I'm pretty sure the ordering is the same on arm, mips, s390, m68k, openrisc, sh and sparc when running 32-bit big-endian code. It's more likely to be related to the upward growing stack. I checked the gcc sources and found that out of the 50 supported architectures, ARGS_GROW_DOWNWARD is set on everything except for gcn, stormy16 and 32-bit parisc. The other two are little-endian though. STACK_GROWS_DOWNWARD in turn is set on everything other than parisc (both 32-bit and 64-bit). Arnd