Use a list of pointers to SourceFileInfo structures, not a list of the
structures themselves. This is preparation for a subsequent patch
which makes the data structures less STABS-specific.
This patch introduces a memory leak. If an included file is
referenced only by line entries for functions that LoadFuncSymbols
elected to omit from the func_info list, then its SourceFileInfo
structure is leaked when we destroy the name_to_file map. This leak
is fixed in a subsequent patch by letting the map of files by name own
the file objects.
a=jimblandy
r=nealsid
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@368 4c0a9323-5329-0410-9bdc-e9ce6186880e
Replace the sorted lists of files and functions with an array of
boundary addresses. This replaces CompareAddress with the default
comparison, and SortByAddress and NextAddress with the stock STL sort
and upper_bound algorithms, losing ~50 lines of code.
a=jimblandy
r=nealsid
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@367 4c0a9323-5329-0410-9bdc-e9ce6186880e
In NextAddress, check both the file list and the function list for the
nearest boundary. Don't assume that, if we find any bounding entry in
the function list, that must be the nearest thing.
A=jimblandy
R=nealsid
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@365 4c0a9323-5329-0410-9bdc-e9ce6186880e
The current arrangement would produce needless warnings if
WriteSymbolFile were ever used twice in the same program invocation.
Even if it weren't wrong, it's unnecessary, and local non-const static
variables require extra care when reading to be sure of their effect.
A=jimblandy
R=nealsid
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@363 4c0a9323-5329-0410-9bdc-e9ce6186880e
With this patch, the time required to generate Breakpad symbols for
Firefox's libxul.so on a MacBook Pro 3,1 drops from 32s to 2s.
I verified that this patch had no effect on the output of dump_syms
when applied to firefox-bin and its libraries when built with -gstabs+.
A=jimblandy
R=nealsid
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@362 4c0a9323-5329-0410-9bdc-e9ce6186880e
This upload fixes five issues:
1) Preston's email was hardcoded in the xib :-(
2) Changed from xib to NIB to facilitate Tiger building
3) Changed the logs location to be user specifiable by BreakpadMinidumpLocation
key, or ~/Library/Breakpad/<BREAKPAD_PRODUCT> by default
4) Fixed GTM Defines problem in order to build on Tiger
5) Also set CFBundleIcon in the sender program correctly, and updated plist, and
renamed ReporterIcons to crash_report_sendER.ICNS. However the rietveld upload
script doesn't appear to pick up renamed files correctly, so that file doesn't
show up in the patch upload.
Also various comments were updated for accuracy.
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@323 4c0a9323-5329-0410-9bdc-e9ce6186880e
Written by Ginn Chen & Eagle.Lu@
R=nealsid (although I don't have a Solaris machine to build on, & these changes look localized to Sun-only builds)
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@314 4c0a9323-5329-0410-9bdc-e9ce6186880e
The method of calculating a binary ID using the LC_ID command isn't compatible with non-default build processes, most Mac consumers
use LC_UUID anyway but for those that don't, MD5 is a better choice
R=nealsid
W=Ted.Mielczarek
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@313 4c0a9323-5329-0410-9bdc-e9ce6186880e
Modified dump_syms to detect dSYM bundles or a binary with DWARF data appropriately, and convert data from DWARF reader to dump_syms native structures
R=danny.berlin (original writer of DWARF code)
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@286 4c0a9323-5329-0410-9bdc-e9ce6186880e
having been initialized. The code is correct however the compiler can't see
the relationship between has_content_length_header and the claimed_size so it
generates a warning.
Patch from Sorin Jianu, r=bryner
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@211 4c0a9323-5329-0410-9bdc-e9ce6186880e