aboutsummaryrefslogtreecommitdiff
path: root/src/common/module.h
diff options
context:
space:
mode:
authorSadaf Ebrahimi <sadafebrahimi@google.com>2023-08-22 00:00:59 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2023-08-22 00:00:59 +0000
commite6b2e13bd8e497b562bc01464d883005b56a5772 (patch)
tree8bac0eef29fb27b0f8ba28f8aaa4dc8400b43107 /src/common/module.h
parent4e7c6460d73c00031288165da053692764abbeb1 (diff)
parentc5a0c8e46e99560de88793628956e71e5170834f (diff)
downloadgoogle-breakpad-e6b2e13bd8e497b562bc01464d883005b56a5772.tar.gz
Upgrade google-breakpad to 922d49bdfe3c92e5d35c406f87f2c354637a2f8b am: 8bac876145 am: c5a0c8e46e
Original change: https://android-review.googlesource.com/c/platform/external/google-breakpad/+/2720095 Change-Id: I0bcbd98f00c005033be551a7b6b5e8ed329fb3b8 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
Diffstat (limited to 'src/common/module.h')
-rw-r--r--src/common/module.h24
1 files changed, 17 insertions, 7 deletions
diff --git a/src/common/module.h b/src/common/module.h
index c1fd9f59..28e8e9c5 100644
--- a/src/common/module.h
+++ b/src/common/module.h
@@ -131,6 +131,10 @@ class Module {
// If this symbol has been folded with other symbols in the linked binary.
bool is_multiple = false;
+
+ // If the function's name should be filled out from a matching Extern,
+ // should they not match.
+ bool prefer_extern_name = false;
};
struct InlineOrigin {
@@ -142,10 +146,6 @@ class Module {
// The inlined function's name.
StringView name;
-
- File* file;
-
- int getFileID() const { return file ? file->source_id : -1; }
};
// A inlined call site.
@@ -224,7 +224,7 @@ class Module {
map<uint64_t, uint64_t> references_;
};
- InlineOriginMap inline_origin_map;
+ map<std::string, InlineOriginMap> inline_origin_maps;
// A source line.
struct Line {
@@ -317,7 +317,8 @@ class Module {
const string& architecture,
const string& id,
const string& code_id = "",
- bool enable_multiple_field = false);
+ bool enable_multiple_field = false,
+ bool prefer_extern_name = false);
~Module();
// Set the module's load address to LOAD_ADDRESS; addresses given
@@ -402,7 +403,7 @@ class Module {
// Set the source id numbers for all other files --- unused by the
// source line data --- to -1. We do this before writing out the
// symbol file, at which point we omit any unused files.
- void AssignSourceIds(set<InlineOrigin*, InlineOriginCompare>& inline_origins);
+ void AssignSourceIds();
// This function should be called before AssignSourceIds() to get the set of
// valid InlineOrigins*.
@@ -502,6 +503,15 @@ class Module {
// at
// https://chromium.googlesource.com/breakpad/breakpad/+/master/docs/symbol_files.md#records-3
bool enable_multiple_field_;
+
+ // If a Function and an Extern share the same address but have a different
+ // name, prefer the name of the Extern.
+ //
+ // Use this when dumping Mach-O .dSYMs built with -gmlt (Minimum Line Tables),
+ // as the Function's fully-qualified name will only be present in the STABS
+ // (which are placed in the Extern), not in the DWARF symbols (which are
+ // placed in the Function).
+ bool prefer_extern_name_;
};
} // namespace google_breakpad