[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