mirror of
https://github.com/Zenithsiz/ftmemsim-valgrind.git
synced 2026-02-04 02:18:37 +00:00
Fix OS X 10.10 (Yosemite) - missing system calls and fcntl code, courtesy of Bill Zissimopoulos
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14951
This commit is contained in:
parent
3e53930ad0
commit
f3c4b1a67a
1
NEWS
1
NEWS
@ -84,6 +84,7 @@ where XXXXXX is the bug number as listed below.
|
||||
342063 wrong format specifier for test mcblocklistsearch in gdbserver_tests
|
||||
342221 socket connect false positive uninit memory for unknown af family
|
||||
342603 Add I2C_SMBUS ioctl support
|
||||
342635 OS X 10.10 (Yosemite) - missing system calls and fcntl code
|
||||
342795 Internal glibc __GI_mempcpy call should be intercepted
|
||||
343012 Unhandled syscall 319 (memfd_create)
|
||||
343069 Patch updating v4l2 API support
|
||||
|
||||
@ -558,10 +558,10 @@ DECL_TEMPLATE(darwin, bsdthread_ctl); // 478
|
||||
// NYI sendmsg_x // 481
|
||||
// NYI thread_selfusage // 482
|
||||
// NYI csrctl // 483
|
||||
// NYI guarded_open_dprotected_np // 484
|
||||
// NYI guarded_write_np // 485
|
||||
// NYI guarded_pwrite_np // 486
|
||||
// NYI guarded_writev_np // 487
|
||||
DECL_TEMPLATE(darwin, guarded_open_dprotected_np); // 484
|
||||
DECL_TEMPLATE(darwin, guarded_write_np); // 485
|
||||
DECL_TEMPLATE(darwin, guarded_pwrite_np); // 486
|
||||
DECL_TEMPLATE(darwin, guarded_writev_np); // 487
|
||||
// NYI rename_ext // 488
|
||||
// NYI mremap_encrypted // 489
|
||||
#endif /* DARWIN_VERS == DARWIN_10_10 */
|
||||
|
||||
@ -1486,6 +1486,15 @@ PRE(fcntl)
|
||||
if (ARG2 == VKI_F_SETLKW)
|
||||
*flags |= SfMayBlock;
|
||||
break;
|
||||
# if DARWIN_VERS >= DARWIN_10_10
|
||||
case VKI_F_SETLKWTIMEOUT:
|
||||
PRINT("fcntl[ARG3=='locktimeout'] ( %ld, %ld, %#lx )", ARG1,ARG2,ARG3);
|
||||
PRE_REG_READ3(long, "fcntl",
|
||||
unsigned int, fd, unsigned int, cmd,
|
||||
struct flocktimeout *, lock);
|
||||
*flags |= SfMayBlock;
|
||||
break;
|
||||
# endif
|
||||
|
||||
// none
|
||||
case VKI_F_CHKCLEAN:
|
||||
@ -1650,7 +1659,10 @@ POST(fcntl)
|
||||
case VKI_F_GETLK:
|
||||
case VKI_F_SETLK:
|
||||
case VKI_F_SETLKW:
|
||||
# if DARWIN_VERS >= DARWIN_10_10
|
||||
case VKI_F_SETLKWTIMEOUT:
|
||||
break;
|
||||
# endif
|
||||
|
||||
case VKI_F_PREALLOCATE:
|
||||
{
|
||||
@ -1832,7 +1844,7 @@ POST(kqueue)
|
||||
|
||||
PRE(fileport_makeport)
|
||||
{
|
||||
PRINT("guarded_open_np(fd:%#lx, portnamep:%#lx) FIXME",
|
||||
PRINT("fileport_makeport(fd:%#lx, portnamep:%#lx) FIXME",
|
||||
ARG1, ARG2);
|
||||
}
|
||||
|
||||
@ -9182,6 +9194,32 @@ PRE(bsdthread_ctl)
|
||||
void*, cmd, void*, arg1, void*, arg2, void*, arg3);
|
||||
}
|
||||
|
||||
PRE(guarded_open_dprotected_np)
|
||||
{
|
||||
PRINT("guarded_open_dprotected_np("
|
||||
"path:%#lx(%s), guard:%#lx, guardflags:%#lx, flags:%#lx, "
|
||||
"dpclass:%#lx, dpflags: %#lx) FIXME",
|
||||
ARG1, (char*)ARG1, ARG2, ARG3, ARG4, ARG5, ARG6);
|
||||
}
|
||||
|
||||
PRE(guarded_write_np)
|
||||
{
|
||||
PRINT("guarded_write_np(fd:%ld, guard:%#lx, cbuf:%#lx, nbyte:%llu) FIXME",
|
||||
ARG1, ARG2, ARG3, (ULong)ARG4);
|
||||
}
|
||||
|
||||
PRE(guarded_pwrite_np)
|
||||
{
|
||||
PRINT("guarded_pwrite_np(fd:%ld, guard:%#lx, buf:%#lx, nbyte:%llu, offset:%lld) FIXME",
|
||||
ARG1, ARG2, ARG3, (ULong)ARG4, (Long)ARG5);
|
||||
}
|
||||
|
||||
PRE(guarded_writev_np)
|
||||
{
|
||||
PRINT("guarded_writev_np(fd:%ld, guard:%#lx, iovp:%#lx, iovcnt:%llu) FIXME",
|
||||
ARG1, ARG2, ARG3, (ULong)ARG4);
|
||||
}
|
||||
|
||||
#endif /* DARWIN_VERS >= DARWIN_10_10 */
|
||||
|
||||
|
||||
@ -9699,6 +9737,10 @@ const SyscallTableEntry ML_(syscall_table)[] = {
|
||||
MACXY(__NR_necp_match_policy, necp_match_policy), // 460
|
||||
MACXY(__NR_getattrlistbulk, getattrlistbulk), // 461
|
||||
MACX_(__NR_bsdthread_ctl, bsdthread_ctl), // 478
|
||||
MACX_(__NR_guarded_open_dprotected_np, guarded_open_dprotected_np),
|
||||
MACX_(__NR_guarded_write_np, guarded_write_np),
|
||||
MACX_(__NR_guarded_pwrite_np, guarded_pwrite_np),
|
||||
MACX_(__NR_guarded_writev_np, guarded_writev_np),
|
||||
#endif
|
||||
// _____(__NR_MAXSYSCALL)
|
||||
MACX_(__NR_DARWIN_FAKE_SIGRETURN, FAKE_SIGRETURN)
|
||||
|
||||
@ -278,6 +278,9 @@ typedef uint32_t vki_u32;
|
||||
#define VKI_F_GETLK F_GETLK
|
||||
#define VKI_F_SETLK F_SETLK
|
||||
#define VKI_F_SETLKW F_SETLKW
|
||||
#if DARWIN_VERS >= DARWIN_10_10
|
||||
#define VKI_F_SETLKWTIMEOUT F_SETLKWTIMEOUT
|
||||
#endif
|
||||
|
||||
#define VKI_F_CHKCLEAN F_CHKCLEAN
|
||||
#define VKI_F_PREALLOCATE F_PREALLOCATE
|
||||
|
||||
@ -711,10 +711,14 @@
|
||||
#define __NR_vfs_purge VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(455)
|
||||
#endif /* DARWIN_VERS >= DARWIN_10_9 */
|
||||
|
||||
#if DARWIN_VERS == DARWIN_10_10
|
||||
#if DARWIN_VERS >= DARWIN_10_10
|
||||
#define __NR_necp_match_policy VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(460)
|
||||
#define __NR_getattrlistbulk VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(461)
|
||||
#define __NR_bsdthread_ctl VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(478)
|
||||
#define __NR_guarded_open_dprotected_np VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(484)
|
||||
#define __NR_guarded_write_np VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(485)
|
||||
#define __NR_guarded_pwrite_np VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(486)
|
||||
#define __NR_guarded_writev_np VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(487)
|
||||
#endif
|
||||
|
||||
#if DARWIN_VERS < DARWIN_10_6
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user