aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Fix assertion failure in WriteMappings() for zero modulesmkrebs@chromium.org2012-11-141-2/+9
| | | | | | | | | | | If there were no mappings where ShouldIncludeMapping() returned true, AllocateObjectAndArray() would die with an assertion failure. BUG=chrome-os-partner:14914 TEST=Ran unittests Review URL: https://breakpad.appspot.com/492002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1081 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix typo from r1079.thestig@chromium.org2012-11-131-1/+1
| | | | | | | TBR=digit Review URL: https://breakpad.appspot.com/496002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1080 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Linux: Avoid truncating the vendor id.thestig@chromium.org2012-11-091-5/+3
| | | | | | Review URL: https://breakpad.appspot.com/495002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1079 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Minor cleanup in src/client/linux/minidump_writer/minidump_writer_unittest.cc.thestig@chromium.org2012-11-081-18/+18
| | | | | | Review URL: https://breakpad.appspot.com/486002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1078 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Allow processing dumps with missing stack memory for some threadsted.mielczarek@gmail.com2012-11-0616-90/+410
| | | | | | r=mkrebs at https://breakpad.appspot.com/413002/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1077 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Wrong %ebp after skipping a frame for which the instruction pointer is not ↵ivan.penkov@gmail.com2012-11-022-25/+269
| | | | | | | | | | in a known module. http://breakpad.appspot.com/494002/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1076 4c0a9323-5329-0410-9bdc-e9ce6186880e
* SuspendThread returns a DWORD value, so checking the return value with ">= 0"ivan.penkov@gmail.com2012-11-011-3/+6
| | | | | | | | | | | doesn't work. On failure, the return value is (DWORD) -1 (which is 0xFFFFFFFF). http://breakpad.appspot.com/491002/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1075 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix a compile warning in stack_frame_symbolizer.ccSiyangXie@gmail.com2012-11-011-0/+4
| | | | | | | http://breakpad.appspot.com/493002/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1074 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fixing Windows client unit tests. They were broken in r1034 due to gMock andivan.penkov@gmail.com2012-10-198-16/+449
| | | | | | | | | | | | gTest upgrade. While fixing the broken tests I also used the opportunity to add a few more tests that cover filter and callback execution, and nesting of exception handlers. https://breakpad.appspot.com/489002/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1073 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix some compiler errors in exception_handler_unittest by casting like crazyted.mielczarek@gmail.com2012-10-151-2/+4
| | | | | | R=digit at https://breakpad.appspot.com/483002/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1072 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Check-in stack_frame_symbolizer.[h|cc] that were missing in r1068.SiyangXie@gmail.com2012-10-112-0/+233
| | | | | | | http://breakpad.appspot.com/484002/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1069 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Refactor the logic of resolving source line info into helper class.SiyangXie@gmail.com2012-10-1018-346/+337
| | | | | | | http://breakpad.appspot.com/459002/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1068 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Make Linux signal handler more robust.digit@chromium.org2012-10-092-0/+60
| | | | | | | | | | | | | | | | | | | | | | Breakpad can be used on processes where a mistaken library saves then restores one of our signal handlers with 'signal' instead of 'sigaction'. This loses the SA_SIGINFO flag associated with the Breakpad handler, and in some cases (e.g. Android/ARM kernels), the values of the 'info' and 'uc' parameters that ExceptionHandler::SignalHandler() receives will be completely bogus, leading to a crash when the function is executed (and of course, no minidump generation). To work-around this, have SignalHandler() check the state of the flag. If it is incorrectly unset, re-register with 'sigaction' and the correct flag, then return. The signal will be re-thrown, and this time the function will be called with the correct values. Review URL: https://breakpad.appspot.com/481002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1067 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix the Android unit tests.digit@chromium.org2012-10-091-4/+0
| | | | | | | | | | | | | | | | | | | - One of the unit test binaries refused to link due to missing linker flags. - The WriteDSODebug() function now works on Android, so do not special-case it anymore. - Ensure android/run-checks.sh will complain properly if the client unit test suite fails on Android. It used to consider that such failures were acceptable. Note that it still considers failures when running the tools and processor test suite on the device normal (fixing this is a lot harder, and these parts of Breakpad typically never run on a device, but on the host). Review URL: https://breakpad.appspot.com/482002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1066 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Don't bail if a thread's stack pointer is invalidmkrebs@chromium.org2012-10-087-36/+137
| | | | | | | | | | | | | | Currently, if a thread's stack pointer is not within a valid memory page, the minidump writing will fail with an error. This change allows an invalid stack pointer by simply setting the memory size to zero in the minidump. The processing code already checks for the size being zero, although it currently just gives an error (see https://breakpad.appspot.com/413002/). BUG=google-breakpad:499, chromium-os:34880 TEST=make check, manually ran minidump-2-core and core2md Review URL: https://breakpad.appspot.com/478002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1065 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Comment out unused arguments in definitions, as required by the Google C++ ↵jimblandy2012-10-051-3/+3
| | | | | | | | | | Style Guide. A=Rafael Ávila de Espíndola <respindola@mozilla.com> R=jimb at https://breakpad.appspot. com/479003 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1064 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix out-of-date comment for DwarfCUToModule::FilePrivate::common_strings.jimblandy2012-10-051-6/+14
| | | | | | | No review. git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1063 4c0a9323-5329-0410-9bdc-e9ce6186880e
* If a specification DIE has a DW_AT_MIPS_linkage_name attribute, don't failjimblandy2012-10-052-40/+87
| | | | | | | | | | | to add it to the specifications table. Record the fully-qualified name provided by the demangler in the table. A=Rafael Ávila de Espíndola <respindola@mozilla.com> R=jimb at https://breakpad.appspot. com/478004/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1062 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Update dump_syms to correctly filter on cpu subtype.qsr@chromium.org2012-10-049-65/+95
| | | | | | | Right now, if an archive contain multiple executable for the same CPU but with different subtype, there is no way to dump any but the first one. Review URL: https://breakpad.appspot.com/476002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1061 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix minor Android build failure with Clang.digit@chromium.org2012-10-041-0/+1
| | | | | | Review URL: https://breakpad.appspot.com/478003 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1060 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Use DW_AT_MIPS_linkage_name if it is available to get names of functions ↵ted.mielczarek@gmail.com2012-10-042-34/+79
| | | | | | | | with arguments during symbol dumping. A=Rafael Ávila de Espíndola <respindola@mozilla.com> R=ted at https://breakpad.appspot.com/457002/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1059 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix an analyzer warning due to value assigned but not used.kenbongort@gmail.com2012-10-031-2/+0
| | | | | | | http://breakpad.appspot.com/473002/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1058 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Add custom implementation of NXGetArchInfoXXX to allow adding new arch.qsr@chromium.org2012-10-038-11/+170
| | | | | | | | | NXGetArchInfoXXX depends on the OS knowledge of architecture. This CL adds a custom implementation of those methods to be able to handle newer CPU before they are handled by the OS. It also add handling for armv7s architecture. Review URL: https://breakpad.appspot.com/475002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1057 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix merge error from r1055ted.mielczarek@gmail.com2012-10-021-1/+0
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1056 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix linux compile errors for some systems.qsr@chromium.org2012-10-023-11/+13
| | | | | | | | Codereview: https://breakpad.appspot.com/460002/ Patch by: jakerr@google.com git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1055 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix the Linux build with clang.thestig@chromium.org2012-09-261-0/+1
| | | | | | Review URL: https://breakpad.appspot.com/470002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1052 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix a bunch of small nits.thestig@chromium.org2012-09-262-53/+51
| | | | | | Review URL: https://breakpad.appspot.com/463004 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1051 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix a parsing error in the Linux dump writer.thestig@chromium.org2012-09-261-7/+11
| | | | | | Review URL: https://breakpad.appspot.com/464002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1050 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix type in string_conversion.cc introduced in r1046ted.mielczarek@gmail.com2012-09-261-1/+1
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1049 4c0a9323-5329-0410-9bdc-e9ce6186880e
* processor: add arm exception flagsqsr@chromium.org2012-09-252-13/+76
| | | | | | | | | | | | From inspection of Apple headers and https://llvm.org/svn/llvm-project/lldb/trunk/source/Plugins/Process/Utility/StopInfoMachException.cpp Review: https://breakpad.appspot.com/457003/ Patch by: jaysoffian@gmail.com git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1048 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix a really stupid bug in WriteMinidumpForChildProcessted.mielczarek@gmail.com2012-09-241-1/+1
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1047 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Turn on more warnings in ios / mac projects.qsr@chromium.org2012-09-2110-26/+51
| | | | | | | | | | | | | | | Make casts explicit. This makes casts that loose precision explicit, from here on we will get warnings. The changes in this commit are made without evaluating each cast, asuming the original casts were intentional. Patch by: jakerr@google.com Review: https://breakpad.appspot.com/453002/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1046 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Update GTM files to latest fromqsr@chromium.org2012-09-215-600/+1256
| | | | | | | | | | http://google-toolbox-for-mac.googlecode.com/svn/trunk/ Patch by: jakerr@google.com Review: https://breakpad.appspot.com/452002/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1045 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Minidumps never contain MD_LINUX_DSO_DEBUG info when breakpad is in a shared ↵ted.mielczarek@gmail.com2012-09-195-100/+107
| | | | | | | | | library A=Mike Hommey <mh@glandium.org> R=ted at http://breakpad.appspot.com/422002/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1044 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Allow generating minidumps from live process on Linux via ExceptionHandlerted.mielczarek@gmail.com2012-09-189-8/+173
| | | | | | | Original patch by Chris Jones <jones.chris.g@gmail.com> at https://bugzilla.mozilla.org/show_bug.cgi?id=544936 and https://bugzilla.mozilla.org/show_bug.cgi?id=555309 R=mark at https://breakpad.appspot.com/449003/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1043 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Allow generating minidumps from live processes on Windows.ted.mielczarek@gmail.com2012-09-182-110/+215
| | | | | | R=mark at https://breakpad.appspot.com/115002/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1042 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Allow adding extra memory regions to minidump on linux/windowsted.mielczarek@gmail.com2012-09-1810-37/+447
| | | | | | | A=Bill McCloskey <wmccloskey@mozilla.com>, ted, original patch from https://bugzilla.mozilla.org/show_bug.cgi?id=662646 R=mark at https://breakpad.appspot.com/450002/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1041 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Change an always true comparison to another conditional. Sincemark@chromium.org2012-09-171-1/+1
| | | | | | | | | | next_offset is unsigned, comparing it >= 0 is always true. Instead, compare the numbers whose difference makes next_offset. Patch by Richard Trieu. git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1040 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Add a GetInstructionPointer method to MinidumpExceptionted.mielczarek@gmail.com2012-09-176-119/+56
| | | | | | R=mark at https://breakpad.appspot.com/444003/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1039 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Make my_str_len/my_itos take uintmax_tted.mielczarek@gmail.com2012-09-174-34/+38
| | | | | | R=digit at https://breakpad.appspot.com/452004/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1038 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Allow setting a new MinidumpDescriptor on ExceptionHandler, also expose ↵ted.mielczarek@gmail.com2012-09-174-3/+29
| | | | | | | | directory from MinidumpDescriptor R=digit at https://breakpad.appspot.com/452003/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1037 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix compilation of crash_generation_server.cc, and add it to the client ↵ted.mielczarek@gmail.com2012-09-171-1/+1
| | | | | | | | library sources so it actually gets built. R=mark at https://breakpad.appspot.com/446003/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1036 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix processor to build with clangted.mielczarek@gmail.com2012-09-101-1/+1
| | | | | | R=mark at http://breakpad.appspot.com/451002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1035 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix compiler warnings on Ubuntu Precise. Pull in gmock r408 in the process.thestig@chromium.org2012-09-102-64/+63
| | | | | | | BUG=490 Review URL: https://breakpad.appspot.com/448002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1034 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Use sys_fstat64 on Androidted.mielczarek@gmail.com2012-09-101-4/+1
| | | | | | R=digit at https://breakpad.appspot.com/414002/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1033 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix of a race condition during Crash Generation Server startupivan.penkov@gmail.com2012-09-071-3/+6
| | | | | | | | https://breakpad.appspot.com/445002/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1031 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix the Linux build on Ubuntu 12.04 LTSdigit@chromium.org2012-09-061-2/+2
| | | | | | | | | | | | This fixes the build, which fails because the initialization values for an array of struct sigaction cannot be { 0 }. + Get rid of warning related to unused return value for ftruncate() BUG=492 Review URL: https://breakpad.appspot.com/447002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1027 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix README.ANDROID + formattingdigit@chromium.org2012-09-051-2/+2
| | | | | | | | | | | This patch updates README.ANDROID, since the client library now supports directly generating a minidump without raising a signal, and that it builds and runs fine on Android/x86. + Formatting fixes in minidump_writer_unittest.cc Review URL: https://breakpad.appspot.com/446002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1026 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Properly redeliver (or don't) signals to the previous handlers.mark@chromium.org2012-09-043-72/+304
| | | | | | | | | | | | | | | | | | | | | | | | If none of the installed ExceptionHandlers handle a signal (their FilterCallbacks or HandlerCallbacks all return false), then the signal should be delivered to the signal handlers that were previously installed. This requires that old_handlers_ become a static vector so that we can restore the handlers in the static HandleSignal. Currently it is also restoring signals in ~ExceptionHandler (if there are no others). This should not be required since our documentation states that a process can only have one ExceptionHandler for which install_handlers is true (and so we get the correct behavior if we simply leave our handlers installed forever), but even the tests themselves violate that. Patch by Chris Hopman <cjhopman@chromium.org> Review URL: https://breakpad.appspot.com/440002/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1025 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Add custom getcontext() implementation for Android.digit@chromium.org2012-08-316-15/+342
| | | | | | | | | | | | | | | | | | | | | | | | | This adds a minimalistic implementation of getcontext() for Android/ARM and Android/x86. The provided code is in assembly and only implements the bare minimum required by Breakpad to get the current processor state. Note that: - The FPU state is not saved to the ucontext_t on ARM. (that's actually the main difference with a normal getcontext() implementation). This is normal. On Linux/ARM, such state must be obtained with PTRACE_GETVFPREGS instead. This will be implemented in a future patch. - On x86, only the 'regular' FPU state is saved, to mimic the GLibc/i386 implementation. The state of SSE/SSE2/etc registers is not part of the upstream getcontext() implementation. Review URL: https://breakpad.appspot.com/444002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1024 4c0a9323-5329-0410-9bdc-e9ce6186880e