aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--coregrind/m_syswrap/syswrap-darwin.c2
-rw-r--r--memcheck/tests/darwin/scalar.c5
-rw-r--r--memcheck/tests/darwin/scalar.stderr.exp22
3 files changed, 24 insertions, 5 deletions
diff --git a/coregrind/m_syswrap/syswrap-darwin.c b/coregrind/m_syswrap/syswrap-darwin.c
index 4deb3a7a3..3bdc01a67 100644
--- a/coregrind/m_syswrap/syswrap-darwin.c
+++ b/coregrind/m_syswrap/syswrap-darwin.c
@@ -7064,7 +7064,7 @@ const SyscallTableEntry ML_(syscall_table)[] = {
GENX_(__NR_madvise, sys_madvise),
_____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(76)), // old vhangup
_____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(77)), // old vlimit
-// _____(__NR_mincore),
+ GENXY(__NR_mincore, sys_mincore),
GENXY(__NR_getgroups, sys_getgroups),
// _____(__NR_setgroups), // 80
GENX_(__NR_getpgrp, sys_getpgrp),
diff --git a/memcheck/tests/darwin/scalar.c b/memcheck/tests/darwin/scalar.c
index d5dc5a0a0..6c43caf98 100644
--- a/memcheck/tests/darwin/scalar.c
+++ b/memcheck/tests/darwin/scalar.c
@@ -160,7 +160,10 @@ int main(void)
GO_UNIMP(77, "old vlimit");
- // __NR_mincore 78
+ // __NR_mincore 218
+ GO(__NR_mincore, 218, "3s 1m");
+ SY(__NR_mincore, x0, x0+40960, x0); FAIL;
+
// __NR_getgroups 79
// __NR_setgroups 80
// __NR_getpgrp 81
diff --git a/memcheck/tests/darwin/scalar.stderr.exp b/memcheck/tests/darwin/scalar.stderr.exp
index c88f29a23..89f0580b8 100644
--- a/memcheck/tests/darwin/scalar.stderr.exp
+++ b/memcheck/tests/darwin/scalar.stderr.exp
@@ -235,6 +235,22 @@ Syscall param chown(path) points to unaddressable byte(s)
(77): old vlimit
-----------------------------------------------------
-----------------------------------------------------
+x200004e(218): __NR_mincore 3s 1m
+-----------------------------------------------------
+
+Syscall param mincore(start) contains uninitialised byte(s)
+ ...
+
+Syscall param mincore(length) contains uninitialised byte(s)
+ ...
+
+Syscall param mincore(vec) contains uninitialised byte(s)
+ ...
+
+Syscall param mincore(vec) points to unaddressable byte(s)
+ ...
+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
+-----------------------------------------------------
(78): old wait
-----------------------------------------------------
-----------------------------------------------------
@@ -615,6 +631,9 @@ Syscall param stat_extended(buf) points to unaddressable byte(s)
...
Address 0x........ is not stack'd, malloc'd or (recently) free'd
+More than 100 errors detected. Subsequent errors
+will still be recorded, but in less detail than before.
+
Syscall param stat_extended(fsacl_size) points to unaddressable byte(s)
...
Address 0x........ is not stack'd, malloc'd or (recently) free'd
@@ -632,9 +651,6 @@ Syscall param lstat_extended(file_name) contains uninitialised byte(s)
Syscall param lstat_extended(buf) contains uninitialised byte(s)
...
-More than 100 errors detected. Subsequent errors
-will still be recorded, but in less detail than before.
-
Syscall param lstat_extended(fsacl) contains uninitialised byte(s)
...