Intel only for the moment.
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)])
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);
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;
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
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
#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
------------------------------------------------------------------ */
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)
};
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
+}
+
#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
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
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
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
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
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
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
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)
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
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
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
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
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)
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
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)
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
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
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
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
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
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
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
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
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
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
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
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
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)
# 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
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)
# 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
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
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
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
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
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
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
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
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
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
+}
+
#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
/* 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++;
/* 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++;
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);
;
// 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.)