Bug 513533 - Support macOS 11.0 (Big Sur)
Summary: Support macOS 11.0 (Big Sur)
Status: REPORTED
Alias: None
Product: valgrind
Classification: Developer tools
Component: general (other bugs)
Version First Reported In: 3.27 GIT
Platform: Other macOS
: NOR normal
Target Milestone: ---
Assignee: Paul Floyd
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-12-18 09:23 UTC by Paul Floyd
Modified: 2025-12-20 11:16 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Paul Floyd 2025-12-18 09:23:31 UTC
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.
Comment 1 Paul Floyd 2025-12-18 09:24:39 UTC
First step will be to add support for amd64. When that is stabilised I'll work on adding arm64 support.
Comment 2 Paul Floyd 2025-12-19 13:11:00 UTC
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.
Comment 3 Paul Floyd 2025-12-19 21:16:42 UTC
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
Comment 4 Paul Floyd 2025-12-20 11:16:23 UTC
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.