llvm-project
e3309855 - [sanitizer-common] [Darwin] Fix overlapping dyld segment addresses (#166005)

Commit
38 days ago
[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
Author
Parents
Loading