diff options
| author | Andrew Haberlandt <ndrewh@users.noreply.github.com> | 2025-11-06 12:18:16 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-11-06 12:18:16 -0800 |
| commit | e33098555132439d0ee5dfdd8fef31d7177ee68c (patch) | |
| tree | 51b376b312522d3a5685c6e8fcb10c989d05b4d1 /llvm/lib/Bitcode/Writer/BitcodeWriter.cpp | |
| parent | f410c97712622973ff93ae525b4f7f64d8eeb25b (diff) | |
| download | llvm-e33098555132439d0ee5dfdd8fef31d7177ee68c.zip llvm-e33098555132439d0ee5dfdd8fef31d7177ee68c.tar.gz llvm-e33098555132439d0ee5dfdd8fef31d7177ee68c.tar.bz2 | |
[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
Diffstat (limited to 'llvm/lib/Bitcode/Writer/BitcodeWriter.cpp')
0 files changed, 0 insertions, 0 deletions
