From: Paul Floyd Date: Mon, 10 Nov 2025 08:25:54 +0000 (+0100) Subject: Darwin syscall args: missing piece for layout X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c430409dd6b7a7d43ae62c98a2c025709dce8057;p=thirdparty%2Fvalgrind.git Darwin syscall args: missing piece for layout Getting the layout and PRE_REG_READX in the PRE wrappers should now be correct for amd64. --- diff --git a/coregrind/m_syswrap/priv_types_n_macros.h b/coregrind/m_syswrap/priv_types_n_macros.h index 6da1cad31..3cc0be8a4 100644 --- a/coregrind/m_syswrap/priv_types_n_macros.h +++ b/coregrind/m_syswrap/priv_types_n_macros.h @@ -491,7 +491,7 @@ static inline UWord getERR ( SyscallStatus* st ) { # define PRA7(s,t,a) PSRAn(7,s,t,a) # define PRA8(s,t,a) PSRAn(8,s,t,a) -#elif defined(VGP_amd64_freebsd) +#elif defined(VGP_amd64_freebsd) || defined(VGP_amd64_darwin) /* Up to 8 parameters, 6 in registers, 2 on the stack. */ /* or 7 in registers and 3 on the stack */ # define PRA1(s,t,a) PRRAn(1,s,t,a) @@ -531,7 +531,7 @@ static inline UWord getERR ( SyscallStatus* st ) { # define PRA7(s,t,a) PSRAn(7,s,t,a) # define PRA8(s,t,a) PSRAn(8,s,t,a) -#elif defined(VGP_amd64_darwin) || defined(VGP_amd64_solaris) +#elif defined(VGP_amd64_solaris) /* Up to 8 parameters, 6 in registers, 2 on the stack. */ # define PRA1(s,t,a) PRRAn(1,s,t,a) # define PRA2(s,t,a) PRRAn(2,s,t,a) diff --git a/memcheck/tests/darwin/scalar.stderr.exp b/memcheck/tests/darwin/scalar.stderr.exp index a33641360..b0fd9e4a3 100644 --- a/memcheck/tests/darwin/scalar.stderr.exp +++ b/memcheck/tests/darwin/scalar.stderr.exp @@ -1061,6 +1061,9 @@ Syscall param kevent_qos(eventlist) contains uninitialised byte(s) Syscall param kevent_qos(nevents) contains uninitialised byte(s) ... +Syscall param kevent_qos(data_out) contains uninitialised byte(s) + ... + Syscall param kevent_qos(data_available) contains uninitialised byte(s) ...