|
From: <sv...@va...> - 2016-10-18 06:18:20
|
Author: sewardj
Date: Tue Oct 18 07:18:10 2016
New Revision: 16071
Log:
Merge from trunk:
15976 Prelim support for macOS Sierra (10.12). Partial fix for #365327.
Added:
branches/VALGRIND_3_12_BRANCH/darwin16.supp
- copied unchanged from r15976, trunk/darwin16.supp
Modified:
branches/VALGRIND_3_12_BRANCH/ (props changed)
branches/VALGRIND_3_12_BRANCH/Makefile.am
branches/VALGRIND_3_12_BRANCH/NEWS (contents, props changed)
branches/VALGRIND_3_12_BRANCH/configure.ac
branches/VALGRIND_3_12_BRANCH/coregrind/fixup_macho_loadcmds.c
branches/VALGRIND_3_12_BRANCH/coregrind/m_syswrap/syswrap-amd64-darwin.c
branches/VALGRIND_3_12_BRANCH/coregrind/m_syswrap/syswrap-x86-darwin.c
branches/VALGRIND_3_12_BRANCH/include/vki/vki-scnums-darwin.h
Modified: branches/VALGRIND_3_12_BRANCH/Makefile.am
==============================================================================
--- branches/VALGRIND_3_12_BRANCH/Makefile.am (original)
+++ branches/VALGRIND_3_12_BRANCH/Makefile.am Tue Oct 18 07:18:10 2016
@@ -47,6 +47,7 @@
darwin9.supp darwin9-drd.supp \
darwin10.supp darwin10-drd.supp \
darwin11.supp darwin12.supp darwin13.supp darwin14.supp darwin15.supp \
+ darwin16.supp \
bionic.supp \
solaris11.supp solaris12.supp
DEFAULT_SUPP_FILES = @DEFAULT_SUPP@
Modified: branches/VALGRIND_3_12_BRANCH/NEWS
==============================================================================
--- branches/VALGRIND_3_12_BRANCH/NEWS (original)
+++ branches/VALGRIND_3_12_BRANCH/NEWS Tue Oct 18 07:18:10 2016
@@ -4,6 +4,8 @@
* ================== PLATFORM CHANGES =================
+* Preliminary support for macOS 10.12 (Sierra) has been added.
+
* ==================== TOOL CHANGES ====================
* Memcheck:
Modified: branches/VALGRIND_3_12_BRANCH/configure.ac
==============================================================================
--- branches/VALGRIND_3_12_BRANCH/configure.ac (original)
+++ branches/VALGRIND_3_12_BRANCH/configure.ac Tue Oct 18 07:18:10 2016
@@ -353,6 +353,7 @@
AC_DEFINE([DARWIN_10_9], 100900, [DARWIN_VERS value for Mac OS X 10.9])
AC_DEFINE([DARWIN_10_10], 101000, [DARWIN_VERS value for Mac OS X 10.10])
AC_DEFINE([DARWIN_10_11], 101100, [DARWIN_VERS value for Mac OS X 10.11])
+ AC_DEFINE([DARWIN_10_12], 101200, [DARWIN_VERS value for macOS 10.12])
AC_MSG_CHECKING([for the kernel version])
kernel=`uname -r`
@@ -416,9 +417,15 @@
DEFAULT_SUPP="darwin15.supp ${DEFAULT_SUPP}"
DEFAULT_SUPP="darwin10-drd.supp ${DEFAULT_SUPP}"
;;
+ 16.*)
+ AC_MSG_RESULT([Darwin 16.x (${kernel}) / macOS 10.12 Sierra])
+ AC_DEFINE([DARWIN_VERS], DARWIN_10_12, [Darwin / Mac OS X version])
+ DEFAULT_SUPP="darwin16.supp ${DEFAULT_SUPP}"
+ DEFAULT_SUPP="darwin10-drd.supp ${DEFAULT_SUPP}"
+ ;;
*)
AC_MSG_RESULT([unsupported (${kernel})])
- AC_MSG_ERROR([Valgrind works on Darwin 10.x, 11.x, 12.x, 13.x, 14.x and 15.x (Mac OS X 10.6/7/8/9/10/11)])
+ AC_MSG_ERROR([Valgrind works on Darwin 10.x, 11.x, 12.x, 13.x, 14.x, 15.x and 16.x (Mac OS X 10.6/7/8/9/10/11 and macOS 10.12)])
;;
esac
;;
Modified: branches/VALGRIND_3_12_BRANCH/coregrind/fixup_macho_loadcmds.c
==============================================================================
--- branches/VALGRIND_3_12_BRANCH/coregrind/fixup_macho_loadcmds.c (original)
+++ branches/VALGRIND_3_12_BRANCH/coregrind/fixup_macho_loadcmds.c Tue Oct 18 07:18:10 2016
@@ -122,7 +122,7 @@
#if DARWIN_VERS != DARWIN_10_5 && DARWIN_VERS != DARWIN_10_6 \
&& DARWIN_VERS != DARWIN_10_7 && DARWIN_VERS != DARWIN_10_8 \
&& DARWIN_VERS != DARWIN_10_9 && DARWIN_VERS != DARWIN_10_10 \
- && DARWIN_VERS != DARWIN_10_11
+ && DARWIN_VERS != DARWIN_10_11 && DARWIN_VERS != DARWIN_10_12
# error "Unknown DARWIN_VERS value. This file only compiles on Darwin."
#endif
Modified: branches/VALGRIND_3_12_BRANCH/coregrind/m_syswrap/syswrap-amd64-darwin.c
==============================================================================
--- branches/VALGRIND_3_12_BRANCH/coregrind/m_syswrap/syswrap-amd64-darwin.c (original)
+++ branches/VALGRIND_3_12_BRANCH/coregrind/m_syswrap/syswrap-amd64-darwin.c Tue Oct 18 07:18:10 2016
@@ -479,7 +479,10 @@
UWord magic_delta = 0;
# elif DARWIN_VERS == DARWIN_10_7 || DARWIN_VERS == DARWIN_10_8
UWord magic_delta = 0x60;
-# elif DARWIN_VERS == DARWIN_10_9 || DARWIN_VERS == DARWIN_10_10 || DARWIN_VERS == DARWIN_10_11
+# elif DARWIN_VERS == DARWIN_10_9 \
+ || DARWIN_VERS == DARWIN_10_10 \
+ || DARWIN_VERS == DARWIN_10_11 \
+ || DARWIN_VERS == DARWIN_10_12
UWord magic_delta = 0xE0;
# else
# error "magic_delta: to be computed on new OS version"
Modified: branches/VALGRIND_3_12_BRANCH/coregrind/m_syswrap/syswrap-x86-darwin.c
==============================================================================
--- branches/VALGRIND_3_12_BRANCH/coregrind/m_syswrap/syswrap-x86-darwin.c (original)
+++ branches/VALGRIND_3_12_BRANCH/coregrind/m_syswrap/syswrap-x86-darwin.c Tue Oct 18 07:18:10 2016
@@ -427,7 +427,10 @@
UWord magic_delta = 0;
# elif DARWIN_VERS == DARWIN_10_7 || DARWIN_VERS == DARWIN_10_8
UWord magic_delta = 0x48;
-# elif DARWIN_VERS == DARWIN_10_9 || DARWIN_VERS == DARWIN_10_10 || DARWIN_VERS == DARWIN_10_11
+# elif DARWIN_VERS == DARWIN_10_9 \
+ || DARWIN_VERS == DARWIN_10_10 \
+ || DARWIN_VERS == DARWIN_10_11 \
+ || DARWIN_VERS == DARWIN_10_12
UWord magic_delta = 0xB0;
# else
# error "magic_delta: to be computed on new OS version"
Modified: branches/VALGRIND_3_12_BRANCH/include/vki/vki-scnums-darwin.h
==============================================================================
--- branches/VALGRIND_3_12_BRANCH/include/vki/vki-scnums-darwin.h (original)
+++ branches/VALGRIND_3_12_BRANCH/include/vki/vki-scnums-darwin.h Tue Oct 18 07:18:10 2016
@@ -756,6 +756,32 @@
/* 499 */
#endif /* DARWIN_VERS >= DARWIN_10_11 */
+// TODO Update with macOS 10.12 kernel (xnu) source code release
+#if DARWIN_VERS >= DARWIN_10_12
+ /* 500 */
+ /* 501 */
+ /* 502 */
+ /* 503 */
+ /* 504 */
+ /* 505 */
+ /* 506 */
+ /* 507 */
+ /* 508 */
+ /* 509 */
+ /* 510 */
+ /* 511 */
+ /* 512 */
+ /* 513 */
+ /* 514 */
+ /* 515 */
+ /* 516 */
+ /* 517 */
+ /* 518 */
+ /* 519 */
+ /* 520 */
+ /* 521 */
+#endif /* DARWIN_VERS >= DARWIN_10_12 */
+
#if DARWIN_VERS < DARWIN_10_6
#define __NR_MAXSYSCALL VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(427)
#elif DARWIN_VERS < DARWIN_10_7
@@ -768,6 +794,9 @@
#define __NR_MAXSYSCALL VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(490)
#elif DARWIN_VERS == DARWIN_10_11
#define __NR_MAXSYSCALL VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(500)
+#elif DARWIN_VERS == DARWIN_10_12
+// TODO Confirm against final release
+#define __NR_MAXSYSCALL VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(522)
#else
#error unknown darwin version
#endif
|