gecko-dev/toolkit/crashreporter/breakpad-patches/11-readsymboldatainternal-p...

51 строка
1.8 KiB
Diff

# HG changeset patch
# User Julian Seward <jseward@acm.org>
# Date 1365953823 -7200
# Node ID 21d2964d1337c0fce7375025610298a818ddbd0f
# Parent ef802a6418f25841880359e6dab3e8240bfd0821
Bug 861141 - Connect Breakpad on Android to faulty.lib's mmap interface. r=ted.
Adds a prototype for ReadSymbolDataInternal so it can be called from
outside breakpad.
diff --git src/common/linux/dump_symbols.h
--- a/src/common/linux/dump_symbols.h
+++ b/src/common/linux/dump_symbols.h
@@ -36,16 +36,17 @@
#define COMMON_LINUX_DUMP_SYMBOLS_H__
#include <iostream>
#include <string>
#include <vector>
#include "common/symbol_data.h"
#include "common/using_std_string.h"
+#include "google_breakpad/common/breakpad_types.h"
namespace google_breakpad {
class Module;
// Find all the debugging information in OBJ_FILE, an ELF executable
// or shared library, and write it to SYM_STREAM in the Breakpad symbol
// file format.
@@ -60,11 +61,19 @@ bool WriteSymbolFile(const string &obj_f
// As above, but simply return the debugging information in MODULE
// instead of writing it to a stream. The caller owns the resulting
// Module object and must delete it when finished.
bool ReadSymbolData(const string& obj_file,
const std::vector<string>& debug_dirs,
SymbolData symbol_data,
Module** module);
+// Same as ReadSymbolData, except don't try to open the file; instead
+// just use the in-memory data (mapped image of it) located at OBJ_FILE.
+bool ReadSymbolDataInternal(const uint8_t* obj_file,
+ const string& obj_filename,
+ const std::vector<string>& debug_dirs,
+ SymbolData symbol_data,
+ Module** module);
+
} // namespace google_breakpad
#endif // COMMON_LINUX_DUMP_SYMBOLS_H__