Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0ce76f91 authored by Christopher Ferris's avatar Christopher Ferris Committed by Gerrit Code Review
Browse files

Merge "Fix symbol resolution within a dex file."

parents c146c8f5 f9006ec9
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -52,9 +52,9 @@ DexFile* DexFiles::GetDexFile(uint64_t dex_file_offset, MapInfo* info) {
  return dex_file;
}

void DexFiles::GetMethodInformation(uint64_t dex_offset, MapInfo* info, std::string* method_name,
                                    uint64_t* method_offset) {
  DexFile* dex_file = GetDexFile(dex_offset, info);
void DexFiles::GetMethodInformation(uint64_t dex_file_offset, uint64_t dex_offset, MapInfo* info,
                                    std::string* method_name, uint64_t* method_offset) {
  DexFile* dex_file = GetDexFile(dex_file_offset, info);
  if (dex_file != nullptr) {
    dex_file->GetMethodInformation(dex_offset, method_name, method_offset);
  }
+2 −1
Original line number Diff line number Diff line
@@ -95,7 +95,8 @@ void Unwinder::FillInDexFrame() {
  }

#if !defined(NO_LIBDEXFILE_SUPPORT)
  dex_files_->GetMethodInformation(dex_offset, info, &frame->function_name, &frame->function_offset);
  dex_files_->GetMethodInformation(dex_pc - dex_offset, dex_offset, info, &frame->function_name,
                                   &frame->function_offset);
#endif
}

+3 −3
Original line number Diff line number Diff line
@@ -38,10 +38,10 @@ class DexFiles {
  explicit DexFiles(std::shared_ptr<Memory>& memory);
  ~DexFiles();

  DexFile* GetDexFile(uint64_t dex_offset, MapInfo* info);
  DexFile* GetDexFile(uint64_t dex_file_offset, MapInfo* info);

  void GetMethodInformation(uint64_t dex_offset, MapInfo* info, std::string* method_name,
                            uint64_t* method_offset);
  void GetMethodInformation(uint64_t dex_file_offset, uint64_t dex_offset, MapInfo* info,
                            std::string* method_name, uint64_t* method_offset);

  void SetArch(ArchEnum arch);