aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* Add includes for unittests that appear to need them.jessicag.feedback@gmail.com2011-10-175-4/+26
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@870 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Use frame pointer to walk ARM stack on iOS.qsr@chromium.org2011-10-175-30/+280
| | | | | | Review URL: http://breakpad.appspot.com/314001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@869 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Breakpad implementation for ios.qsr@chromium.org2011-10-123-0/+890
| | | | | | | | | | | | | | To be noted: 1) All is done in process, as multi-process is not allowed on ios. 2) Dump are saved when a crash occures but are not automatically send to the server. 3) Breakpad.h contains function to check if a dump must be uploaded, and to upload a dump. 4) The code is copy pasting a log of Breakpad implementation for Mac OS. It might be possible to do some refactoring. Review URL: http://breakpad.appspot.com/309003 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@868 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Handling reading arm executable.qsr@chromium.org2011-10-121-0/+6
| | | | | | | | Because CPU_TYPE_ARM is not defined on Mac OSX 10.4, I have to redefine the variable to the correct value. Review URL: http://breakpad.appspot.com/310004 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@867 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Minor formatting fix following r865.mark@chromium.org2011-10-111-2/+2
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@866 4c0a9323-5329-0410-9bdc-e9ce6186880e
* More fixes following r862.mark@chromium.org2011-10-111-6/+6
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@865 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Additional fixes following r862.mark@chromium.org2011-10-112-31/+34
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@864 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Remove "using namespace std" from dwarf2reader.h. Using-directives aremark@chromium.org2011-10-115-40/+41
| | | | | | | | | | | | | forbidden by the style guide, and are bad practice in headers even under style rules that tolerate this construct. This fixes warnings such as: In file included from dwarf2reader.cc:34: dwarf2reader.h:53:17: warning: using namespace directive in global context in header [-Wheader-hygiene] Review URL: http://breakpad.appspot.com/312002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@862 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix harmless warning in dwarf_cfi_to_module.cc.mark@chromium.org2011-10-111-1/+1
| | | | | | | | | | | | | | | | | This function already establishes that (signed) i must be positive by the time it assigns it to (unsigned) reg. Because reg is unsigned, it is impossible for it to be negative. Because i was already checked for positivity, this check can be removed entirely. It was not a miswritten check that intended to check i instead of reg, because i is already checked. This addresses the following warning: dwarf_cfi_to_module.cc:135:9: warning: comparison of 0 <= unsigned expression is always true [-Wtautological-compare] Committed r859 Review URL: http://breakpad.appspot.com/310003 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@861 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix harmless printf abuse in symupload.mark@chromium.org2011-10-111-1/+2
| | | | | | | | | | | | | | | | symupload printed -[NSData length], an NSUInteger, using %lu. %lu is proper to print a "long" as unsigned, but NSUInteger is a typedef for "unsigned int" when building for 32-bit. This would not have caused any problems, because in the 32-bit model, both int and long are 32 bits wide. In the 64-bit model, long is 64 bits wide, but NSUInteger is defiend as "unsigned long", so there wouldn't have even been a warning in that case. This addresses the following warning: symupload.m:137:30:{137:28-137:31}{137:46-137:59}: warning: conversion specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned int') [-Wformat] Review URL: http://breakpad.appspot.com/313002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@860 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Remove duplicate definition of GTMLoggerDebug.mark@chromium.org2011-10-111-3/+0
| | | | | | | | | | | | The actual defintion comes from common/mac/GTMLogger.h, #imported above. This removes a compilation warning that showed up in r853: uploader.m:52:9: warning: 'GTMLoggerDebug' macro redefined GTMLogger.h:339:9: note: previous definition is here Review URL: http://breakpad.appspot.com/310002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@859 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Adding missing method.qsr@chromium.org2011-10-111-0/+5
| | | | | | | parameters method was missing on Uploader. Review URL: http://breakpad.appspot.com/312001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@858 4c0a9323-5329-0410-9bdc-e9ce6186880e
* #include BreakpadDefines.h as "BreakpadDefines.h" and notmark@chromium.org2011-10-111-1/+1
| | | | | | | | | | | | | | | | <Breakpad/BreakpadDefines.h>. During the build of Breakpad itself (especially in Chromium), there is no Breakpad.framework/Headers in which to locate BreakpadDefines.h, so the framework-style #include of <Breakpad/BreakpadDefines.h> is not able to find anything to #include. Using the "BreakpadDefines.h" form should always locate this file next to Breakpad.h whether it's in the framework or in the source tree. This fixes a Chromium build regression caused by Breakpad r856. Review URL: http://breakpad.appspot.com/313001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@857 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Extract constants from Breakpad.h.qsr@chromium.org2011-10-119-65/+98
| | | | | | | This is done to allow ios implementation to use the same constants. Review URL: http://breakpad.appspot.com/311001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@856 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Handle ios dump.qsr@chromium.org2011-10-115-1/+18
| | | | | | | | | | This change add a flag for ios minidumps and allow handler to recognize it. It doesn't recognize arm specific exceptions that will be logged as unknown type. Review URL: http://breakpad.appspot.com/311002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@855 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Use right header.qsr@chromium.org2011-10-101-1/+1
| | | | | | | Code was pulling Cocoa dependency, when Foundation is enough. Review URL: http://breakpad.appspot.com/310001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@854 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Extract the uploader process from crash_report_senderqsr@chromium.org2011-10-105-570/+695
| | | | | | | | The aim is to separate the process itself from the view, to be able to reuse the process on the iOS platform. Review URL: http://breakpad.appspot.com/309002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@853 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Extracting the config file class from the Inspector to be able to reuse it.qsr@chromium.org2011-10-107-227/+328
| | | | | | | | | This will be needed for iOS implementation, where the Inspector won't be used, but where a config file will still be needed, because the uploads won't happen just after the crash, but on a next run. Review URL: http://breakpad.appspot.com/309001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@852 4c0a9323-5329-0410-9bdc-e9ce6186880e
* #ifdef cpu specific code.qsr@chromium.org2011-10-076-9/+160
| | | | | | Review URL: http://breakpad.appspot.com/307002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@848 4c0a9323-5329-0410-9bdc-e9ce6186880e
* 10.4 SDK fixmark@chromium.org2011-10-063-1/+21
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@847 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Adding svn:ignore properties for .deps and .dirstampqsr@chromium.org2011-10-061-0/+0
| | | | | | | | | Remove spurious .distamp from the repository. LGTM from stuartmorgan. git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@845 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Address review comments from r843 (http://breakpad.appspot.com/307001)mark@chromium.org2011-10-054-15/+25
| | | | | | Review URL: http://breakpad.appspot.com/308001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@844 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Ensure crash reports will be uploaded on the Mac.mark@chromium.org2011-10-053-2/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Regression from Breakpad r842 (Chromium r103778) - browser crash reports were uploaded, but renderer crash reports were not. Messages such as these may have been logged: com.apple.launchd.peruser.x[y] could not lookup DNS configuration info service: (ipc/send) invalid destination port com.apple.launchd.peruser.x[y] Breakpad Reporter: Send Error: Error Domain=NSURLErrorDomain Code=-1009 UserInfo=z "This computer’s Internet connection appears to be offline." Underlying Error=(Error Domain=kCFErrorDomainCFNetwork Code=-1009 UserInfo=w "This computer’s Internet connection appears to be offline.") When OnDemandServer establishes the bootstrap subset, it will now register the parent bootstrap port in the subset namespace so that the Inspector can recover this port and switch to it. The Sender, launched by the Inspector, relies on the bootstrap port being set properly. BUG=chromium:99252 TEST=All test cases from Chromium r103778 (bug chromium:28547) plus: about:crash should generate a crash report which should be uploaded, provided that throttling is not in effect. Remove or edit ~/Library/Preferences/com.Breakpad.crash_report_sender.plist to defeat throttling. Also verify that about:inducebrowsercrashforrealz works. Review URL: http://breakpad.appspot.com/307001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@843 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Use a bootstrap subset port for the inspector, tying the subset to themark@chromium.org2011-10-031-10/+26
| | | | | | | | | | | | | | | lifetime of the task to be monitored, the invoking task. This allows the bootstrap server (in launchd) to automatically clean up the Mach server registration when the task being monitored exits, avoiding leaks of com.Breakpad.Inspector(pid) ports in "launchctl bslist". BUG=chromium:28547 TEST=Handler should still crash catches, but inspector ports should no longer show up in "launchctl bslist". They should show up under a subset port in "launchctl bstree" instead. "launchctl bstree" must be invoked as root. Review URL: http://breakpad.appspot.com/306001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@842 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix some compilation warnings and other errors due to API changesmark@chromium.org2011-09-293-18/+13
| | | | | | Review URL: http://breakpad.appspot.com/305002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@841 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Build the Mac Breakpad utilities with the 10.5 SDK in x86_64 Debug mode. Thismark@chromium.org2011-09-281-23/+23
| | | | | | | | | | was already the SDK being used for x86_64 Release mode. The 10.6 SDK is not necessary. Explicitly set the file encoding to UTF-16 on the sender app's lproj's InfoPlist.strings and Localizable.strings files. git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@840 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix encoding of breakpad/src/client/mac/testapp/English.lproj/InfoPlist.stringsmark@chromium.org2011-09-271-1/+1
| | | | | | | in breakpad/src/client/mac/Breakpad.xcodeproj - it's UTF-16, not UTF-8. git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@839 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix some newlines.mark@chromium.org2011-09-276-978/+978
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@838 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix totally busted-up project file that was, for the most part, wrong formark@chromium.org2011-09-271-9/+65
| | | | | | | non-Debug configurations and was probably even a little wrong for Debug too. git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@837 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix breakpad/src/tools/mac/crash_report/on_demand_symbol_supplier.mm followingmark@chromium.org2011-09-271-1/+1
| | | | | | | r835. git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@836 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Linux/Mac: Add option to omit the CFI section in dump_syms.thestig@chromium.org2011-09-1410-127/+213
| | | | | | Review URL: http://breakpad.appspot.com/304001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@835 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Remove javascript_engine GYP variable.mihaip@chromium.org2011-09-131-5/+1
| | | | | | | | | (it's no longer needed in Chromium as of http://crrev.com/100692) Review URL: http://breakpad.appspot.com/303001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@834 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix 64-bit literals in test datated.mielczarek2011-09-011-33/+33
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@833 4c0a9323-5329-0410-9bdc-e9ce6186880e
* issue 438 - fix array index bug in libdisasmted.mielczarek2011-08-311-1/+1
| | | | | | P=matthewbg@google.com R=ted git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@832 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Adjust MD_CONTEXT_CPU_MASK to reflect reality, fix some code so it can ↵ted.mielczarek2011-08-3010-42/+658
| | | | | | | | | handle dumps using the old value for MD_CONTEXT_ARM The value of MD_CONTEXT_CPU_MASK in use assumes that only the lower 6 bits are used for flags, and the upper 26 bits are for the CPU type. However, as of Windows 7 SP1, the 7th bit is being used as a flag (per http://msdn.microsoft.com/en-us/library/hh134238%28v=vs.85%29.aspx and the Windows SDK headers). Adjusting MD_CONTEXT_CPU_MASK works, but unfortunately that masks off the existing value of MD_CONTEXT_ARM. This patch also changes the value of MD_CONTEXT_ARM and adjusts the minidump context reading machinery to gracefully handle minidumps with the old value. R=mark at http://breakpad.appspot.com/302001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@831 4c0a9323-5329-0410-9bdc-e9ce6186880e
* issue 243 - Linux dumper should use build id produced by ld --build-id if ↵ted.mielczarek2011-08-305-96/+260
| | | | | | | | available R=thestig at http://breakpad.appspot.com/185001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@830 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix libcurl include in http_upload (trivial, no bug)ted.mielczarek2011-08-301-2/+1
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@829 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix a Breakpad crash during teardown when USE_PROTECTED_ALLOCATIONS is inmark@chromium.org2011-08-261-0/+8
| | | | | | | | | | | | effect. BUG=none TEST=Apple Crash Reporter logs from processes in which Breakpad handles the crash should point the finger at the actual crash source, not the Breakpad thread's attempt to write to unwritable memory. Review URL: http://breakpad.appspot.com/301001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@828 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Add missing (parentehses.)mark@chromium.org2011-08-261-1/+1
| | | | | | | | BUG=247, chromium:94107 TEST=Minidump file sizes should be manageable Review URL: http://breakpad.appspot.com/300002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@827 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix CalculateStackSize to behave properly when the main thread's stack ismark@chromium.org2011-08-252-27/+32
| | | | | | | | | | | | | | | | | | split up into multiple regions. An older workaround relyied on known fixed stack locations and only filled in the initial page of the stack if it was in a distinct region. The new approach looks upwards for additional regions that appear to be part of the same stack. With PIE on Lion, the stack no longer begins at a fixed address, so the older workaround became ineffective. BUG=247, chromium:94107 TEST=Stacks should run through to _main/start and then stop when examining Chrome on Lion with PIE and "slid" stacks. Review URL: http://breakpad.appspot.com/300001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@826 4c0a9323-5329-0410-9bdc-e9ce6186880e
* The process_id field is unsigned, so we need this cast in c++0x.mark@chromium.org2011-08-111-1/+2
| | | | | | | | | Patch by Rafael Ávila de Espí­ndola <respindola@mozilla.com> https://bugzilla.mozilla.org/show_bug.cgi?id=677644 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@825 4c0a9323-5329-0410-9bdc-e9ce6186880e
* The first field in a MDLocationDescriptor is a u_int32_t, so change this castmark@chromium.org2011-08-111-1/+2
| | | | | | | | | | | | to the correct type. This fixes an error newer clang versions find in c++ 0x mode. Patch by Rafael Ávila de Espí­ndola <respindola@mozilla.com> https://bugzilla.mozilla.org/show_bug.cgi?id=677641 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@824 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix clang warnings.mark@chromium.org2011-08-114-10/+4
| | | | | | Review URL: http://breakpad.appspot.com/298002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@823 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Zero out the entire context on MD5_Final, not just the number of bytes in amark@chromium.org2011-08-111-1/+1
| | | | | | | pointer. Review URL: http://breakpad.appspot.com/298001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@822 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Remove a bogus const.mark@chromium.org2011-08-101-1/+1
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@821 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix a typo in r817ted.mielczarek2011-07-271-1/+1
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@820 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Wean Mac Breakpad off of its OpenSSL libcrypto dependency.mark@chromium.org2011-07-277-77/+51
| | | | | | | | | | | | | | | | | | This libcrypto dependency sucks. Linking against OpenSSL is sort of broken in certain Mac OS X SDKs. libcrypto was only being used to provide an MD5 implementation. Breakpad already has its own MD5 implementation, so just use that instead. To be perfectly honest, on modern systems, nothing should be making MD5 hashes of modules anyway, because everything has an embedded LC_UUID. The project file changes just remove libcrypto and add md5.c as needed. A bonus (and untested) fix for on_demand_symbol_supplier.mm is included to account for changes in r794. Review URL: http://breakpad.appspot.com/296001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@819 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Switch mac DumpSymbols::WriteSymbolFile to take an ostream instead of a ↵ted.mielczarek2011-07-263-3/+6
| | | | | | | | FILE* to match the changes to Module::Write R=mark at http://breakpad.appspot.com/294001/show git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@818 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix compilation using the OS X 10.7 SDK by #ifdefing out PPC support when ↵ted.mielczarek@gmail.com2011-07-262-1/+22
| | | | | | | | targeting 10.7, as PPC support has been removed from the 10.7 SDK A=Rafael Ávila de Espíndola <respindola@mozilla.com>, R=ted at https://bugzilla.mozilla.org/show_bug.cgi?id=673789 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@817 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix a sizeof(pointer) vs sizeof(pointee) issue caught by client.jessicag.feedback@gmail.com2011-07-211-1/+1
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@815 4c0a9323-5329-0410-9bdc-e9ce6186880e