aboutsummaryrefslogtreecommitdiff
path: root/src/common/dwarf
diff options
context:
space:
mode:
authorTed Mielczarek <ted@mielczarek.org>2016-10-24 15:16:28 -0400
committerTed Mielczarek <ted@mielczarek.org>2016-10-25 10:43:00 +0000
commit2ecb2baba829a7ed4fff4bc60edf0c1643dc129c (patch)
tree4106bbadd878c7148c9393e33d5bf5cbb3024f2b /src/common/dwarf
parentFix iterating over the MDXStateFeature entries on 32-bit hosts (diff)
downloadbreakpad-2ecb2baba829a7ed4fff4bc60edf0c1643dc129c.tar.xz
Don't demangle Rust symbols by default, but allow linking to rust-demangle.
The Rust compiler uses GCC C++ name mangling, but it has another layer of encoding so abi::cxa_demangle doesn't produce great results. This patch changes dump_syms to dump unmangled names by default so that consumers can demangle them after-the-fact. It also adds a tiny bit of support for linking against a Rust library I wrote that can demangle Rust symbols nicely: https://github.com/luser/rust-demangle-capi BUG= Change-Id: I63a425035ebb7ac516f067fed2aa782849ea9604 Reviewed-on: https://chromium-review.googlesource.com/402308 Reviewed-by: Mark Mentovai <mark@chromium.org>
Diffstat (limited to 'src/common/dwarf')
-rw-r--r--src/common/dwarf/dwarf2enums.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/common/dwarf/dwarf2enums.h b/src/common/dwarf/dwarf2enums.h
index 09567555..4316a89c 100644
--- a/src/common/dwarf/dwarf2enums.h
+++ b/src/common/dwarf/dwarf2enums.h
@@ -544,6 +544,7 @@ enum DwarfLanguage
DW_LANG_ObjC_plus_plus =0x0011,
DW_LANG_UPC =0x0012,
DW_LANG_D =0x0013,
+ DW_LANG_Rust =0x001c,
DW_LANG_Swift =0x001e,
// Implementation-defined language code range.
DW_LANG_lo_user = 0x8000,