commit | 2afe6dc210e3f52da56bc28d234f65d62b490ace | [log] [tgz] |
---|---|---|
author | Joshua Peraza <jperaza@chromium.org> | Mon Dec 17 22:27:46 2018 |
committer | Commit Bot <commit-bot@chromium.org> | Mon Dec 17 22:58:16 2018 |
tree | 583f8c219ddd51d815dad0ad5a0a37e01967c853 | |
parent | 8b6f158d20cbc15d04dd0f25da9d820b7d6c4fe9 [diff] |
android/linux: Support modules with shared relros on Android Add MemoryMap::Iterator to support different strategies for locating the start of module mappings on Android and Linux. Beginning with API 21, Bionic provides android_dlopen_ext() which allows passing a file descriptor with an existing relro segment to the loader. This means that the mapping containing the dynamic segment could have a name, device, and inode which are different than the other mappings for the module. The revised strategy for Android at API 21+ is to search all mappings in reverse order from they dynamic array mapping until a module is parsed with the expected dynamic array address. Linux and Android 20- continue to select mappings using the device, inode, and file offsets of the mappings. Bug: crashpad:268 Change-Id: I30e95e51cb6874c00875d2a9c57f1249877736d4 Reviewed-on: https://chromium-review.googlesource.com/c/1374375 Commit-Queue: Joshua Peraza <jperaza@chromium.org> Reviewed-by: Mark Mentovai <mark@chromium.org>
Crashpad is a crash-reporting system.
Crashpad’s source code is hosted in a Git repository at https://chromium.googlesource.com/crashpad/crashpad.