author Dan Minor <>
Thu, 10 Apr 2014 15:24:29 -0400
changeset 178551 b62c590540b0a0b82924413a0f2bcf0022cc8713
parent 136217 79194143ec895d32320c20076ebbf6fad779076d
child 281836 211a4c710fb6af2cad10102c4cabc7cb525998b8
permissions -rw-r--r--
Bug 994830 - Make cppunittest test timeout less than mozharness process timeout; r=ted

# HG changeset patch
# User Julian Seward <>
# 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 @@
 #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