summaryrefslogtreecommitdiff
path: root/lldb/source/Host/common/ZipFileResolver.cpp
AgeCommit message (Collapse)Author
2023-06-22[lldb][Windows] Fix ZipFileResolver testsKazuki Sakamoto
D152759 introduced the Android .zip so file support, but it only considered POSIX path. The code also runs on Windows, so the path could be Windows path. Support both patterns on Windows. Differential Revision: https://reviews.llvm.org/D153390
2023-06-20[lldb][Android] Support zip .so fileKazuki Sakamoto
In Android API level 23 and above, dynamic loader is able to load .so file directly from APK, which is zip file. https://android.googlesource.com/platform/bionic/+/master/ android-changes-for-ndk-developers.md# opening-shared-libraries-directly-from-an-apk The .so file is page aligned and uncompressed, so ObjectFileELF::GetModuleSpecifications works with .so file offset and size directly from zip file without extracting it. (D152757) GDBRemoteCommunicationServerCommon::GetModuleInfo returns a module spec to LLDB with "zip_path!/so_path" file spec, which is passed through from Android dynamic loader, and the .so file offset and size. PlatformAndroid::DownloadModuleSlice uses 'shell dd' to download the .so file slice from the zip file with the .so file offset and size. Differential Revision: https://reviews.llvm.org/D152759