aboutsummaryrefslogtreecommitdiff
path: root/src/common/linux/dump_symbols.h
diff options
context:
space:
mode:
authorJake Ehrlich <jakehehrlich@google.com>2019-10-04 13:29:26 -0700
committerMike Frysinger <vapier@chromium.org>2019-10-24 22:05:33 +0000
commit17958ef62cc5fe8208a965d50f41fc70c5fc116f (patch)
treed31cd13007f583b786030653977910c5eecaf6d1 /src/common/linux/dump_symbols.h
parentlinux, dump_syms: set module name from DT_SONAME (diff)
downloadbreakpad-17958ef62cc5fe8208a965d50f41fc70c5fc116f.tar.xz
Add options to set OS and filename
This allows Fuchsia to use dump_syms directly without a postprocessing step. Change-Id: I84507f8bedddfcdcdb237119457c8ddf8ac354d5 Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1850718 Reviewed-by: Mike Frysinger <vapier@chromium.org>
Diffstat (limited to 'src/common/linux/dump_symbols.h')
-rw-r--r--src/common/linux/dump_symbols.h15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/common/linux/dump_symbols.h b/src/common/linux/dump_symbols.h
index 1f204cba..eaddd8b2 100644
--- a/src/common/linux/dump_symbols.h
+++ b/src/common/linux/dump_symbols.h
@@ -62,21 +62,28 @@ struct DumpOptions {
// If OBJ_FILE has been stripped but contains a .gnu_debuglink section,
// then look for the debug file in DEBUG_DIRS.
// SYMBOL_DATA allows limiting the type of symbol data written.
-bool WriteSymbolFile(const string &obj_file,
+bool WriteSymbolFile(const string &load_path,
+ const string &obj_file,
+ const string &obj_os,
const std::vector<string>& debug_dirs,
const DumpOptions& options,
std::ostream &sym_stream);
// Read the selected object file's debugging information, and write out the
// header only to |stream|. Return true on success; if an error occurs, report
-// it and return false.
-bool WriteSymbolFileHeader(const string& obj_file,
+// it and return false. |obj_file| becomes the MODULE file name and |obj_os|
+// becomes the MODULE operating system.
+bool WriteSymbolFileHeader(const string& load_path,
+ const string& obj_file,
+ const string& obj_os,
std::ostream &sym_stream);
// 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,
+bool ReadSymbolData(const string& load_path,
+ const string& obj_file,
+ const string& obj_os,
const std::vector<string>& debug_dirs,
const DumpOptions& options,
Module** module);