SUMMARY Meta bug to track progress towards Valgrind support for the release of macOS Big Sur (11.0) that reached general availability on 12 November, 2020. STEPS TO REPRODUCE 1. Build Valgrind master sources on macOS Big Sur(11.0). 2. Resolve material regressions in the unit test suite on this platform. 3. Add Darwin am64 support.
First step will be to add support for amd64. When that is stabilised I'll work on adding arm64 support.
First attempt at regtest == 713 tests, 68 stderr failures, 6 stdout failures, 0 stderrB failures, 0 stdoutB failures, 4 post failures == Not too bad. 10.14 and 10.15 are generating around 45 fails.
A few hours later ... == 713 tests, 52 stderr failures, 6 stdout failures, 0 stderrB failures, 0 stdoutB failures, 4 post failures == Compares to 10.15, +10 and -3 so +7 overall. Extra fails: memcheck/tests/leak-autofreepool-[014] different categories memcheck/tests/memalign_args already 2 darwin execteds and now aligned_alloc and posix_memalign seem to exist (rather than the old malloc_zone stuff) memcheck/tests/suppvarinfo5 need to examine helgrind/tests/tc12_rwl_trivial need to examine drd/tests/getaddrinfo recursive lock error drd/tests/std_list none/tests/file_dclose missing a 'creat' line in expected none/tests/track_new as above
Most of the failures just needed more filtering. That leaves us with drd/tests/getaddrinfo with diffs like +Recursive locking not allowed: mutex 0x........, recursion count 1, owner 5. I don't want to default suppress that. It looks like there is some issue with mutexes being locked recursively. helgrind/tests/stackteardown fails with +!? New thread x starts with SP(0x........) unmapped That looks a bit iffy. With --sanity-level=3 ==23906== !? New thread 2 starts with SP(0x10057d000) unmapped --23906:0: aspacem segment mismatch: V's seg 1st, kernel's 2nd: --23906:0: aspacem 58: 7000724b6000-7000724b7fff 8192 ----- SmFixed d=0x000 i=0 o=0 (-1,-1) (none) --23906:0: aspacem ...: .... 7000724b6000-7000724b7fff 8192 rw-.. ....... d=0x000 i=30 o=0 (.) m=. /dev/macos/internals/[stack] --23906:0: aspacem sync check at m_aspacemgr/aspacemgr-linux.c:2485 (Bool vgPlain_am_notify_munmap(Addr, SizeT)): FAILED --23906:0: aspacem --23906:0: aspacem Valgrind: FATAL: aspacem assertion failed: --23906:0: aspacem VG_(am_do_sync_check) (__PRETTY_FUNCTION__,__FILE__,__LINE__) --23906:0: aspacem at m_aspacemgr/aspacemgr-linux.c:2485 (Bool vgPlain_am_notify_munmap(Addr, SizeT)) --23906:0: aspacem Exiting now. More than iffy. I'll probably push the code as-is and try to deal with these later.