|
From: Philippe W. <phi...@so...> - 2018-04-14 19:31:06
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=06cb991bcd9966b614cd672a7d6e26785f60f851 commit 06cb991bcd9966b614cd672a7d6e26785f60f851 Author: Philippe Waroquiers <phi...@sk...> Date: Sat Apr 14 21:27:26 2018 +0200 Unbreak build on macos, (problem introduced by 54145019b045fffde625447b64f3a91f663de718) Diff: --- coregrind/m_syswrap/syswrap-generic.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/coregrind/m_syswrap/syswrap-generic.c b/coregrind/m_syswrap/syswrap-generic.c index 5bb6f47..8b3d6fc 100644 --- a/coregrind/m_syswrap/syswrap-generic.c +++ b/coregrind/m_syswrap/syswrap-generic.c @@ -1794,13 +1794,20 @@ UInt get_sem_count( Int semid ) SysRes res; # if defined(__NR_semctl) +# if defined(VGO_darwin) + /* Darwin has no specific 64 bit semid_ds, but has __NR_semctl. */ + struct vki_semid_ds buf; + arg.buf = &buf; +# else struct vki_semid64_ds buf; arg.buf64 = &buf; +# endif res = VG_(do_syscall4)(__NR_semctl, semid, 0, VKI_IPC_STAT, *(UWord *)&arg); if (sr_isError(res)) return 0; return buf.sem_nsems; + # elif defined(__NR_semsys) /* Solaris */ struct vki_semid_ds buf; arg.buf = &buf; @@ -1810,6 +1817,7 @@ UInt get_sem_count( Int semid ) return 0; return buf.sem_nsems; + # else struct vki_semid_ds buf; arg.buf = &buf; |