[all-commits] [llvm/llvm-project] e33098: [sanitizer-common] [Darwin] Fix overlapping dyld s...
Andrew Haberlandt via All-commits
all-commits at lists.llvm.org
Thu Nov 6 12:18:39 PST 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: e33098555132439d0ee5dfdd8fef31d7177ee68c
https://github.com/llvm/llvm-project/commit/e33098555132439d0ee5dfdd8fef31d7177ee68c
Author: Andrew Haberlandt <ndrewh at users.noreply.github.com>
Date: 2025-11-06 (Thu, 06 Nov 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_procmaps_mac.cpp
A compiler-rt/test/asan/TestCases/Darwin/asan-verify-module-map.cpp
Log Message:
-----------
[sanitizer-common] [Darwin] Fix overlapping dyld segment addresses (#166005)
This fixes two problems:
- dyld itself resides within the shared cache. MemoryMappingLayout
incorrectly computes the slide for dyld's segments, causing them to
(appear to) overlap with other modules. This can cause symbolication
issues.
- The MemoryMappingLayout ranges on Darwin are not disjoint due to the
fact that the LINKEDIT segments overlap for each module. We now ignore
these segments to ensure the mapping is disjoint.
This adds a check for disjointness, and a runtime warning if this is
ever violated (as that suggests issues in the sanitizer memory mapping).
There is now a test to ensure that these problems do not recur.
rdar://163149325
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list