aboutsummaryrefslogtreecommitdiff
path: root/src/common/stabs_reader.h
diff options
context:
space:
mode:
authorted.mielczarek <ted.mielczarek@4c0a9323-5329-0410-9bdc-e9ce6186880e>2011-03-04 16:08:39 +0000
committerted.mielczarek <ted.mielczarek@4c0a9323-5329-0410-9bdc-e9ce6186880e>2011-03-04 16:08:39 +0000
commitbf25801d837b8fc496bf9c3a34eac525d8a3d8ae (patch)
treeeefc9e418e10864c47cf9055ddf97a79f8a38979 /src/common/stabs_reader.h
parentUpdating to ints from unsigned ints so -1 will be an acceptable value. (diff)
downloadbreakpad-bf25801d837b8fc496bf9c3a34eac525d8a3d8ae.tar.xz
Put PUBLIC lines in Mac symbol files.
Exported symbols on Mach-O binaries are defined in a STABS section. This patch makes stabs_reader handle them, adds support for Extern symbols in the Module class (which are output as PUBLIC lines in symbol files), and the proper processing in stabs_to_module to hook it all up. A=mark R=jimb at http://breakpad.appspot.com/163001 and http://breakpad.appspot.com/267001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@778 4c0a9323-5329-0410-9bdc-e9ce6186880e
Diffstat (limited to 'src/common/stabs_reader.h')
-rw-r--r--src/common/stabs_reader.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/common/stabs_reader.h b/src/common/stabs_reader.h
index c17fcc7a..b22ebfd3 100644
--- a/src/common/stabs_reader.h
+++ b/src/common/stabs_reader.h
@@ -193,7 +193,11 @@ class StabsReader {
// Return true to continue processing, or false to abort.
bool ProcessFunction();
- // The STABS entries we're parsing.
+ // Process an exported function symbol.
+ // Return true to continue processing, or false to abort.
+ bool ProcessExtern();
+
+ // The STABS entries being parsed.
ByteBuffer entries_;
// The string section to which the entries refer.
@@ -305,6 +309,12 @@ class StabsHandler {
return true;
}
+ // Report that an exported function NAME is present at ADDRESS.
+ // The size of the function is unknown.
+ virtual bool Extern(const std::string &name, uint64_t address) {
+ return true;
+ }
+
// Report a warning. FORMAT is a printf-like format string,
// specifying how to format the subsequent arguments.
virtual void Warning(const char *format, ...) = 0;