aboutsummaryrefslogtreecommitdiff
path: root/src/tools/mac
Commit message (Collapse)AuthorAgeFilesLines
* Breakpad CFI parser: Add unit tests to XCode project.ted.mielczarek2010-06-251-10/+1385
| | | | | | | | | This patch adds all the appropriate symbol dumper unit tests to the Mac XCode dump_syms project. This allows us to test this code on a 64-bit platform. A=jimb R=mark git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@616 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Breakpad Mac symbol dumper: Unify with Linux dumper; support DWARF CFI.ted.mielczarek2010-06-252-27/+104
| | | | | | | | | | | | | | | | | | | | | | | | This patch rewrites the Mac symbol dumper to use the same set of classes the Linux dumper does for reading debugging information from various sources, consolidating them into a single table, and writing that out as a Breakpad symbol file. In the process, it also adds support for dumping DWARF call frame information and .eh_frame exception-handling information as Breakpad 'STACK CFI' records. This allows the Breakpad processor to generate stack traces from code compiled with -fomit-frame-pointer. The patch also replaces the DumpSymbols Objective C++ class with google_breakpad::DumpSymbols, a plain C++ class. The code still uses some Objective C++ to use the Foundation facilities for dealing with file names in a file-system-independent fashion, and for examining the contents of .dSYM bundles. Since the code has been entirely rewritten, I have changed the author lines. A=jimb R=mark git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@614 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Breakpad Mac dumper: Change the dumper to be more C++-ish.ted.mielczarek2010-06-251-45/+32
| | | | | | | | | | | | | | | | | | Instead of using bzero in main, use constructors to initialize the Options structure. Use C++ bool, not Objective-C BOOL. Use a const NXArchInfo * to represent the architecture name, so that we can use the NXGetLocalArchInfo, NXGetArchInfoFromName, etc. to handle things. Delete the 'uuidStr' member; it is unused. Leave Options::srcPath as an NSString, so that we can continue to use the filesystem path abstraction methods provided by the Foundation framework. A=jimb R=mark git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@611 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Breakpad Mac symbol dumper: Add new Mach-O reader class.ted.mielczarek2010-06-252-6/+399
| | | | | | | | | | | | | | | | This patch adds files defining new classes in the google_breakpad::Mach_O namespace for parsing fat binaries and Mach-O files. These are used in the new dumper to handle STABS debugging information, DWARF call frame information, and .eh_frame exception handling stack walking information. These new classes are independent of endianness and word size, and therefore can be used on binaries of all the relevant architectures: x86, x86_64, ppc, and ARM. The patch adds a complete set of unit tests for the new classes. A=jimb R=mark (http://breakpad.appspot.com/93001/show, http://breakpad.appspot.com/115001/show) git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@610 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Breakpad Mac dumper: Clean up XCode project file.jimblandy2010-05-051-102/+70
| | | | | | | | | | | | The XCode project file has become encrufted with duplicate Executable entres and some strange settings. This patch deletes and recreates various entries to make things neat again. It should have no effect on the project's visible behavior. a=jimblandy, r=thestig git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@591 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Breakpad Mac Dumper: Fix compilation warnings on OS X 10.6jimblandy2010-05-051-0/+2
| | | | | | | | | | | | | | | | | Breakpad's Macintosh symbol dumper uses deprecated functions for dealing with mixed-endianness code. This patch provides an overloaded function, ByteSwap, that automatically chooses the OSSwap* functions from <libkern/OSByteOrder.h> appropriate for its argument's size. This patch does *not* address warnings in src/common/mac/dump_syms.mm, because that code is about to be replaced entirely; there's no reason to bother reviewing a big, detailed patch against it. a=jimblandy, r=mark git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@589 4c0a9323-5329-0410-9bdc-e9ce6186880e
* issue 372 - fix Mac OS X minidump generation code to handle x86-64 properly. ↵ted.mielczarek2010-04-291-0/+8
| | | | | | r=mark at http://breakpad.appspot.com/103001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@578 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Mac now takes response code into account when determining success of a ↵jessicag.feedback@gmail.com2010-04-131-2/+3
| | | | | | symupload. git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@570 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Breakpad: Update copyright notice years on all files changed in 2010.jimblandy2010-02-091-1/+1
| | | | | | | | | | We've gotten mixed advice from the lawyery types about whether this matters. But it's easy enough to do. a=jimblandy, r=nealsid git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@517 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Patch from Kris Rambish to keep memory usage flat when processing a ↵nealsid2010-01-111-0/+2
| | | | | | | | | | | directory full of minidump files A=krisr R=nealsid git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@478 4c0a9323-5329-0410-9bdc-e9ce6186880e
* INclude stackwalker_arm.{cc,h} in crash_report buildnealsid2010-01-111-0/+6
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@477 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Issue 39002: Breakpad DWARF parser: Move DWARF parser to ↵jimblandy@gmail.com2009-12-152-12/+12
| | | | | | | | | | | | | | | | platform-independent directory. Move the DWARF parser, and the functioninfo.cc DWARF consumer, from src/common/mac/dwarf to src/commmon/dwarf, so that it can be shared between the Mac and Linux dumpers. Fix up #include directives, multiple inclusion protection macros, and Xcode build files. a=jimblandy, r=nealsid git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@446 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Modification to crash_report to process a directory of .DMP filesnealsid2009-09-301-5/+28
| | | | | | | | | | | http://breakpad.appspot.com/31001 R=nealsid A=krisr git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@405 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Add stack-dumping logic to crash_report with -t switchnealsid2009-07-021-4/+25
| | | | | | | | | R=jeremy A=nealsid git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@357 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix build break in crash_report caused by my checkin that moved minidump ↵nealsid2009-06-161-1/+1
| | | | | | | | | | | processing error codes to a different namespace R=preston A=nealsid git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@351 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Deleting obsolete file(when I added DWARF support I had to make this a .MM ↵nealsid2009-05-121-142/+0
| | | | | | but I forgot to delete the old file) git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@337 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix for issues 296, 297. Various symbol supplier classes need to be updated ↵nealsid2009-02-272-2/+29
| | | | | | with new overload('make check' was failing, as well as crash_report), and remove logging that was flooding output git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@318 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Issue 275: patch to include list of loaded modules in crash_report outputnealsid2009-02-101-0/+33
| | | | | | | | | Written by: jum@mac.com R=nealsid git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@310 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Issue 181: Add version info for Mac OS X modules. Found by iterating over ↵nealsid2008-10-221-0/+6
| | | | | | load commands until I found LC_ID_DYLIB. Also modified crash_report to generate version number. Also added suspend/resume capability to exception handler, necessary because exception handling can behave strangely across fork() calls. Also added fix for filtering out functions with no line number information, and for filtering out some multiple inheritance glue the compiler generates. git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@291 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Added DWARF support to Breakpad client. Thanks to Google for open sourcing ↵nealsid2008-10-083-16/+207
| | | | | | | | | | | | their DWARF code! 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
* Modified symupload to correctly handle spaces in module names when ↵nealsid2008-06-051-3/+18
| | | | | | | | | | processing symbol file Reviewer=mmentovai git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@279 4c0a9323-5329-0410-9bdc-e9ce6186880e
* fix Mac build by adding stackwalker_amd64.cc to projectladderbreaker2007-11-211-0/+8
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@233 4c0a9323-5329-0410-9bdc-e9ce6186880e
* fix crash_report build due to link errorladderbreaker2007-09-291-0/+8
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@221 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Adds the ability to designate a folder with sym files in it that will be ↵dmaclach2007-09-154-12/+101
| | | | | | | | | used for symbol matching to crash_report. git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@207 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fixup crashreport tool on the macdmaclach2007-05-241-0/+4
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@175 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Issue 152 - Patch by Dave Camp, Reviewer Chris Rogersted.mielczarek2007-05-034-1/+18
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@152 4c0a9323-5329-0410-9bdc-e9ce6186880e
* s/an breakpad/a breakpad/ (#127), patch by techtonik, r=memmentovai2007-03-232-2/+2
| | | | | | | http://groups.google.com/group/google-breakpad-dev/browse_thread/thread/9610c2878a2bcdc git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@131 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Rename Airbag to Breakpad.mmentovai2007-02-147-49/+48
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@122 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Update crash_report tool and internal classes to reflect change to ↵waylonis2007-01-244-56/+37
| | | | | | ProcessState (Issue #116) git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@110 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Changes to support patch #108:waylonis2007-01-236-49/+116
| | | | | | | | | | | - Calculate unique file id for mach-o files - Add file id support to dump_syms and symupload tools - Fix return values of tools to indicate success or failure - Change dump_syms class to be Objective-C++ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@109 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Add Mac symupload tool. Reviewed by bryner. Fixes issue #96.waylonis2006-12-193-0/+611
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@95 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Add Mac dump_syms tool and support class. Fixes issue #73.waylonis2006-12-192-0/+354
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@94 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Add crash_report tool that will:waylonis2006-12-184-0/+958
- Generate local symbol file for module - Output minidump report in a format similar to Apple's crash reporter git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@93 4c0a9323-5329-0410-9bdc-e9ce6186880e