]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Bug 513636 - Support macOS 12.0 (Monterey)
authorPaul Floyd <pjfloyd@wanadoo.fr>
Wed, 24 Dec 2025 16:36:11 +0000 (17:36 +0100)
committerPaul Floyd <pjfloyd@wanadoo.fr>
Wed, 24 Dec 2025 16:36:11 +0000 (17:36 +0100)
Intel only for the moment.

46 files changed:
configure.ac
coregrind/m_syswrap/priv_syswrap-darwin.h
coregrind/m_syswrap/syswrap-darwin.c
darwin.supp
include/vki/vki-scnums-darwin.h
massif/tests/alloc-fns-A.vgtest
massif/tests/alloc-fns-B.vgtest
massif/tests/basic.vgtest
massif/tests/basic2.vgtest
massif/tests/big-alloc.vgtest
massif/tests/bug469146.vgtest
massif/tests/culling1.stderr.exp
massif/tests/culling1.vgtest
massif/tests/culling2.vgtest
massif/tests/custom_alloc.vgtest
massif/tests/deep-A.vgtest
massif/tests/deep-B.stderr.exp
massif/tests/deep-B.vgtest
massif/tests/deep-C.stderr.exp
massif/tests/deep-C.vgtest
massif/tests/deep-D.vgtest
massif/tests/ignored.vgtest
massif/tests/ignoring.vgtest
massif/tests/insig.vgtest
massif/tests/long-names.vgtest
massif/tests/long-time.vgtest
massif/tests/new-cpp.vgtest
massif/tests/null.vgtest
massif/tests/one.vgtest
massif/tests/overloaded-new.vgtest
massif/tests/peak.vgtest
massif/tests/peak2.stderr.exp
massif/tests/peak2.vgtest
massif/tests/realloc.stderr.exp
massif/tests/realloc.vgtest
massif/tests/thresholds_0_0.vgtest
massif/tests/thresholds_0_10.vgtest
massif/tests/thresholds_10_0.vgtest
massif/tests/thresholds_10_10.vgtest
massif/tests/thresholds_5_0.vgtest
massif/tests/thresholds_5_10.vgtest
massif/tests/zero1.vgtest
massif/tests/zero2.vgtest
memcheck/tests/darwin.supp
none/tests/amd64-darwin/bug341419.c
none/tests/darwin/apple-main-arg.c

index 528e44b30015eb82d1be541ce84a66c3fcda281f..bca2b190202472f5d3a172c140abd5f37c9ede64 100644 (file)
@@ -554,6 +554,10 @@ case "${host_os}" in
                  AC_MSG_RESULT([Darwin 20.x (${kernel}) / macOS 11 Big Sur])
                  DARWIN_VERS=$DARWIN_11_00
                  ;;
+            21.*)
+                 AC_MSG_RESULT([Darwin 21.x (${kernel}) / macOS 12 Monterey])
+                 DARWIN_VERS=$DARWIN_12_00
+                 ;;
             *)
                  AC_MSG_RESULT([unsupported (${darwin_platform} ${kernel})])
                  AC_MSG_ERROR([Valgrind works on Darwin 12.x-19.x (Mac OS X 10.8-10.11, macOS 10.12-10.15)])
index f30136e291b519b35f74c07e9e154cdde84a6ebe..f80b007fae5838f7d977f7c650d084139cbce246 100644 (file)
@@ -672,6 +672,10 @@ DECL_TEMPLATE(darwin, task_read_for_pid); // 539
 DECL_TEMPLATE(darwin, ulock_wait2);       // 544
 // NYI proc_info_extended_id              // 545
 #endif
+#if DARWIN_VERS >= DARWIN_12_00
+// NYI tracker_action         // 546
+// NYI debug_syscall_reject   // 547
+#endif
 
 // Mach message helpers
 DECL_TEMPLATE(darwin, mach_port_set_context);
index 9d8ba22a3e838aec2507a94e0dbae04168079bd0..2784105af329f4404ae0924c116830fb67146d50 100644 (file)
@@ -77,6 +77,12 @@ typedef HChar name_t[BOOTSTRAP_MAX_NAME_LEN];
 
 typedef uint64_t mig_addr_t;
 
+// Apple started using more inclusive language in Xcode 12+ and macOS 12+
+#if !defined(HOST_IO_MAIN_PORT)
+#define HOST_IO_MAIN_PORT HOST_IO_MASTER_PORT
+#endif
+
+
 
 // Saved ports
 static mach_port_t vg_host_port = 0;
@@ -5566,8 +5572,8 @@ PRE(host_get_special_port)
             PRINT("host_get_special_port(%s, HOST_PRIV_PORT)",
                   name_for_port(MACH_REMOTE));
             break;
-        case HOST_IO_MASTER_PORT:
-            PRINT("host_get_special_port(%s, HOST_IO_MASTER_PORT)",
+        case HOST_IO_MAIN_PORT:
+            PRINT("host_get_special_port(%s, HOST_IO_MAIN_PORT)",
                   name_for_port(MACH_REMOTE));
             break;
         // Not provided by kernel
@@ -5628,7 +5634,7 @@ POST(host_get_special_port)
         case HOST_PRIV_PORT:
             assign_port_name(reply->port.name, "priv-%p");
             break;
-        case HOST_IO_MASTER_PORT:
+        case HOST_IO_MAIN_PORT:
             assign_port_name(reply->port.name, "io-master-%p");
             break;
         // Not provided by kernel
@@ -11212,6 +11218,14 @@ PRE(objc_bp_assist_cfg_np)
 #endif /* DARWIN_VERS >= DARWIN_11_00 */
 
 
+/* ---------------------------------------------------------------------
+ Added for macOS 12.0 (Monterey)
+ ------------------------------------------------------------------ */
+
+#if DARWIN_VERS >= DARWIN_12_00
+
+#endif /* DARWIN_VERS >= DARWIN_12_00 */
+
 /* ---------------------------------------------------------------------
    syscall tables
    ------------------------------------------------------------------ */
@@ -11863,7 +11877,10 @@ const SyscallTableEntry ML_(syscall_table)[] = {
    MACX_(__NR_ulock_wait2, ulock_wait2),                // 544
 // _____(__NR_proc_info_extended_id),                   // 545
 #endif
-
+#if DARWIN_VERS >= DARWIN_12_00
+// _____(__NR_tracker_action),                          // 546
+// _____(__NR_debug_syscall_reject),                    // 547
+#endif
    MACX_(__NR_darwin_fake_sigreturn, fake_sigreturn)
 };
 
index 1e05044fa916d0b1f01af1c546bd05f1cd594d6b..b53ea935966f88a54dd506ca3f638725c610f9d4 100644 (file)
    fun:_mh_execute_header
 }
 
+# FIXME PJF all these Addr* issues looks like problems with memory mapping
+
 {
    macOS1100:_dyld_start
    Memcheck:Addr8
    fun:_dyld_start
 }
 
+{
+   macOS1200:#dyld4::ProcessConfig::ProcessConfig(dyld4::KernelArgs const*, dyld4::SyscallDelegate&)
+   Memcheck:Addr1
+   ...
+   fun:_ZN5dyld413ProcessConfigC2EPKNS_10KernelArgsERNS_15SyscallDelegateE
+}
+
+{
+   macOS1200:#dyld4::ProcessConfig::ProcessConfig(dyld4::KernelArgs const*, dyld4::SyscallDelegate&)
+   Memcheck:Addr8
+   ...
+   fun:_ZN5dyld413ProcessConfigC2EPKNS_10KernelArgsERNS_15SyscallDelegateE
+}
+
+{
+   macOS1200:#dyld4::ProcessConfig::ProcessConfig(dyld4::KernelArgs const*, dyld4::SyscallDelegate&)
+   Memcheck:Addr4
+   ...
+   fun:_ZN5dyld413ProcessConfigC2EPKNS_10KernelArgsERNS_15SyscallDelegateE
+}
+
index 89f7fd3869b9ca6287419ed01e9028d4615278eb..d6cfe56e6035726bc31f7b60c62060ea8cc513c4 100644 (file)
 #define __NR_proc_info_extended_id              VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(545)
 #endif
 
+#if DARWIN_VERS >= DARWIN_12_00
+#define __NR_tracker_action         VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(546)
+#define __NR_debug_syscall_reject   VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(547)
+#endif
+
 #define __NR_darwin_fake_sigreturn  VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(1000)
 
 #endif
index ba3e87d196c9f6eb77c8b4b5001bced38c286d47..09f7295576f5b915f6fdb8a8841d276147affb3b 100644 (file)
@@ -7,5 +7,7 @@ vgopts: --alloc-fn=_xpc_malloc --ignore-fn=_xpc_dictionary_insert --ignore-fn=ma
 vgopts: --ignore-fn="_NXMapRehash(_NXMapTable*)" --ignore-fn=arc4_init --ignore-fn="realizeClassWithoutSwift(objc_class*)"
 # Darwin ignore functions, for macOS 10.15
 vgopts: --ignore-fn=_objc_init --ignore-fn-"objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="realizeClassWithoutSwift(objc_class*, objc_class*)" --ignore-fn="schedule_class_load(objc_class*)" --ignore-fn="objc::SafeRanges::add(unsigned long, unsigned long)"
+# Darwin ignore functions, for macOS 12
+vgopts: --ignore-fn=_xpc_alloc
 post: perl ../../massif/ms_print massif.out | ../../tests/filter_addresses | ./filter_ignore_fn
 cleanup: rm massif.out
index 2456604c6f000874546d2908903295dfec19809a..f00c768b5a45a8cd14ce648ca8fc0380441fabb5 100644 (file)
@@ -7,5 +7,7 @@ vgopts: --alloc-fn=_xpc_malloc --ignore-fn=_xpc_dictionary_insert --ignore-fn=ma
 vgopts: --ignore-fn="_NXMapRehash(_NXMapTable*)" --ignore-fn=arc4_init --ignore-fn="realizeClassWithoutSwift(objc_class*)"
 # Darwin ignore functions, for macOS 10.15
 vgopts: --ignore-fn=_objc_init --ignore-fn-"objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="realizeClassWithoutSwift(objc_class*, objc_class*)" --ignore-fn="schedule_class_load(objc_class*)" --ignore-fn="objc::SafeRanges::add(unsigned long, unsigned long)"
+# Darwin ignore functions, for macOS 12
+vgopts: --ignore-fn=_xpc_alloc
 post: perl ../../massif/ms_print massif.out | ../../tests/filter_addresses | ./filter_ignore_fn
 cleanup: rm massif.out
index 0a3bc1054c6b9e6f69492ccdd800cc2e3fb079f1..fc385817529382cc07144340546d5433a7de9f14 100644 (file)
@@ -7,5 +7,7 @@ vgopts: --alloc-fn=_xpc_malloc --ignore-fn=_xpc_dictionary_insert --ignore-fn=ma
 vgopts: --ignore-fn="_NXMapRehash(_NXMapTable*)" --ignore-fn=arc4_init --ignore-fn="realizeClassWithoutSwift(objc_class*)"
 # Darwin ignore functions, for macOS 10.15
 vgopts: --ignore-fn=_objc_init --ignore-fn-"objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="realizeClassWithoutSwift(objc_class*, objc_class*)" --ignore-fn="schedule_class_load(objc_class*)" --ignore-fn="objc::SafeRanges::add(unsigned long, unsigned long)"
+# Darwin ignore functions, for macOS 12
+vgopts: --ignore-fn=_xpc_alloc
 post: perl ../../massif/ms_print massif.out | ../../tests/filter_addresses | ./filter_ignore_fn
 cleanup: rm massif.out
index 950b57e5b853069f58e2034b69c35dc912084aeb..97442dfaec738e6c563f996b1e80261486c7aa1b 100644 (file)
@@ -7,5 +7,7 @@ vgopts: --alloc-fn=_xpc_malloc --ignore-fn=_xpc_dictionary_insert --ignore-fn=ma
 vgopts: --ignore-fn="_NXMapRehash(_NXMapTable*)" --ignore-fn=arc4_init --ignore-fn="realizeClassWithoutSwift(objc_class*)"
 # Darwin ignore functions, for macOS 10.15
 vgopts: --ignore-fn=_objc_init --ignore-fn-"objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="realizeClassWithoutSwift(objc_class*, objc_class*)" --ignore-fn="schedule_class_load(objc_class*)" --ignore-fn="objc::SafeRanges::add(unsigned long, unsigned long)"
+# Darwin ignore functions, for macOS 12
+vgopts: --ignore-fn=_xpc_alloc
 post: perl ../../massif/ms_print massif.out | ../../tests/filter_addresses | ./filter_ignore_fn
 cleanup: rm massif.out
index b2520b997eaf6d955ee9682b3a83d2cf1ccdc84a..0e9e732186971545cda8ce77d243570242eeb192 100644 (file)
@@ -7,5 +7,7 @@ vgopts: --alloc-fn=_xpc_malloc --ignore-fn=_xpc_dictionary_insert --ignore-fn=ma
 vgopts: --ignore-fn="_NXMapRehash(_NXMapTable*)" --ignore-fn=arc4_init --ignore-fn="realizeClassWithoutSwift(objc_class*)"
 # Darwin ignore functions, for macOS 10.15
 vgopts: --ignore-fn=_objc_init --ignore-fn-"objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="realizeClassWithoutSwift(objc_class*, objc_class*)" --ignore-fn="schedule_class_load(objc_class*)" --ignore-fn="objc::SafeRanges::add(unsigned long, unsigned long)"
+# Darwin ignore functions, for macOS 12
+vgopts: --ignore-fn=_xpc_alloc
 post: perl ../../massif/ms_print massif.out | ../../tests/filter_addresses | ./filter_ignore_fn
 cleanup: rm massif.out
index 2004bf2688ba64c78cf49f7bf5c766b670c6b327..ad5408347e2a2136e377fc9e7d943aa7235b5a4d 100644 (file)
@@ -10,5 +10,7 @@ vgopts: --ignore-fn="allocBuckets(void*, unsigned int)" --ignore-fn=map_images_n
 vgopts: --ignore-fn="_NXMapRehash(_NXMapTable*)" --ignore-fn=arc4_init --ignore-fn="realizeClassWithoutSwift(objc_class*)"
 # Darwin ignore functions, for macOS 10.15
 vgopts: --ignore-fn=_objc_init --ignore-fn-"objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="realizeClassWithoutSwift(objc_class*, objc_class*)" --ignore-fn="schedule_class_load(objc_class*)" --ignore-fn="objc::SafeRanges::add(unsigned long, unsigned long)"
+# Darwin ignore functions, for macOS 12
+vgopts: --ignore-fn=_xpc_alloc
 post: perl ../../massif/ms_print massif.out | sed 's/gcc[0-9]*/gcc/' | ../../tests/filter_addresses | ./filter_ignore_fn
 cleanup: rm massif.out
index eaa4e7294474ca589f6fe44287dea1dba58d2b1e..859c840a15e4000b3c851e34bcf43ced364131cc 100644 (file)
@@ -44,6 +44,7 @@ Massif:   20: objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::Den
 Massif:   21: realizeClassWithoutSwift(objc_class*, objc_class*)
 Massif:   22: schedule_class_load(objc_class*)
 Massif:   23: objc::SafeRanges::add(unsigned long, unsigned long)
+Massif:   24: _xpc_alloc
 Massif: startup S.  0 (t:0, hp:0, ex:0, st:0)
 Massif:   alloc S.  1 (t:32, hp:16, ex:16, st:0)
 Massif:   alloc S.  2 (t:64, hp:32, ex:32, st:0)
index 9dbfa6665a1b8d1a3c6ed950b8791af64df4ef3b..9682aaadf17eec6a12c19947432691e19fe49b5b 100644 (file)
@@ -7,5 +7,7 @@ vgopts: --alloc-fn=_xpc_malloc --ignore-fn=_xpc_dictionary_insert --ignore-fn=ma
 vgopts: --ignore-fn="_NXMapRehash(_NXMapTable*)" --ignore-fn=arc4_init --ignore-fn="realizeClassWithoutSwift(objc_class*)"
 # Darwin ignore functions, for macOS 10.15
 vgopts: --ignore-fn=_objc_init --ignore-fn-"objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="realizeClassWithoutSwift(objc_class*, objc_class*)" --ignore-fn="schedule_class_load(objc_class*)" --ignore-fn="objc::SafeRanges::add(unsigned long, unsigned long)"
+# Darwin ignore functions, for macOS 12
+vgopts: --ignore-fn=_xpc_alloc
 stderr_filter: filter_verbose
 cleanup: rm massif.out
index a5b4771a71306c84eb425eeb0619851c63889624..b9bfe81d162e41ef6fd82882a53008bb4ce67dac 100644 (file)
@@ -7,5 +7,7 @@ vgopts: --alloc-fn=_xpc_malloc --ignore-fn=_xpc_dictionary_insert --ignore-fn=ma
 vgopts: --ignore-fn="_NXMapRehash(_NXMapTable*)" --ignore-fn=arc4_init --ignore-fn="realizeClassWithoutSwift(objc_class*)"
 # Darwin ignore functions, for macOS 10.15
 vgopts: --ignore-fn=_objc_init --ignore-fn-"objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="realizeClassWithoutSwift(objc_class*, objc_class*)" --ignore-fn="schedule_class_load(objc_class*)" --ignore-fn="objc::SafeRanges::add(unsigned long, unsigned long)"
+# Darwin ignore functions, for macOS 12
+vgopts: --ignore-fn=_xpc_alloc
 stderr_filter: filter_verbose
 cleanup: rm massif.out
index 6db7e483b141f75d4985b27e09f06ddf9f665201..07e5ad18c114ff3ba326b892e13796a5005b43fe 100644 (file)
@@ -7,5 +7,7 @@ vgopts: --alloc-fn=_xpc_malloc --ignore-fn=_xpc_dictionary_insert --ignore-fn=ma
 vgopts: --ignore-fn="_NXMapRehash(_NXMapTable*)" --ignore-fn=arc4_init --ignore-fn="realizeClassWithoutSwift(objc_class*)"
 # Darwin ignore functions, for macOS 10.15
 vgopts: --ignore-fn=_objc_init --ignore-fn-"objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="realizeClassWithoutSwift(objc_class*, objc_class*)" --ignore-fn="schedule_class_load(objc_class*)" --ignore-fn="objc::SafeRanges::add(unsigned long, unsigned long)"
+# Darwin ignore functions, for macOS 12
+vgopts: --ignore-fn=_xpc_alloc
 post: perl ../../massif/ms_print massif.out | ../../tests/filter_addresses  | ./filter_ignore_fn
 cleanup: rm massif.out
index cd80c108da96bea5a3b8badc08aa62c8d364f962..5d90b8a65dc843c2a859bd5fad11400b4e235d06 100644 (file)
@@ -7,5 +7,7 @@ vgopts: --alloc-fn=_xpc_malloc --ignore-fn=_xpc_dictionary_insert --ignore-fn=ma
 vgopts: --ignore-fn="_NXMapRehash(_NXMapTable*)" --ignore-fn=arc4_init --ignore-fn="realizeClassWithoutSwift(objc_class*)"
 # Darwin ignore functions, for macOS 10.15
 vgopts: --ignore-fn=_objc_init --ignore-fn-"objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="realizeClassWithoutSwift(objc_class*, objc_class*)" --ignore-fn="schedule_class_load(objc_class*)" --ignore-fn="objc::SafeRanges::add(unsigned long, unsigned long)"
+# Darwin ignore functions, for macOS 12
+vgopts: --ignore-fn=_xpc_alloc
 post: perl ../../massif/ms_print massif.out | ../../tests/filter_addresses | ./filter_ignore_fn
 cleanup: rm massif.out
index f3fd39d2aee4574af3e297b00aa6c1774b1adf63..56f1339f3c125b09833639f6470e133a7c585958 100644 (file)
@@ -51,6 +51,7 @@ Massif:   20: objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::Den
 Massif:   21: realizeClassWithoutSwift(objc_class*, objc_class*)
 Massif:   22: schedule_class_load(objc_class*)
 Massif:   23: objc::SafeRanges::add(unsigned long, unsigned long)
+Massif:   24: _xpc_alloc
 Massif: startup S.  0 (t:0, hp:0, ex:0, st:0)
 Massif:   alloc S.  1 (t:408, hp:400, ex:8, st:0)
 Massif:   alloc S.  2 (t:816, hp:800, ex:16, st:0)
index ddbd32c3417ebf3c09ec7fdb0a52f5df6e77a6ba..b877a11c6c8051cc13829b0dee4665e27cb7ebd6 100644 (file)
@@ -8,5 +8,7 @@ vgopts: --ignore-fn="_NXMapRehash(_NXMapTable*)" --ignore-fn=arc4_init --ignore-
 stderr_filter: filter_verbose
 # Darwin ignore functions, for macOS 10.15
 vgopts: --ignore-fn=_objc_init --ignore-fn-"objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="realizeClassWithoutSwift(objc_class*, objc_class*)" --ignore-fn="schedule_class_load(objc_class*)" --ignore-fn="objc::SafeRanges::add(unsigned long, unsigned long)"
+# Darwin ignore functions, for macOS 12
+vgopts: --ignore-fn=_xpc_alloc
 post: perl ../../massif/ms_print massif.out | ../../tests/filter_addresses | ./filter_ignore_fn
 cleanup: rm massif.out
index 154c757c291270f7cbbf811fa45258730ef26e17..7402601ea7cf49d70d4031b5962458414e7761dc 100644 (file)
@@ -54,6 +54,7 @@ Massif:   20: objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::Den
 Massif:   21: realizeClassWithoutSwift(objc_class*, objc_class*)
 Massif:   22: schedule_class_load(objc_class*)
 Massif:   23: objc::SafeRanges::add(unsigned long, unsigned long)
+Massif:   24: _xpc_alloc
 Massif: startup S.  0 (t:0, hp:0, ex:0, st:0)
 Massif:   alloc S.  1 (t:408, hp:400, ex:8, st:0)
 Massif:   alloc S.  2 (t:816, hp:800, ex:16, st:0)
index ef8b558a11a88ca5b79e3019cc71d23be356b165..ac8263b22c080dda2996deef03b435eee82cf256 100644 (file)
@@ -7,6 +7,8 @@ vgopts: --alloc-fn=_xpc_malloc --ignore-fn=_xpc_dictionary_insert --ignore-fn=ma
 vgopts: --ignore-fn="_NXMapRehash(_NXMapTable*)" --ignore-fn=arc4_init --ignore-fn="realizeClassWithoutSwift(objc_class*)"
 # Darwin ignore functions, for macOS 10.15
 vgopts: --ignore-fn=_objc_init --ignore-fn-"objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="realizeClassWithoutSwift(objc_class*, objc_class*)" --ignore-fn="schedule_class_load(objc_class*)" --ignore-fn="objc::SafeRanges::add(unsigned long, unsigned long)"
+# Darwin ignore functions, for macOS 12
+vgopts: --ignore-fn=_xpc_alloc
 stderr_filter: filter_verbose
 post: perl ../../massif/ms_print massif.out | ../../tests/filter_addresses | ./filter_ignore_fn
 cleanup: rm massif.out
index d669fdf9a2b606e641cd3dc24c4bfbd62c71ba54..59f4ae09baf84a69ed8f7772106d3f3ac423d8b0 100644 (file)
@@ -7,5 +7,7 @@ vgopts: --alloc-fn=_xpc_malloc --ignore-fn=_xpc_dictionary_insert --ignore-fn=ma
 vgopts: --ignore-fn="_NXMapRehash(_NXMapTable*)" --ignore-fn=arc4_init --ignore-fn="realizeClassWithoutSwift(objc_class*)"
 # Darwin ignore functions, for macOS 10.15
 vgopts: --ignore-fn=_objc_init --ignore-fn-"objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="realizeClassWithoutSwift(objc_class*, objc_class*)" --ignore-fn="schedule_class_load(objc_class*)" --ignore-fn="objc::SafeRanges::add(unsigned long, unsigned long)"
+# Darwin ignore functions, for macOS 12
+vgopts: --ignore-fn=_xpc_alloc
 post: perl ../../massif/ms_print massif.out | ../../tests/filter_addresses | ../../tests/filter_libc | ./filter_ignore_fn
 cleanup: rm massif.out
index 805a36eb434e06541113912ccef590caa0b79767..7b9fa41205be239dd3dbf74834a0d45e49b8df1f 100644 (file)
@@ -8,5 +8,7 @@ vgopts: --alloc-fn=_xpc_malloc --ignore-fn=_xpc_dictionary_insert --ignore-fn=ma
 vgopts: --ignore-fn="_NXMapRehash(_NXMapTable*)" --ignore-fn=arc4_init --ignore-fn="realizeClassWithoutSwift(objc_class*)"
 # Darwin ignore functions, for macOS 10.15
 vgopts: --ignore-fn=_objc_init --ignore-fn-"objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="realizeClassWithoutSwift(objc_class*, objc_class*)" --ignore-fn="schedule_class_load(objc_class*)" --ignore-fn="objc::SafeRanges::add(unsigned long, unsigned long)"
+# Darwin ignore functions, for macOS 12
+vgopts: --ignore-fn=_xpc_alloc
 post: perl ../../massif/ms_print massif.out | ../../tests/filter_addresses | ./filter_ignore_fn
 cleanup: rm massif.out
index c3d7a13658576276bb604195338bf2ffb9833716..9faf24d82faf4fed23cfbeb603f5a03b2256e1c0 100644 (file)
@@ -7,5 +7,7 @@ vgopts: --alloc-fn=_xpc_malloc --ignore-fn=_xpc_dictionary_insert --ignore-fn=ma
 vgopts: --ignore-fn="_NXMapRehash(_NXMapTable*)" --ignore-fn=arc4_init --ignore-fn="realizeClassWithoutSwift(objc_class*)"
 # Darwin ignore functions, for macOS 10.15
 vgopts: --ignore-fn=_objc_init --ignore-fn-"objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="realizeClassWithoutSwift(objc_class*, objc_class*)" --ignore-fn="schedule_class_load(objc_class*)" --ignore-fn="objc::SafeRanges::add(unsigned long, unsigned long)"
+# Darwin ignore functions, for macOS 12
+vgopts: --ignore-fn=_xpc_alloc
 post: perl ../../massif/ms_print massif.out | ../../tests/filter_addresses | ./filter_ignore_fn
 cleanup: rm massif.out
index ba307adabc0866ff59899a59beda01932b0c824f..de1bc0bceb8eeffa8b1bdd7e3c782c41ca55b952 100644 (file)
@@ -8,5 +8,7 @@ vgopts: --alloc-fn=_xpc_malloc --ignore-fn=_xpc_dictionary_insert --ignore-fn=ma
 vgopts: --ignore-fn="_NXMapRehash(_NXMapTable*)" --ignore-fn=arc4_init --ignore-fn="realizeClassWithoutSwift(objc_class*)"
 # Darwin ignore functions, for macOS 10.15
 vgopts: --ignore-fn=_objc_init --ignore-fn-"objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="realizeClassWithoutSwift(objc_class*, objc_class*)" --ignore-fn="schedule_class_load(objc_class*)" --ignore-fn="objc::SafeRanges::add(unsigned long, unsigned long)"
+# Darwin ignore functions, for macOS 12
+vgopts: --ignore-fn=_xpc_alloc
 post: perl ../../massif/ms_print massif.out | ../../tests/filter_addresses | ./filter_ignore_fn
 cleanup: rm massif.out
index 09ce4f507f275e360e22835db9bebf62e2207bfc..d05336f1e5cfc1b1ec87fa771993616dad074d5c 100644 (file)
@@ -7,5 +7,7 @@ vgopts: --alloc-fn=_xpc_malloc --ignore-fn=_xpc_dictionary_insert --ignore-fn=ma
 vgopts: --ignore-fn="_NXMapRehash(_NXMapTable*)" --ignore-fn=arc4_init --ignore-fn="realizeClassWithoutSwift(objc_class*)"
 # Darwin ignore functions, for macOS 10.15
 vgopts: --ignore-fn=_objc_init --ignore-fn-"objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="realizeClassWithoutSwift(objc_class*, objc_class*)" --ignore-fn="schedule_class_load(objc_class*)" --ignore-fn="objc::SafeRanges::add(unsigned long, unsigned long)"
+# Darwin ignore functions, for macOS 12
+vgopts: --ignore-fn=_xpc_alloc
 post: perl ../../massif/ms_print massif.out | ../../tests/filter_addresses | ./filter_ignore_fn
 cleanup: rm massif.out
index d7d9ead290c4e075423119d550088fee9b9101da..cb0215a4659dfef42d25d089728ff8793405f0af 100644 (file)
@@ -7,5 +7,7 @@ vgopts: --alloc-fn=_xpc_malloc --ignore-fn=_xpc_dictionary_insert --ignore-fn=ma
 vgopts: --ignore-fn="_NXMapRehash(_NXMapTable*)" --ignore-fn=arc4_init --ignore-fn="realizeClassWithoutSwift(objc_class*)"
 # Darwin ignore functions, for macOS 10.15
 vgopts: --ignore-fn=_objc_init --ignore-fn-"objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="realizeClassWithoutSwift(objc_class*, objc_class*)" --ignore-fn="schedule_class_load(objc_class*)" --ignore-fn="objc::SafeRanges::add(unsigned long, unsigned long)"
+# Darwin ignore functions, for macOS 12
+vgopts: --ignore-fn=_xpc_alloc
 post: perl ../../massif/ms_print massif.out | ../../tests/filter_addresses | ./filter_ignore_fn
 cleanup: rm massif.out
index 2cc809cd19016d435e3e9f8246fd6bb35604777d..19148c705c5bdc244323c460e80ef2daf97860b5 100644 (file)
@@ -9,5 +9,7 @@ vgopts: --alloc-fn=_xpc_malloc --ignore-fn=_xpc_dictionary_insert --ignore-fn=ma
 vgopts: --ignore-fn="_NXMapRehash(_NXMapTable*)" --ignore-fn=arc4_init --ignore-fn="realizeClassWithoutSwift(objc_class*)"
 # Darwin ignore functions, for macOS 10.15
 vgopts: --ignore-fn=_objc_init --ignore-fn-"objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="realizeClassWithoutSwift(objc_class*, objc_class*)" --ignore-fn="schedule_class_load(objc_class*)" --ignore-fn="objc::SafeRanges::add(unsigned long, unsigned long)"
+# Darwin ignore functions, for macOS 12
+vgopts: --ignore-fn=_xpc_alloc
 post: perl ../../massif/ms_print massif.out | sed 's/gcc[0-9]*/gcc/' | ../../tests/filter_addresses | ./filter_ignore_fn
 cleanup: rm massif.out
index 7f9555bf0ecb783fcdd91b857a2c9c889794a6f5..b6396675fe48505fdfa9462e131d523ac2835881 100644 (file)
@@ -7,5 +7,7 @@ vgopts: --alloc-fn=_xpc_malloc --ignore-fn=_xpc_dictionary_insert --ignore-fn=ma
 vgopts: --ignore-fn="_NXMapRehash(_NXMapTable*)" --ignore-fn=arc4_init --ignore-fn="realizeClassWithoutSwift(objc_class*)"
 # Darwin ignore functions, for macOS 10.15
 vgopts: --ignore-fn=_objc_init --ignore-fn-"objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="realizeClassWithoutSwift(objc_class*, objc_class*)" --ignore-fn="schedule_class_load(objc_class*)" --ignore-fn="objc::SafeRanges::add(unsigned long, unsigned long)"
+# Darwin ignore functions, for macOS 12
+vgopts: --ignore-fn=_xpc_alloc
 post: perl ../../massif/ms_print massif.out | ../../tests/filter_addresses | ./filter_ignore_fn
 cleanup: rm massif.out
index d6a61dfa4060e0ef6eac37a4f0e2d8c6ffc9f558..29b24d4c3b22cd2786a9e457ac3576c935432ea5 100644 (file)
@@ -7,5 +7,7 @@ vgopts: --alloc-fn=_xpc_malloc --ignore-fn=_xpc_dictionary_insert --ignore-fn=ma
 vgopts: --ignore-fn="_NXMapRehash(_NXMapTable*)" --ignore-fn=arc4_init --ignore-fn="realizeClassWithoutSwift(objc_class*)"
 # Darwin ignore functions, for macOS 10.15
 vgopts: --ignore-fn=_objc_init --ignore-fn-"objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="realizeClassWithoutSwift(objc_class*, objc_class*)" --ignore-fn="schedule_class_load(objc_class*)" --ignore-fn="objc::SafeRanges::add(unsigned long, unsigned long)"
+# Darwin ignore functions, for macOS 12
+vgopts: --ignore-fn=_xpc_alloc
 post: perl ../../massif/ms_print massif.out | ../../tests/filter_addresses | ./filter_ignore_fn
 cleanup: rm massif.out
index 969d9791fd1e563f5fbc62a83255299bd0634faf..e99ce8b645e0aa0d8dffaea8654696f7aa1746c3 100644 (file)
@@ -10,5 +10,7 @@ vgopts: --ignore-fn="allocBuckets(void*, unsigned int)" --ignore-fn=map_images_n
 vgopts: --ignore-fn="_NXMapRehash(_NXMapTable*)" --ignore-fn=arc4_init --ignore-fn="realizeClassWithoutSwift(objc_class*)"
 # Darwin ignore functions, for macOS 10.15
 vgopts: --ignore-fn=_objc_init --ignore-fn-"objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="realizeClassWithoutSwift(objc_class*, objc_class*)" --ignore-fn="schedule_class_load(objc_class*)" --ignore-fn="objc::SafeRanges::add(unsigned long, unsigned long)"
+# Darwin ignore functions, for macOS 12
+vgopts: --ignore-fn=_xpc_alloc
 post: perl ../../massif/ms_print massif.out | sed 's/gcc[0-9]*/gcc/' | ./filter_new_aligned | ./filter_ignore_fn
 cleanup: rm massif.out
index c4f79dfff36716dd9b2c8d5cc99594f4e22c183e..df2403e10027d94242a6ec4ce0acf2a0c404e704 100644 (file)
@@ -7,5 +7,7 @@ vgopts: --alloc-fn=_xpc_malloc --ignore-fn=_xpc_dictionary_insert --ignore-fn=ma
 vgopts: --ignore-fn="_NXMapRehash(_NXMapTable*)" --ignore-fn=arc4_init --ignore-fn="realizeClassWithoutSwift(objc_class*)"
 # Darwin ignore functions, for macOS 10.15
 vgopts: --ignore-fn=_objc_init --ignore-fn-"objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="realizeClassWithoutSwift(objc_class*, objc_class*)" --ignore-fn="schedule_class_load(objc_class*)" --ignore-fn="objc::SafeRanges::add(unsigned long, unsigned long)"
+# Darwin ignore functions, for macOS 12
+vgopts: --ignore-fn=_xpc_alloc
 post: perl ../../massif/ms_print massif.out | ../../tests/filter_addresses | ./filter_ignore_fn
 cleanup: rm massif.out
index 8ebb43667a263790f18db5f4cc8f2ba677370916..8b34572f27fb98f68fcb7608a0890ab7cf85ee96 100644 (file)
@@ -44,6 +44,7 @@ Massif:   20: objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::Den
 Massif:   21: realizeClassWithoutSwift(objc_class*, objc_class*)
 Massif:   22: schedule_class_load(objc_class*)
 Massif:   23: objc::SafeRanges::add(unsigned long, unsigned long)
+Massif:   24: _xpc_alloc
 Massif: startup S.  0 (t:0, hp:0, ex:0, st:0)
 Massif:   alloc S.  1 (t:1728, hp:1600, ex:128, st:0)
 Massif:   alloc S.  2 (t:1872, hp:1616, ex:256, st:0)
index 6df7e05500115aef099520382a68998121eb9581..2f1999741285e898f09d82b1a98f2ffeb62109b7 100644 (file)
@@ -8,5 +8,7 @@ vgopts: --ignore-fn="_NXMapRehash(_NXMapTable*)" --ignore-fn=arc4_init --ignore-
 # Darwin ignore functions, for macOS 10.15
 vgopts: --ignore-fn=_objc_init --ignore-fn-"objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="realizeClassWithoutSwift(objc_class*, objc_class*)" --ignore-fn="schedule_class_load(objc_class*)" --ignore-fn="objc::SafeRanges::add(unsigned long, unsigned long)"
 stderr_filter: filter_verbose
+# Darwin ignore functions, for macOS 12
+vgopts: --ignore-fn=_xpc_alloc
 post: perl ../../massif/ms_print massif.out | ../../tests/filter_addresses | ./filter_ignore_fn
 cleanup: rm massif.out
index 180e3ec8e753201d15e17fd03c23040c0d8683b1..483c1dbe073f3a0ce08adcf391ef4ae00292ecb1 100644 (file)
@@ -44,6 +44,7 @@ Massif:   20: objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::Den
 Massif:   21: realizeClassWithoutSwift(objc_class*, objc_class*)
 Massif:   22: schedule_class_load(objc_class*)
 Massif:   23: objc::SafeRanges::add(unsigned long, unsigned long)
+Massif:   24: _xpc_alloc
 Massif: startup S.  0 (t:0, hp:0, ex:0, st:0)
 Massif:   alloc S.  1 (t:800, hp:800, ex:0, st:0)
 Massif: realloc S.  2 (t:800, hp:800, ex:0, st:0)
index 06bf1f68315c7dd28de00f127587fd83de85376e..880ba4a872da4e0d9a14d2c7a2e8b9022d7f1b3d 100644 (file)
@@ -9,5 +9,7 @@ vgopts: --ignore-fn="_NXMapRehash(_NXMapTable*)" --ignore-fn=arc4_init --ignore-
 # Darwin ignore functions, for macOS 10.15
 vgopts: --ignore-fn=_objc_init --ignore-fn-"objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="realizeClassWithoutSwift(objc_class*, objc_class*)" --ignore-fn="schedule_class_load(objc_class*)" --ignore-fn="objc::SafeRanges::add(unsigned long, unsigned long)"
 stderr_filter: filter_verbose
+# Darwin ignore functions, for macOS 12
+vgopts: --ignore-fn=_xpc_alloc
 post: perl ../../massif/ms_print --threshold=0 massif.out | ../../tests/filter_addresses | ./filter_ignore_fn
 cleanup: rm massif.out
index 4334d036eac9bfdb9187ece973afda67048a08af..49c4553a1760ba859b476a920cbb92bc6b44e89e 100644 (file)
@@ -7,5 +7,7 @@ vgopts: --alloc-fn=_xpc_malloc --ignore-fn=_xpc_dictionary_insert --ignore-fn=ma
 vgopts: --ignore-fn="_NXMapRehash(_NXMapTable*)" --ignore-fn=arc4_init --ignore-fn="realizeClassWithoutSwift(objc_class*)"
 # Darwin ignore functions, for macOS 10.15
 vgopts: --ignore-fn=_objc_init --ignore-fn-"objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="realizeClassWithoutSwift(objc_class*, objc_class*)" --ignore-fn="schedule_class_load(objc_class*)" --ignore-fn="objc::SafeRanges::add(unsigned long, unsigned long)"
+# Darwin ignore functions, for macOS 12
+vgopts: --ignore-fn=_xpc_alloc
 post: perl ../../massif/ms_print massif.out --threshold=0 | ../../tests/filter_addresses | ./filter_ignore_fn
 cleanup: rm massif.out
index 83d05b5650ba3e2137d9bd7e10a631d6bf3de07d..a87b7efe7f39c4d315ba2c38657214b18ad5e3cb 100644 (file)
@@ -7,5 +7,7 @@ vgopts: --alloc-fn=_xpc_malloc --ignore-fn=_xpc_dictionary_insert --ignore-fn=ma
 vgopts: --ignore-fn="_NXMapRehash(_NXMapTable*)" --ignore-fn=arc4_init --ignore-fn="realizeClassWithoutSwift(objc_class*)"
 # Darwin ignore functions, for macOS 10.15
 vgopts: --ignore-fn=_objc_init --ignore-fn-"objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="realizeClassWithoutSwift(objc_class*, objc_class*)" --ignore-fn="schedule_class_load(objc_class*)" --ignore-fn="objc::SafeRanges::add(unsigned long, unsigned long)"
+# Darwin ignore functions, for macOS 12
+vgopts: --ignore-fn=_xpc_alloc
 post: perl ../../massif/ms_print massif.out --threshold=10 | ../../tests/filter_addresses | ./filter_ignore_fn
 cleanup: rm massif.out
index f0c38526b26a0d6ed6ad4d650e24892f805a7c4c..bc1d6fad42aa93b04080f2bf05c41a875d5200f1 100644 (file)
@@ -7,5 +7,7 @@ vgopts: --alloc-fn=_xpc_malloc --ignore-fn=_xpc_dictionary_insert --ignore-fn=ma
 vgopts: --ignore-fn="_NXMapRehash(_NXMapTable*)" --ignore-fn=arc4_init --ignore-fn="realizeClassWithoutSwift(objc_class*)"
 # Darwin ignore functions, for macOS 10.15
 vgopts: --ignore-fn=_objc_init --ignore-fn-"objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="realizeClassWithoutSwift(objc_class*, objc_class*)" --ignore-fn="schedule_class_load(objc_class*)" --ignore-fn="objc::SafeRanges::add(unsigned long, unsigned long)"
+# Darwin ignore functions, for macOS 12
+vgopts: --ignore-fn=_xpc_alloc
 post: perl ../../massif/ms_print massif.out --threshold=0 | ../../tests/filter_addresses | ./filter_ignore_fn
 cleanup: rm massif.out
index 4af556954eb2db633ccc1ba63adccff2f1246227..77e87611e021128fdd597689a9b27bfd0ad3ddf5 100644 (file)
@@ -7,6 +7,8 @@ vgopts: --alloc-fn=_xpc_malloc --ignore-fn=_xpc_dictionary_insert --ignore-fn=ma
 vgopts: --ignore-fn="_NXMapRehash(_NXMapTable*)" --ignore-fn=arc4_init --ignore-fn="realizeClassWithoutSwift(objc_class*)"
 # Darwin ignore functions, for macOS 10.15
 vgopts: --ignore-fn=_objc_init --ignore-fn-"objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="realizeClassWithoutSwift(objc_class*, objc_class*)" --ignore-fn="schedule_class_load(objc_class*)" --ignore-fn="objc::SafeRanges::add(unsigned long, unsigned long)"
+# Darwin ignore functions, for macOS 12
+vgopts: --ignore-fn=_xpc_alloc
 post: perl ../../massif/ms_print massif.out --threshold=10 | ../../tests/filter_addresses | ./filter_ignore_fn
 
 cleanup: rm massif.out
index de8bf93f227df1203e6c9bd899076dbbdd393811..729f84f9985cfe0ae068f7e8c828bbb27d40c9c2 100644 (file)
@@ -7,6 +7,8 @@ vgopts: --alloc-fn=_xpc_malloc --ignore-fn=_xpc_dictionary_insert --ignore-fn=ma
 vgopts: --ignore-fn="_NXMapRehash(_NXMapTable*)" --ignore-fn=arc4_init --ignore-fn="realizeClassWithoutSwift(objc_class*)"
 # Darwin ignore functions, for macOS 10.15
 vgopts: --ignore-fn=_objc_init --ignore-fn-"objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="realizeClassWithoutSwift(objc_class*, objc_class*)" --ignore-fn="schedule_class_load(objc_class*)" --ignore-fn="objc::SafeRanges::add(unsigned long, unsigned long)"
+# Darwin ignore functions, for macOS 12
+vgopts: --ignore-fn=_xpc_alloc
 post: perl ../../massif/ms_print massif.out --threshold=0 | ../../tests/filter_addresses | ./filter_ignore_fn
 
 cleanup: rm massif.out
index 895fe2f1c410af27281a0932cdf12c57718451cf..9176d7ccd099230f4f3ad97c3ae007f2bd7dfd5e 100644 (file)
@@ -7,6 +7,8 @@ vgopts: --alloc-fn=_xpc_malloc --ignore-fn=_xpc_dictionary_insert --ignore-fn=ma
 vgopts: --ignore-fn="_NXMapRehash(_NXMapTable*)" --ignore-fn=arc4_init --ignore-fn="realizeClassWithoutSwift(objc_class*)"
 # Darwin ignore functions, for macOS 10.15
 vgopts: --ignore-fn=_objc_init --ignore-fn-"objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="realizeClassWithoutSwift(objc_class*, objc_class*)" --ignore-fn="schedule_class_load(objc_class*)" --ignore-fn="objc::SafeRanges::add(unsigned long, unsigned long)"
+# Darwin ignore functions, for macOS 12
+vgopts: --ignore-fn=_xpc_alloc
 post: perl ../../massif/ms_print massif.out --threshold=10 | ../../tests/filter_addresses | ./filter_ignore_fn
 
 cleanup: rm massif.out
index 2fe02a6a363d1b16bb48196da06e5753b93c303a..d8ebb2f4871875c372f65d613bfc49b82856c080 100644 (file)
@@ -7,6 +7,8 @@ vgopts: --alloc-fn=_xpc_malloc --ignore-fn=_xpc_dictionary_insert --ignore-fn=ma
 vgopts: --ignore-fn="_NXMapRehash(_NXMapTable*)" --ignore-fn=arc4_init --ignore-fn="realizeClassWithoutSwift(objc_class*)"
 # Darwin ignore functions, for macOS 10.15
 vgopts: --ignore-fn=_objc_init --ignore-fn-"objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="realizeClassWithoutSwift(objc_class*, objc_class*)" --ignore-fn="schedule_class_load(objc_class*)" --ignore-fn="objc::SafeRanges::add(unsigned long, unsigned long)"
+# Darwin ignore functions, for macOS 12
+vgopts: --ignore-fn=_xpc_alloc
 post: perl ../../massif/ms_print --threshold=0 massif.out | ../../tests/filter_addresses | ./filter_ignore_fn
 
 cleanup: rm massif.out
index 933f6a345585ca855d516bafcb497033742df41a..27079d64ed00de316692eccecdccd33f8058f014 100644 (file)
@@ -7,5 +7,7 @@ vgopts: --alloc-fn=_xpc_malloc --ignore-fn=_xpc_dictionary_insert --ignore-fn=ma
 vgopts: --ignore-fn="_NXMapRehash(_NXMapTable*)" --ignore-fn=arc4_init --ignore-fn="realizeClassWithoutSwift(objc_class*)"
 # Darwin ignore functions, for macOS 10.15
 vgopts: --ignore-fn=_objc_init --ignore-fn-"objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="objc::DenseMap<char const*, objc::detail::DenseSetEmpty, objc::DenseMapValueInfo<objc::detail::DenseSetEmpty>, objc::DenseMapInfo<char const*>, objc::detail::DenseSetPair<char const*> >::grow(unsigned int)" --ignore-fn="realizeClassWithoutSwift(objc_class*, objc_class*)" --ignore-fn="schedule_class_load(objc_class*)" --ignore-fn="objc::SafeRanges::add(unsigned long, unsigned long)"
+# Darwin ignore functions, for macOS 12
+vgopts: --ignore-fn=_xpc_alloc
 post: perl ../../massif/ms_print massif.out | ../../tests/filter_addresses | ./filter_ignore_fn
 cleanup: rm massif.out
index 2f9c530b650754cfb9c66bdf25d8a6cf040bd851..6d16d22ebaff951863ad210b9c2cf21915ec96c1 100644 (file)
    fun:_ZN4dyldL10loadPhase1EPKcS1_RKNS_11LoadContextERjPNSt3__16vectorIS1_NS6_9allocatorIS1_EEEE
 }
 
+{
+   <insert_a_suppression_name_here>
+   Memcheck:Addr8
+   fun:_ZNK15DyldSharedCache5slideEv
+   fun:_ZN5dyld3L18reuseExistingCacheERKNS_18SharedCacheOptionsEPNS_19SharedCacheLoadInfoE
+}
+
+{
+   <insert_a_suppression_name_here>
+   Memcheck:Addr4
+   fun:_ZNK15DyldSharedCache5slideEv
+   fun:_ZN5dyld3L18reuseExistingCacheERKNS_18SharedCacheOptionsEPNS_19SharedCacheLoadInfoE
+}
+
+{
+   <insert_a_suppression_name_here>
+   Memcheck:Addr1
+   ...
+   fun:_ZN5dyld3L18reuseExistingCacheERKNS_18SharedCacheOptionsEPNS_19SharedCacheLoadInfoE
+}
+
index e4fdacddbb6aa0173e0e44b04c3dafc7d127f837..511cab3e31bfe85e4cef015776fbf78ddcc5ec40 100644 (file)
@@ -6,6 +6,7 @@
 #include <string.h>
 #include <stdbool.h>
 #include <valgrind.h>
+#include "config.h"
 
 #define offsetof(type, fld)    ((unsigned long)&((type *)0)->fld)
 #define stringify(x)           #x
@@ -59,12 +60,17 @@ void this_function_halts(unsigned long long a0, unsigned long long a1,
 
     /* Set up registers with known values which will be tested in the signal handler */
     __asm__ volatile("movq $0xfeed01010101cafe,%rax");
-    __asm__ volatile("movq $0xfeed02020202cafe,%rbx");
     __asm__ volatile("movq $0xfeed03030303cafe,%r10");
     __asm__ volatile("movq $0xfeed04040404cafe,%r11");
     __asm__ volatile("movq $0xfeed05050505cafe,%r12");
     __asm__ volatile("movq $0xfeed06060606cafe,%r13");
+// Starting with macOS 12.0, dyld uses r14 for its own purposes,
+// changing it crashes the process outside of main.
+// FIXME: Suddenly, rbx stopped working but only in the Github GI on macOS 12.0
+#if DARWIN_VERS < DARWIN_12_00
+    __asm__ volatile("movq $0xfeed02020202cafe,%rbx");
     __asm__ volatile("movq $0xfeed07070707cafe,%r14");
+#endif
     __asm__ volatile("movq $0xfeed08080808cafe,%r15");
     __asm__ volatile("hlt");
     ran_after_fault++;
@@ -79,12 +85,17 @@ void this_function_int3s(unsigned long long a0, unsigned long long a1,
 
     /* Set up registers with known values which will be tested in the signal handler */
     __asm__ volatile("movq $0xfeed01010101cafe,%rax");
-    __asm__ volatile("movq $0xfeed02020202cafe,%rbx");
     __asm__ volatile("movq $0xfeed03030303cafe,%r10");
     __asm__ volatile("movq $0xfeed04040404cafe,%r11");
     __asm__ volatile("movq $0xfeed05050505cafe,%r12");
     __asm__ volatile("movq $0xfeed06060606cafe,%r13");
+// Starting with macOS 12.0, dyld uses r14 for its own purposes,
+// changing it crashes the process outside of main.
+// FIXME: Suddenly, rbx stopped working but only in the Github GI on macOS 12.0
+#if DARWIN_VERS < DARWIN_12_00
+    __asm__ volatile("movq $0xfeed02020202cafe,%rbx");
     __asm__ volatile("movq $0xfeed07070707cafe,%r14");
+#endif
     __asm__ volatile("movq $0xfeed08080808cafe,%r15");
     __asm__ volatile("int $3");
     ran_after_fault++;
@@ -147,12 +158,17 @@ handle_signal(int sig, siginfo_t *si, void *vuc)
     ASSERT_GTE(uc->uc_mcontext->__ss.__rip, calling_fn);
     ASSERT_LTE(uc->uc_mcontext->__ss.__rip, calling_fn+400);
 
-    ASSERT_EQ(uc->uc_mcontext->__ss.__rbx, 0xfeed02020202cafe);
     ASSERT_EQ(uc->uc_mcontext->__ss.__r10, 0xfeed03030303cafe);
     ASSERT_EQ(uc->uc_mcontext->__ss.__r11, 0xfeed04040404cafe);
     ASSERT_EQ(uc->uc_mcontext->__ss.__r12, 0xfeed05050505cafe);
     ASSERT_EQ(uc->uc_mcontext->__ss.__r13, 0xfeed06060606cafe);
+// Starting with macOS 12.0, dyld uses r14 for its own purposes,
+// changing it crashes the process outside of main.
+// FIXME: Suddenly, rbx stopped working but only in the Github GI on macOS 12.0
+#if DARWIN_VERS < DARWIN_12_00
+    ASSERT_EQ(uc->uc_mcontext->__ss.__rbx, 0xfeed02020202cafe);
     ASSERT_EQ(uc->uc_mcontext->__ss.__r14, 0xfeed07070707cafe);
+#endif
     ASSERT_EQ(uc->uc_mcontext->__ss.__r15, 0xfeed08080808cafe);
     /*
     printf("       RFLAGS 0x%016llx\n", (unsigned long long)uc->uc_mcontext->__ss.__rflags);
index d7f275aee57d09b5bb640d5aeba927ee0ded29fc..6f7d96d0f4405422171e11f22e9b07d8fa448373 100644 (file)
@@ -20,7 +20,40 @@ int main(int argc, char *argv[], char *envp[], char *apple[])
       ;
 
    // envp[i]==NULL; envp[i+1]==apple[0]==executable_path
-   assert(envp[i+1] == apple[0]);
+   //assert(envp[i+1] == apple[0]);
+   fprintf(stderr, "DEBUG: apple %p\n", apple);
+   fprintf(stderr, "DEBUG: envp[i+1] %p apple[0] %p\n", envp[i+1], apple[0]);
+   fprintf(stderr, "DEBUG: apple[-1] %p\n", apple[-1]);
+   fprintf(stderr, "DEBUG: apple[-2] %p\n", apple[-2]);
+   fprintf(stderr, "DEBUG: apple[-3] %p\n", apple[-3]);
+   fprintf(stderr, "DEBUG: apple[+1] %p\n", apple[+1]);
+   fprintf(stderr, "DEBUG: apple[+2] %p\n", apple[+2]);
+   fprintf(stderr, "DEBUG: &envp[i+1] %p &apple[0] %p\n", &envp[i+1], &apple[0]);
+   if (envp[i+1] != apple[0]) {
+      fprintf(stderr, "DEBUG: oh shit\n");
+      if (apple[0]) {
+         fprintf(stderr, "DEBUG: apple zero is %s\n", apple[0]);
+      } else {
+         fprintf(stderr, "DEBUG: apple zero is NULL\n");
+         if (apple[-1]) {
+            fprintf(stderr, "DEBUG: apple minus one is %p %s\n", apple[-1], apple[-1]);
+         } else {
+            fprintf(stderr, "DEBUG: apple minus one is NULL\n");
+         }
+         if (apple[-2]) {
+            fprintf(stderr, "DEBUG: apple minus two is %p %s\n", apple[-2], apple[-2]);
+         } else {
+            fprintf(stderr, "DEBUG: apple minus two is NULL\n");
+         }
+      }
+      if (envp[i+1]) {
+         fprintf(stderr, "DEBUG: after NULL after envp is %s\n", envp[i+1]);
+      } else {
+         fprintf(stderr, "DEBUG: after NULL after envp is NULL\n");
+      }
+   }
+
+   return 0;
 
    // Make sure realpath(argv[0]) == realpath(apple[0]).  (realpath resolves
    // symlinks.)