gecko-dev/toolkit/crashreporter
Ted Mielczarek 73ec0ca7ec bug 1283916 - Fix DWARF handling of inlined functions in namespaces. r=mento
Currently an inlined function in a namespace in DWARF will
be given a name comprised of just `namespace::`. This is due
to a logic error in ComputeQualifiedName, where it doesn't
handle an empty `unqualified_name` properly.

We apparently have a fair number of these in our Mac builds,
an example of the DWARF that's being mishandled looks like:
0x117eda40:     TAG_namespace [5] *
                 AT_name( "js" )
                 AT_decl_file( "../../dist/include/js/Utility.h" )
                 AT_decl_line( 35 )

0x11808500:         TAG_subprogram [251] *
                     AT_low_pc( 0x0000000002f12110 )
                     AT_high_pc( 0x0000000002f1216b )
                     AT_APPLE_omit_frame_ptr( 0x01 )
                     AT_frame_base( rsp )
                     AT_abstract_origin( {0x0000000011800a4f}"_ZN2js40TraceManuallyBarrieredGenericPointerEdgeEP8JSTracerPPNS_2gc4CellEPKc" )
                      AT_MIPS_linkage_name( "_ZN2js40TraceManuallyBarrieredGenericPointerEdgeEP8JSTracerPPNS_2gc4CellEPKc" )
                      AT_name( "TraceManuallyBarrieredGenericPointerEdge" )
                      AT_decl_file( "/builds/slave/rel-m-rel-m64_bld-000000000000/build/js/src/gc/Marking.cpp" )
                      AT_decl_line( 547 )
                      AT_external( 0x01 )
                      AT_APPLE_optimized( 0x01 )
                      AT_inline( DW_INL_inlined )

This turned a few instances of this in the file I was testing on into
`<name omitted>`, which seems to just be a symptom of the
"DW_AT_abstract_origin comes later in the file" issue. (Which is probably
also worth fixing given that it occurs some 29k times when dumping
symbols from Firefox's XUL binary, but it's a separate issue.)

R=mark@chromium.org
BUG=

Review URL: https://codereview.chromium.org/1887033002 .

MozReview-Commit-ID: L3cn5z4FY6M

--HG--
extra : rebase_source : 03ebda4cf2d1179b2180a2817137a5f600f7ad1a
2016-07-06 09:36:35 -04:00
..
breakpad-patches bug 1069556 - sync to Breakpad c53ed143108948eb7e2d7ee77dc8c0d92050ce7c. r=glandium, benwa 2016-01-27 09:39:53 -05:00
breakpad-windows-libxul Bug 1035125 Part 2: Back out changeset 3c59642f6445 and associated subsequent changes. r=glandium 2016-05-15 16:23:56 +01:00
breakpad-windows-standalone Bug 830801 - Part 2. Remove NOMINMAX define from moz.build. r=mshal 2015-08-03 10:07:09 +09:00
client Bug 1035125 Part 2: Back out changeset 3c59642f6445 and associated subsequent changes. r=glandium 2016-05-15 16:23:56 +01:00
content Bug 1276714 - Add about:crashes telemetry r=BenWa,bsmedberg 2016-05-31 15:30:32 -04:00
docs Bug 1263774 - Include memory reports in content process crash reports. r=mccr8, r=aklotz 2016-06-21 11:45:25 -07:00
google-breakpad bug 1283916 - Fix DWARF handling of inlined functions in namespaces. r=mento 2016-07-06 09:36:35 -04:00
injector
test Backed out changeset 10db03f821c4 (bug 1270686) for crashes on Windows 7 opt in e.g. M-e10s(bc5). r=backout 2016-05-26 11:24:09 +02:00
tools Bug 1275672 - Remove accidental trailing /D from makecab.exe arguments; r=me 2016-05-31 09:09:03 -07:00
crashreporter.mozbuild Bug 1272513 - Part 1: Suppress -Wshadow warnings-as-errors in some directories. r=glandium 2016-05-11 00:00:01 -07:00
CrashReports.jsm
CrashSubmit.jsm bug 1269998 - Prompt users with pending crash reports to submit them r=mconley ui-r=shorlander 2016-05-10 23:50:55 -07:00
InjectCrashReporter.cpp
InjectCrashReporter.h Bug 1265927: Move nsRunnable to mozilla::Runnable, CancelableRunnable to mozilla::CancelableRunnable. r=froydnj 2016-04-25 17:23:21 -07:00
jar.mn
KeyValueParser.jsm Bug 1199662 - Crash ping environment block is broken when any string field contains a quotation mark. Unescape INI fields properly using the library that already exists for the purpose. r=ted 2015-08-28 12:53:43 -04:00
LoadLibraryRemote.cpp
LoadLibraryRemote.h
mac_utils.h
mac_utils.mm Bug 1134923 - Remove NS_Alloc/NS_Realloc/NS_Free. r=nfroyd 2015-05-01 09:40:30 +09:00
moz.build Bug 1276927: Fix breakpad to build on B2G, r=mshal 2016-06-16 08:43:51 +01:00
nsExceptionHandler.cpp Bug 1267329 - part 2 - Record the memory information for the minidumps on Windows. r=ted 2016-06-30 08:59:02 +08:00
nsExceptionHandler.h Bug 1263774 - Include memory reports in content process crash reports. r=mccr8, r=aklotz 2016-06-21 11:45:25 -07:00
update-breakpad.sh bug 1069556 - change update-breakpad.sh to work with Breakpad's git repo (NPOTB) 2015-10-23 15:25:30 -04:00