diff options
author | Sadaf Ebrahimi <sadafebrahimi@google.com> | 2023-08-22 00:00:59 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2023-08-22 00:00:59 +0000 |
commit | e6b2e13bd8e497b562bc01464d883005b56a5772 (patch) | |
tree | 8bac0eef29fb27b0f8ba28f8aaa4dc8400b43107 /src/common/module.h | |
parent | 4e7c6460d73c00031288165da053692764abbeb1 (diff) | |
parent | c5a0c8e46e99560de88793628956e71e5170834f (diff) | |
download | google-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.h | 24 |
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 |