From: Paul Floyd Date: Wed, 5 Nov 2025 08:20:44 +0000 (+0100) Subject: FreeBSD arm64: reverse normal syscall and syscall syscall args X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9d9a20925bf33157025aaca5ac048ac6adf3761f;p=thirdparty%2Fvalgrind.git FreeBSD arm64: reverse normal syscall and syscall syscall args Copied and pasted in the wrong order. --- diff --git a/coregrind/m_syswrap/syswrap-main.c b/coregrind/m_syswrap/syswrap-main.c index ac2f161ec..45ece95cb 100644 --- a/coregrind/m_syswrap/syswrap-main.c +++ b/coregrind/m_syswrap/syswrap-main.c @@ -1923,6 +1923,17 @@ void getSyscallArgLayout ( /*OUT*/SyscallArgLayout* layout, /*IN*/Bool syscall_s #elif defined(VGP_arm64_freebsd) if (syscall_syscall) + { + layout->o_sysno = OFFSET_arm64_X0; + layout->o_arg1 = OFFSET_arm64_X1; + layout->o_arg2 = OFFSET_arm64_X2; + layout->o_arg3 = OFFSET_arm64_X3; + layout->o_arg4 = OFFSET_arm64_X4; + layout->o_arg5 = OFFSET_arm64_X5; + layout->o_arg6 = OFFSET_arm64_X6; + layout->o_arg7 = OFFSET_arm64_X7; + } + else { layout->o_sysno = OFFSET_arm64_X8; layout->o_arg1 = OFFSET_arm64_X0; @@ -1934,17 +1945,6 @@ void getSyscallArgLayout ( /*OUT*/SyscallArgLayout* layout, /*IN*/Bool syscall_s layout->o_arg7 = OFFSET_arm64_X6; layout->o_arg8 = OFFSET_arm64_X7; } - else - { - layout->o_sysno = OFFSET_arm64_X0; - layout->o_arg1 = OFFSET_arm64_X1; - layout->o_arg2 = OFFSET_arm64_X2; - layout->o_arg3 = OFFSET_arm64_X3; - layout->o_arg4 = OFFSET_arm64_X4; - layout->o_arg5 = OFFSET_arm64_X5; - layout->o_arg6 = OFFSET_arm64_X6; - layout->o_arg7 = OFFSET_arm64_X7; - } #elif defined(VGP_arm_linux) layout->o_sysno = OFFSET_arm_R7;