ted.mielczarek@gmail.com [Fri, 17 May 2013 19:50:00 +0000 (19:50 +0000)]
Ensure a proper LinuxDumper::crash_thread_ value
Patch by Mike Hommey <mh@glandium.org>, R=me at https://breakpad.appspot.com/582002/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1185
4c0a9323-5329-0410-9bdc-
e9ce6186880e
ted.mielczarek@gmail.com [Fri, 17 May 2013 19:47:10 +0000 (19:47 +0000)]
Use std::vector with a custom allocator wrapping PageAllocator for wasteful_vector
Patch by Mike Hommey <mh@glandium.org>, R=me at https://breakpad.appspot.com/581002/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1184
4c0a9323-5329-0410-9bdc-
e9ce6186880e
ted.mielczarek@gmail.com [Fri, 17 May 2013 14:51:46 +0000 (14:51 +0000)]
Avoid gmock warning "Uninteresting mock function call"
Patch by Michael Krebs <mkrebs@chromium.org>, R=me at https://breakpad.appspot.com/397002/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1183
4c0a9323-5329-0410-9bdc-
e9ce6186880e
qsr@chromium.org [Thu, 16 May 2013 14:06:06 +0000 (14:06 +0000)]
Always read CFI section, even when not outputing CFI information.
On iOS at least, the CFI section contains information needed to
correctly dump the symbols. Even if the CFI section is not dumped,
reading it is necessary to get correcty symbolication.
R=mark@chromium.org, ted.mielczarek@gmail.com
Review URL: https://breakpad.appspot.com/596002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1182
4c0a9323-5329-0410-9bdc-
e9ce6186880e
ivan.penkov@gmail.com [Sat, 11 May 2013 00:23:41 +0000 (00:23 +0000)]
Compile issue when using global string "::string". For more details take a look at src/common/using_std_string.h.
Review URL: https://breakpad.appspot.com/577002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1181
4c0a9323-5329-0410-9bdc-
e9ce6186880e
mseaborn@chromium.org [Fri, 10 May 2013 20:58:49 +0000 (20:58 +0000)]
Fix a "set but not used" compiler warning in a test
Add a missing assertion whose absence made the test ineffective.
Make the test a little stricter too.
BUG=none
TEST="make check" to run the test + use "-Wall -Werror"
Review URL: https://breakpad.appspot.com/592003
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1180
4c0a9323-5329-0410-9bdc-
e9ce6186880e
mseaborn@chromium.org [Fri, 10 May 2013 15:49:23 +0000 (15:49 +0000)]
Fix a "set but not used" compiler warning in libdisasm
BUG=none
TEST=none apart from compiling with "-Wall -Werror"
Review URL: https://breakpad.appspot.com/594002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1179
4c0a9323-5329-0410-9bdc-
e9ce6186880e
mark@chromium.org [Thu, 9 May 2013 21:56:18 +0000 (21:56 +0000)]
Fix following r1175: the section name is __debug_info, not .debug_info.
Review URL: https://breakpad.appspot.com/583003
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1178
4c0a9323-5329-0410-9bdc-
e9ce6186880e
chrisha@chromium.org [Thu, 9 May 2013 16:29:56 +0000 (16:29 +0000)]
Check in new Windows binaries.
These binaries include recent changes to pdb_source_line_writer for handling
PDBs with OMAP data. They were built using the GYP build files, MSVS 2010 and
DIA SDK 8.0.
Review URL: https://breakpad.appspot.com/584002/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1177
4c0a9323-5329-0410-9bdc-
e9ce6186880e
thestig@chromium.org [Wed, 8 May 2013 20:24:03 +0000 (20:24 +0000)]
Mac: Fix more errors from clang to get crash_report.xcodeproj close to compiling.
R=mark@chromium.org
Review URL: https://breakpad.appspot.com/593002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1176
4c0a9323-5329-0410-9bdc-
e9ce6186880e
thestig@chromium.org [Wed, 8 May 2013 17:41:12 +0000 (17:41 +0000)]
Fix mac dump_syms after r1163.
R=mark@chromium.org
Review URL: https://breakpad.appspot.com/592002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1175
4c0a9323-5329-0410-9bdc-
e9ce6186880e
rsesek@chromium.org [Wed, 8 May 2013 16:06:33 +0000 (16:06 +0000)]
NULL-check the entry in NonAllocatingMap before setting on it.
Using just an assert will still cause a crash in a release build.
BUG=http://code.google.com/p/chromium/issues/detail?id=238757
R=mark@chromium.org
Review URL: https://breakpad.appspot.com/593003
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1174
4c0a9323-5329-0410-9bdc-
e9ce6186880e
mseaborn@chromium.org [Wed, 8 May 2013 02:37:15 +0000 (02:37 +0000)]
Make x86-64 stack walking work for Native Client minidumps
For NaCl, a stack walker should ignore the top 32 bits of %rip, %rsp
and %rbp, otherwise it will try to read from %r15-extended stack
addresses and look up symbol info for %r15-extended code addresses,
which will fail.
BUG=https://code.google.com/p/nativeclient/issues/detail?id=3424
TEST=tested manually with a NaCl minidump
Review URL: https://breakpad.appspot.com/591002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1173
4c0a9323-5329-0410-9bdc-
e9ce6186880e
mseaborn@chromium.org [Mon, 6 May 2013 23:33:02 +0000 (23:33 +0000)]
Add MD_OS_NACL platform_id value for identifying NaCl minidumps
Change minidump-2-core to accept minidumps with this platform_id value
rather than rejecting them as non-Linux dumps.
Add a missing "break" for a MD_OS_PS3 case.
BUG= https://code.google.com/p/nativeclient/issues/detail?id=3424
TEST= tested with work-in-progress NaCl minidump generator
Review URL: https://breakpad.appspot.com/590002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1172
4c0a9323-5329-0410-9bdc-
e9ce6186880e
mseaborn@chromium.org [Mon, 6 May 2013 23:27:28 +0000 (23:27 +0000)]
Fix an "unused variable" compiler warning in exploitability_win.cc
BUG=none
TEST=compile with "-Wall -Werror"
Review URL: https://breakpad.appspot.com/588003
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1171
4c0a9323-5329-0410-9bdc-
e9ce6186880e
mark@chromium.org [Mon, 6 May 2013 19:53:48 +0000 (19:53 +0000)]
Fix GetLoadingAddress() to work for Native Client executables
NaCl executables have ELF program headers that look like this (for the
original NaCl x86 GCC toolchain):
Program Header:
LOAD off 0x00010000 vaddr 0x00020000 paddr 0x00020000 align 2**16
filesz 0x00017ce0 memsz 0x00017ce0 flags r-x
LOAD off 0x00030000 vaddr 0x10020000 paddr 0x10020000 align 2**16
filesz 0x00001c98 memsz 0x00001c98 flags r--
LOAD off 0x00040000 vaddr 0x10030000 paddr 0x10030000 align 2**16
filesz 0x000025ec memsz 0x00002b88 flags rw-
or this (for the newer NaCl ARM GCC toolchain):
Program Header:
LOAD off 0x00010000 vaddr 0x00020000 paddr 0x00020000 align 2**16
filesz 0x000193b0 memsz 0x000193b0 flags r-x
LOAD off 0x00000000 vaddr 0x10020000 paddr 0x10020000 align 2**16
filesz 0x00000978 memsz 0x00000978 flags r--
LOAD off 0x00001000 vaddr 0x10031000 paddr 0x10031000 align 2**16
filesz 0x00000abc memsz 0x00000fac flags rw-
Fix GetLoadingAddress() to return the start address of the first
segment, 0x20000, in these cases. Looking at p_offset for this isn't
correct, and the first segment doesn't have p_offset == 0 here because
NaCl can't map the ELF file headers as part of the first segment
(which is for validatable code only).
BUG= https://code.google.com/p/nativeclient/issues/detail?id=3424
TEST= check addresses in output of "dump_syms" when run on NaCl nexe
Patch by Mark Seaborn <mseaborn@chromium.org>
Review URL: https://breakpad.appspot.com/588002/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1170
4c0a9323-5329-0410-9bdc-
e9ce6186880e
qsr@chromium.org [Fri, 3 May 2013 15:04:12 +0000 (15:04 +0000)]
Fix minidump generation from exception.
Review URL: https://breakpad.appspot.com/583002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1169
4c0a9323-5329-0410-9bdc-
e9ce6186880e
chrisha@chromium.org [Wed, 1 May 2013 19:02:32 +0000 (19:02 +0000)]
Add GYP file for tools\windows\symupload.
This creates a GYP project file for the Windows symupload binary, allowing for
easier building. It also updates the old VC 8.0 project file to reflect recent
changes to PdbSourceLineWriter.
Review URL: https://breakpad.appspot.com/579002/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1168
4c0a9323-5329-0410-9bdc-
e9ce6186880e
chrisha@chromium.org [Wed, 1 May 2013 18:18:46 +0000 (18:18 +0000)]
Add explicit OMAP support to dump_syms.
This CL adds new utilities to common/windows for handling OMAP information in
PDB files. It then augments PdbSourceLineWriter with explicit OMAP knowledge so
that symbolization will proceed more cleanly for images whose PDB files contain
OMAP information. This makes breakpad handle OMAPped symbol files as cleanly as
WinDbg.
Review URL: https://breakpad.appspot.com/570002/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1167
4c0a9323-5329-0410-9bdc-
e9ce6186880e
ivan.penkov@gmail.com [Thu, 25 Apr 2013 21:32:55 +0000 (21:32 +0000)]
Fixing a clang warning.
This is a followup change from https://breakpad.appspot.com/569002/
This prevents push_back from ever calling Realloc()
with 0 (which could happen if wasteful_vector was
constructed with size_hint set to 0, causing
allocated_ to be 0.
Review URL: https://breakpad.appspot.com/576002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1166
4c0a9323-5329-0410-9bdc-
e9ce6186880e
thestig@chromium.org [Thu, 25 Apr 2013 20:36:31 +0000 (20:36 +0000)]
Add MD_OS_PS3 to breakpad and exception types.
A=Jia Ji <jijia@google.com>
Original review: https://breakpad.appspot.com/571002/
Review URL: https://breakpad.appspot.com/574002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1165
4c0a9323-5329-0410-9bdc-
e9ce6186880e
thestig@chromium.org [Wed, 24 Apr 2013 21:40:27 +0000 (21:40 +0000)]
Cleanup: Use scoped_ptr where appropriate in DwarfCUToModule.
Review URL: https://breakpad.appspot.com/572002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1164
4c0a9323-5329-0410-9bdc-
e9ce6186880e
thestig@chromium.org [Wed, 24 Apr 2013 21:18:44 +0000 (21:18 +0000)]
Add an option to not handle DWARF inter-compilation unit references in Linux dump_syms.
This saves a lot of memory for dump_syms.
Review URL: https://breakpad.appspot.com/565002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1163
4c0a9323-5329-0410-9bdc-
e9ce6186880e
ivan.penkov@gmail.com [Wed, 24 Apr 2013 21:02:55 +0000 (21:02 +0000)]
Fix Clang warning regarding null pointer argument.
This warning was showing up in the Clang static analyzer in Xcode: "Null pointer argument in call to memory copy function"
Fix provided by Ian Wilkinson.
Review URL: https://breakpad.appspot.com/569002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1162
4c0a9323-5329-0410-9bdc-
e9ce6186880e
rsesek@chromium.org [Wed, 24 Apr 2013 18:15:48 +0000 (18:15 +0000)]
Rewrite SimpleStringDictionary with NonAllocatingMap.
NonAllocatingMap has a near-identical interface, but is significantly less code,
more customizable, and has storage that is POD.
BUG=http://code.google.com/p/chromium/issues/detail?id=77656
Review URL: https://breakpad.appspot.com/568002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1161
4c0a9323-5329-0410-9bdc-
e9ce6186880e
digit@chromium.org [Wed, 24 Apr 2013 10:06:14 +0000 (10:06 +0000)]
Improve ARM CPU info reporting.
This patch improves several things for Linux/ARM:
- Better detection of the number of CPUs on the target
device. The content of /proc/cpuinfo only matches the
number of "online" CPUs, which varies over time with
recent Android devices.
- Reconstruct the CPUID and ELF hwcaps values from
/proc/cpuinfo, this is useful to better identify
target devices in minidumps.
- Make minidump_dump display the new information
in useful ways.
- Write a small helper class to parse /proc/cpuinfo
and also use it for x86/64.
- Write a small helper class to parse sysfds cpu lists.
- Add a my_memchr() implementation.
- Add unit tests.
Tested on a Nexus S (1 CPU), Galaxy Nexus (2 CPUs)
and a Nexus 4 (4 CPUs).
Review URL: https://breakpad.appspot.com/540003
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1160
4c0a9323-5329-0410-9bdc-
e9ce6186880e
thestig@chromium.org [Tue, 23 Apr 2013 23:18:39 +0000 (23:18 +0000)]
Cleanup: Remove duplicate wording in license headers.
BUG=505
Review URL: https://breakpad.appspot.com/498002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1159
4c0a9323-5329-0410-9bdc-
e9ce6186880e
ivan.penkov@gmail.com [Tue, 23 Apr 2013 21:04:31 +0000 (21:04 +0000)]
This change allows compiling sym_upload.cc and minidump_upload.cc using a global ::string class instead of std::string. For more details take a look at common/using_std_string.h
A few other fixes:
- getopt() returns (int)(-1) when options are exhausted. This was already sent out for code review by mattdr but only for sym_upload.cc (https://breakpad.appspot.com/561002/). I'm applying the fix for both files.
- Fixed a couple of lint warning about improper usage of white-spaces.
Thanks,
-Ivan
Review URL: https://breakpad.appspot.com/567002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1158
4c0a9323-5329-0410-9bdc-
e9ce6186880e
ivan.penkov@gmail.com [Tue, 23 Apr 2013 00:47:53 +0000 (00:47 +0000)]
Allow option for efficient and safe opt out of in-proc dump generation for Windows breakpad clients.
https://breakpad.appspot.com/549002/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1157
4c0a9323-5329-0410-9bdc-
e9ce6186880e
thestig@chromium.org [Fri, 19 Apr 2013 22:05:07 +0000 (22:05 +0000)]
Fix Bigcluster build error with minidump.cc after r1147.
A=Jia Ji <jijia@google.com>
Original review: https://breakpad.appspot.com/563002/
Review URL: https://breakpad.appspot.com/564003
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1156
4c0a9323-5329-0410-9bdc-
e9ce6186880e
rsesek@chromium.org [Fri, 19 Apr 2013 19:32:20 +0000 (19:32 +0000)]
Get SimpleStringDictionary compiling on Linux.
BUG=http://code.google.com/p/chromium/issues/detail?id=77656
Review URL: https://breakpad.appspot.com/564002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1155
4c0a9323-5329-0410-9bdc-
e9ce6186880e
rsesek@chromium.org [Thu, 18 Apr 2013 20:17:29 +0000 (20:17 +0000)]
Move SimpleStringDictionary from common/mac/ to just common/.
This also cleans up some things like the file name, trailing whitespace,
and making the test use gtest instead of sentest, since there's nothing
Mac specific about this.
BUG=https://code.google.com/p/chromium/issues/detail?id=77656
Review URL: https://breakpad.appspot.com/561003
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1154
4c0a9323-5329-0410-9bdc-
e9ce6186880e
ted.mielczarek@gmail.com [Thu, 18 Apr 2013 13:24:33 +0000 (13:24 +0000)]
Add Android ifdef to fix issue 526
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1153
4c0a9323-5329-0410-9bdc-
e9ce6186880e
ted.mielczarek@gmail.com [Thu, 18 Apr 2013 12:47:08 +0000 (12:47 +0000)]
Fix missing result check in Mac exception handler
Patch by Georg Fritzsche <georg.fritzsche@googlemail.com>, R=ted at https://breakpad.appspot.com/554003/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1152
4c0a9323-5329-0410-9bdc-
e9ce6186880e
ted.mielczarek@gmail.com [Wed, 17 Apr 2013 13:37:39 +0000 (13:37 +0000)]
minidump_stackwalk should display r12 in ARM stack traces
A=torne@google.com, R=ted, http://code.google.com/p/google-breakpad/issues/detail?id=456
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1151
4c0a9323-5329-0410-9bdc-
e9ce6186880e
ted.mielczarek@gmail.com [Tue, 16 Apr 2013 17:55:21 +0000 (17:55 +0000)]
Don't print an error when a user-set max frames limit has been reached in the stackwalker
Patch by Julian Seward <jseward@acm.org>, R=ted at https://bugzilla.mozilla.org/show_bug.cgi?id=859745
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1150
4c0a9323-5329-0410-9bdc-
e9ce6186880e
ted.mielczarek@gmail.com [Tue, 16 Apr 2013 17:51:10 +0000 (17:51 +0000)]
ESP is zero in dumps created by CrashGenerationClient::RequestDump on i386 Linux
Patch by Bruce Dawson <bruce.dawson@gmail.com>, R=ted at https://breakpad.appspot.com/533002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1149
4c0a9323-5329-0410-9bdc-
e9ce6186880e
thestig@chromium.org [Sat, 13 Apr 2013 02:24:36 +0000 (02:24 +0000)]
Change MDRawSystemInfo.processor_architecture value for PPC64 to 0x8002.
Review URL: https://breakpad.appspot.com/559002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1148
4c0a9323-5329-0410-9bdc-
e9ce6186880e
thestig@chromium.org [Fri, 12 Apr 2013 23:24:02 +0000 (23:24 +0000)]
Add PPC64 support to breakpad processor.
A=Jia Ji <jijia@google.com>
Original review: https://breakpad.appspot.com/557002/
Review URL: https://breakpad.appspot.com/558002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1147
4c0a9323-5329-0410-9bdc-
e9ce6186880e
thestig@chromium.org [Wed, 10 Apr 2013 03:33:09 +0000 (03:33 +0000)]
Fix build on Android - put the missing NT_GNU_BUILD_ID #define in elf_gnu_compat.h and use it where needed.
Review URL: https://breakpad.appspot.com/554004
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1146
4c0a9323-5329-0410-9bdc-
e9ce6186880e
thestig@chromium.org [Tue, 9 Apr 2013 18:58:39 +0000 (18:58 +0000)]
Remove auto_ptr usage in Breakpad. Also fix some lint errors.
Review URL: https://breakpad.appspot.com/553002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1145
4c0a9323-5329-0410-9bdc-
e9ce6186880e
jessicag.feedback [Fri, 5 Apr 2013 00:53:45 +0000 (00:53 +0000)]
Turn off verbose logging but keep logic for future reference for debug logging.
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1144
4c0a9323-5329-0410-9bdc-
e9ce6186880e
ted.mielczarek@gmail.com [Thu, 4 Apr 2013 16:24:52 +0000 (16:24 +0000)]
Try to find a build-id through PT_NOTE program headers
A=Mike Hommey <mh@glandium.org>
R=ted at https://breakpad.appspot.com/544003/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1143
4c0a9323-5329-0410-9bdc-
e9ce6186880e
ted.mielczarek@gmail.com [Thu, 4 Apr 2013 16:24:44 +0000 (16:24 +0000)]
Support generic Elf notes, with unit tests
A=Mike Hommey <mh@glandium.org>
R=ted at https://breakpad.appspot.com/546002/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1142
4c0a9323-5329-0410-9bdc-
e9ce6186880e
ted.mielczarek@gmail.com [Thu, 4 Apr 2013 16:24:38 +0000 (16:24 +0000)]
Refactor BasicElf synth_elf unitest
A=Mike Hommey <mh@glandium.org>
R=ted at https://breakpad.appspot.com/544002/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1141
4c0a9323-5329-0410-9bdc-
e9ce6186880e
mark@chromium.org [Wed, 3 Apr 2013 18:31:16 +0000 (18:31 +0000)]
These are prerequisites needed for a wider effort inside Google to enable
structured logging. This is basically wrapping std::ostream within a new type.
No functional differences from this change are expected.
Patch by Ivan Penkov <ivan.penkov@gmail.com>
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1140
4c0a9323-5329-0410-9bdc-
e9ce6186880e
ivan.penkov@gmail.com [Fri, 29 Mar 2013 21:37:42 +0000 (21:37 +0000)]
Removing redundant calls to string::c_str().
https://breakpad.appspot.com/539002/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1139
4c0a9323-5329-0410-9bdc-
e9ce6186880e
ted.mielczarek@gmail.com [Fri, 29 Mar 2013 15:10:50 +0000 (15:10 +0000)]
Refactor file_id_unittest
A=Mike Hommey <mh@glandium.org>
R=ted at https://breakpad.appspot.com/543003/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1138
4c0a9323-5329-0410-9bdc-
e9ce6186880e
ted.mielczarek@gmail.com [Fri, 29 Mar 2013 15:06:43 +0000 (15:06 +0000)]
Add tests for section headers in synth_elf unittest
A=Mike Hommey <mh@glandium.org>
R=ted at https://breakpad.appspot.com/542003/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1137
4c0a9323-5329-0410-9bdc-
e9ce6186880e
ted.mielczarek@gmail.com [Fri, 29 Mar 2013 15:06:37 +0000 (15:06 +0000)]
Refactor BasicElf synth_elf unitest
A=Mike Hommey <mh@glandium.org>
R=ted at https://breakpad.appspot.com/544002/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1136
4c0a9323-5329-0410-9bdc-
e9ce6186880e
ted.mielczarek@gmail.com [Fri, 29 Mar 2013 15:06:29 +0000 (15:06 +0000)]
Defer adding sections until ELF::Finish in synth_elf
A=Mike Hommey <mh@glandium.org>
R=ted at https://breakpad.appspot.com/543002/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1135
4c0a9323-5329-0410-9bdc-
e9ce6186880e
ted.mielczarek@gmail.com [Fri, 29 Mar 2013 15:06:24 +0000 (15:06 +0000)]
Get the complete linux gate mapping instead of only one page
A=Mike Hommey <mh@glandium.org>
R=ted at https://breakpad.appspot.com/542002/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1134
4c0a9323-5329-0410-9bdc-
e9ce6186880e
ted.mielczarek@gmail.com [Fri, 29 Mar 2013 14:39:55 +0000 (14:39 +0000)]
Fix Windows unittest build on VC2012
R=mark at https://breakpad.appspot.com/539003/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1133
4c0a9323-5329-0410-9bdc-
e9ce6186880e
digit@chromium.org [Thu, 21 Mar 2013 08:22:37 +0000 (08:22 +0000)]
Fix three unit tests on recent ARM devices.
Three unit tests were failing on recent ARM devices (e.g. Galaxy Nexus
or Nexus 4), while ran properly on older ones (e.g. Nexus S).
The main issue is that the instruction cache needs to be explicitely
cleared on ARM after writing machine code bytes to a malloc()-ed
page with PROT_EXEC.
Review URL: https://breakpad.appspot.com/540002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1132
4c0a9323-5329-0410-9bdc-
e9ce6186880e
ted.mielczarek@gmail.com [Tue, 12 Mar 2013 18:08:30 +0000 (18:08 +0000)]
Linux MinidumpWriter should properly set number_of_processors on ARM
R=digit at http://breakpad.appspot.com/425002
This doesn't fix this problem in all possible cases, but it makes it
slightly better in some cases, so I think that's a net positive.
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1131
4c0a9323-5329-0410-9bdc-
e9ce6186880e
ted.mielczarek@gmail.com [Thu, 7 Mar 2013 19:02:46 +0000 (19:02 +0000)]
Remove "library" variable
A=Thiago Farina <tfarina@chromium.org>
BUG=http://code.google.com/p/chromium/issues/detail?id=111541
R=thestig@chromium.org at https://breakpad.appspot.com/537002/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1130
4c0a9323-5329-0410-9bdc-
e9ce6186880e
ted.mielczarek@gmail.com [Thu, 7 Mar 2013 19:02:44 +0000 (19:02 +0000)]
fix size types w/x32
A=vapier@chromium.org R=ted at https://breakpad.appspot.com/526002/
BUG=chromium-os:36866
TEST=compiled the code for x86_64 (64bit) & x86_64 (x32)
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1129
4c0a9323-5329-0410-9bdc-
e9ce6186880e
ted.mielczarek@gmail.com [Wed, 6 Mar 2013 20:14:34 +0000 (20:14 +0000)]
Provide a ReadSymbolData API for Mac dump_syms
R=mark at https://breakpad.appspot.com/522002/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1128
4c0a9323-5329-0410-9bdc-
e9ce6186880e
ted.mielczarek@gmail.com [Wed, 6 Mar 2013 20:14:32 +0000 (20:14 +0000)]
Make OOP mac crashreporting exit after writing dump
R=mark at https://breakpad.appspot.com/538002/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1127
4c0a9323-5329-0410-9bdc-
e9ce6186880e
ivan.penkov@gmail.com [Wed, 6 Mar 2013 19:32:13 +0000 (19:32 +0000)]
Keeping track of modules without symbols during crash report processing.
http://breakpad.appspot.com/534002/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1126
4c0a9323-5329-0410-9bdc-
e9ce6186880e
ted.mielczarek@gmail.com [Wed, 6 Mar 2013 15:33:02 +0000 (15:33 +0000)]
Allow building symbol dumping without STABS support
R=mark at https://breakpad.appspot.com/536002/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1125
4c0a9323-5329-0410-9bdc-
e9ce6186880e
ted.mielczarek@gmail.com [Wed, 6 Mar 2013 15:32:53 +0000 (15:32 +0000)]
Allow reading just CFI data when reading symbols
R=thestig at https://breakpad.appspot.com/517002/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1124
4c0a9323-5329-0410-9bdc-
e9ce6186880e
ted.mielczarek@gmail.com [Wed, 6 Mar 2013 14:43:02 +0000 (14:43 +0000)]
Minor Android fixup for symbol dumping code
Patch by Julian Seward <jseward@acm.org>
R=digit at https://breakpad.appspot.com/521002/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1123
4c0a9323-5329-0410-9bdc-
e9ce6186880e
ted.mielczarek@gmail.com [Wed, 6 Mar 2013 14:06:52 +0000 (14:06 +0000)]
Fix some more Win32 compat issues in processor code
R=mark at https://breakpad.appspot.com/535003/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1122
4c0a9323-5329-0410-9bdc-
e9ce6186880e
ted.mielczarek@gmail.com [Wed, 6 Mar 2013 14:04:42 +0000 (14:04 +0000)]
Use stdint types everywhere
R=mark at https://breakpad.appspot.com/535002/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1121
4c0a9323-5329-0410-9bdc-
e9ce6186880e
ted.mielczarek@gmail.com [Mon, 4 Mar 2013 15:42:50 +0000 (15:42 +0000)]
Work around Windows headers #defining ERROR by renaming enum values in StackFrameSymbolizer
Patch by Julian Seward <jseward@acm.org>, R=ted
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1120
4c0a9323-5329-0410-9bdc-
e9ce6186880e
ted.mielczarek@gmail.com [Fri, 1 Mar 2013 17:33:25 +0000 (17:33 +0000)]
Remove unnecessary #include unistd.h
(no review, trivial change)
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1119
4c0a9323-5329-0410-9bdc-
e9ce6186880e
ted.mielczarek@gmail.com [Thu, 28 Feb 2013 19:52:51 +0000 (19:52 +0000)]
Make CompareStringPtrs::operator() a const method
Patch by Julian Seward <jseward@acm.org>, R=ted
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1118
4c0a9323-5329-0410-9bdc-
e9ce6186880e
ted.mielczarek@gmail.com [Thu, 28 Feb 2013 19:52:37 +0000 (19:52 +0000)]
Add missing "using std::sort" to dwarf_cu_to_module.cc.
Patch by Julian Seward <jseward@acm.org>, R=ted
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1117
4c0a9323-5329-0410-9bdc-
e9ce6186880e
ted.mielczarek@gmail.com [Wed, 27 Feb 2013 16:43:26 +0000 (16:43 +0000)]
Fix DumpSymbols error message when using multiple debug_dirs, followup from r1102.
Patch by Julian Seward <jseward@acm.org>, R=ted
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1116
4c0a9323-5329-0410-9bdc-
e9ce6186880e
ted.mielczarek@gmail.com [Thu, 14 Feb 2013 14:03:54 +0000 (14:03 +0000)]
size_limit_ member of minidump_descriptor ignored in copy constructor
Patch by Avishai Hendel <avish@fb.com>, R=mkrebs at https://codereview.appspot.com/7305060/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1114
4c0a9323-5329-0410-9bdc-
e9ce6186880e
ted.mielczarek@gmail.com [Thu, 14 Feb 2013 14:03:51 +0000 (14:03 +0000)]
Make MmapWrapper a little less silly
R=thestig at https://breakpad.appspot.com/527002/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1113
4c0a9323-5329-0410-9bdc-
e9ce6186880e
ted.mielczarek@gmail.com [Fri, 1 Feb 2013 19:20:34 +0000 (19:20 +0000)]
Fix some issues with -Werror=sign-compare on Android builds
R=digit at https://breakpad.appspot.com/524002/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1110
4c0a9323-5329-0410-9bdc-
e9ce6186880e
qsr@chromium.org [Fri, 1 Feb 2013 09:49:09 +0000 (09:49 +0000)]
Add API to find out if there is crash reports to send to the server.
Review URL: https://breakpad.appspot.com/518002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1109
4c0a9323-5329-0410-9bdc-
e9ce6186880e
ted.mielczarek@gmail.com [Thu, 31 Jan 2013 19:49:03 +0000 (19:49 +0000)]
minidump_stackwalk: Show argument registers for ARM stack traces
Patch by Michael Krebs <mkrebs@chromium.org>, R=ted at https://breakpad.appspot.com/497002/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1108
4c0a9323-5329-0410-9bdc-
e9ce6186880e
ted.mielczarek@gmail.com [Thu, 31 Jan 2013 16:15:55 +0000 (16:15 +0000)]
Remove a call to new[] from WriteDSODebugStream
R=mark at https://breakpad.appspot.com/523002/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1107
4c0a9323-5329-0410-9bdc-
e9ce6186880e
ted.mielczarek@gmail.com [Wed, 23 Jan 2013 18:01:28 +0000 (18:01 +0000)]
Include the compilation directory for FILE entries, making them absolute instead of relative
A=Ryan Sleevi <rsleevi@chromium.org> R=mark,ted at https://breakpad.appspot.com/385001/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1106
4c0a9323-5329-0410-9bdc-
e9ce6186880e
jimblandy [Tue, 22 Jan 2013 22:38:41 +0000 (22:38 +0000)]
Print the correct return address, even on architectures where StackFrame::instruction is offset.
a=bruce.dawson, r=jimblandy
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1105
4c0a9323-5329-0410-9bdc-
e9ce6186880e
thestig@chromium.org [Tue, 22 Jan 2013 18:49:58 +0000 (18:49 +0000)]
Fix remaining processor/scoped_ptr.h references for reals.
Review URL: https://breakpad.appspot.com/516003
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1104
4c0a9323-5329-0410-9bdc-
e9ce6186880e
thestig@chromium.org [Tue, 22 Jan 2013 17:20:42 +0000 (17:20 +0000)]
Fix remaining processor/scoped_ptr.h references after r1096.
Review URL: https://breakpad.appspot.com/516002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1103
4c0a9323-5329-0410-9bdc-
e9ce6186880e
ted.mielczarek@gmail.com [Tue, 22 Jan 2013 13:36:39 +0000 (13:36 +0000)]
Make DumpSymbols methods take a vector of debug_dirs
r=thestig at https://breakpad.appspot.com/512002/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1102
4c0a9323-5329-0410-9bdc-
e9ce6186880e
thestig@chromium.org [Sat, 19 Jan 2013 00:19:16 +0000 (00:19 +0000)]
Remove <(library) usage from gyp files.
BUG=chromium:111541
Patch by Thiago Farina <tfarina@chromium.org>.
Original code review: https://breakpad.appspot.com/513002/
Review URL: https://breakpad.appspot.com/515002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1101
4c0a9323-5329-0410-9bdc-
e9ce6186880e
ted.mielczarek@gmail.com [Fri, 18 Jan 2013 20:24:16 +0000 (20:24 +0000)]
Provide a ReadSymbolData function to get symbol data in a Module instead of just serializing it
R=thestig at https://breakpad.appspot.com/510002/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1099
4c0a9323-5329-0410-9bdc-
e9ce6186880e
ted.mielczarek@gmail.com [Fri, 18 Jan 2013 13:51:05 +0000 (13:51 +0000)]
Don't make MmapWrapper's destructor assert
R=mark at https://breakpad.appspot.com/511002/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1098
4c0a9323-5329-0410-9bdc-
e9ce6186880e
ted.mielczarek@gmail.com [Fri, 18 Jan 2013 13:40:40 +0000 (13:40 +0000)]
Fix a couple of warnings in stack_frame_symbolizer code
R=SiyangXie at https://breakpad.appspot.com/509003/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1097
4c0a9323-5329-0410-9bdc-
e9ce6186880e
ted.mielczarek@gmail.com [Thu, 17 Jan 2013 15:53:56 +0000 (15:53 +0000)]
Move scoped_ptr.h to common
R=mark at https://breakpad.appspot.com/509002/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1096
4c0a9323-5329-0410-9bdc-
e9ce6186880e
mark@chromium.org [Mon, 14 Jan 2013 18:53:18 +0000 (18:53 +0000)]
ExceptionHandler::HandleSignal
(https://code.google.com/searchframe#OAMlx_jo-ck/src/breakpad/src/client/linux/handler/exception_handler.cc&exact_package=chromium&q=SI_USER&type=cs&l=389)
requires si_pid to be equal to getpid() for SI_USER signals.
This is a patch by Lei Zhang (thestig@chromium.org) that fixes the issue with
Chrome+ASan being unable to upload the crash dump to the crash server when the
seccomp sandbox is on.
Patch by Alexander Potapenko <glider@chromium.org>
Review URL: https://codereview.appspot.com/7066068/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1095
4c0a9323-5329-0410-9bdc-
e9ce6186880e
jimblandy [Tue, 8 Jan 2013 02:14:44 +0000 (02:14 +0000)]
DWARF can store DW_AT_high_pc as either an address or a constant. In the latter
case it's the length of the function. breakpad always treats it as an address.
a=mattdr, r=jimb
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1094
4c0a9323-5329-0410-9bdc-
e9ce6186880e
qsr@chromium.org [Mon, 17 Dec 2012 14:48:45 +0000 (14:48 +0000)]
Fix typo.
Review URL: https://breakpad.appspot.com/506002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1093
4c0a9323-5329-0410-9bdc-
e9ce6186880e
qsr@chromium.org [Mon, 17 Dec 2012 14:20:13 +0000 (14:20 +0000)]
Updating BreakpadController to allow start and stop being nop.
When BreakpadController is already started or stopped, trying to restart it or
restopping it will now be no-op instead of asserting.
Review URL: https://breakpad.appspot.com/505002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1092
4c0a9323-5329-0410-9bdc-
e9ce6186880e
mark@chromium.org [Wed, 12 Dec 2012 04:02:58 +0000 (04:02 +0000)]
Remove dead code.
Patch by Rafael Espindola <rafael.espindola@gmail.com>
Review URL: http://breakpad.appspot.com/502003/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1091
4c0a9323-5329-0410-9bdc-
e9ce6186880e
mkrebs@chromium.org [Wed, 12 Dec 2012 02:30:09 +0000 (02:30 +0000)]
Fix minidump size limit used for MinidumpSizeLimit unittest
If the stack sizes for threads in the MinidumpSizeLimit test are too big,
then subtracting 64KB from the normal minidump file size is not enough to
trigger the size-limiting logic. Instead of basing the arbitrary limit off
of the normal file size, make it relative to the 8KB stack size the logic
assumes.
BUG=google-breakpad:510
TEST=Ran unittests
Review URL: https://breakpad.appspot.com/504002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1090
4c0a9323-5329-0410-9bdc-
e9ce6186880e
mark@chromium.org [Tue, 11 Dec 2012 13:46:41 +0000 (13:46 +0000)]
Allow the Mac and iOS Breakpad clients to build without exceptions when the C++ standard library is not provided by libstdc++. libc++, for example, does
not provide its own try and catch replacement macros when exceptions are
disabled.
BUG=509
Review URL: https://breakpad.appspot.com/503002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1089
4c0a9323-5329-0410-9bdc-
e9ce6186880e
ivan.penkov@gmail.com [Sat, 8 Dec 2012 03:18:52 +0000 (03:18 +0000)]
The Google-breakpad processor rejects (ignores) context records that lack CPU type information in their context_flags fields. Such context records can be valid (e.g. contexts captured by ::RtlCaptureContext).
http://code.google.com/p/google-breakpad/issues/detail?id=493
http://breakpad.appspot.com/500002/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1088
4c0a9323-5329-0410-9bdc-
e9ce6186880e
mark@chromium.org [Fri, 7 Dec 2012 21:31:00 +0000 (21:31 +0000)]
Explicitly include unistd.h for getpagesize().
Patch by Nico Weber <thakis@chromium.org>
Review URL: https://breakpad.appspot.com/502002/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1087
4c0a9323-5329-0410-9bdc-
e9ce6186880e
ted.mielczarek@gmail.com [Tue, 4 Dec 2012 19:30:31 +0000 (19:30 +0000)]
Allow StackwalkerARM to scan much farther to find the caller of the context frame
R=jimb at https://breakpad.appspot.com/501002/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1086
4c0a9323-5329-0410-9bdc-
e9ce6186880e
qsr@chromium.org [Wed, 28 Nov 2012 17:04:52 +0000 (17:04 +0000)]
Add assertion on initialization sequence.
The order at which to call the controller methods is:
1) Any method that change the configuration_ field
2) start
3) Any other method
This change adds assertion that it is done correctly.
Review URL: https://breakpad.appspot.com/499003
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1085
4c0a9323-5329-0410-9bdc-
e9ce6186880e
ivan.penkov@gmail.com [Wed, 21 Nov 2012 01:38:58 +0000 (01:38 +0000)]
Fix unused variable warning in optimized build (fix proveded by Matthew Riley)
http://breakpad.appspot.com/499002/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1084
4c0a9323-5329-0410-9bdc-
e9ce6186880e
ivan.penkov@gmail.com [Wed, 21 Nov 2012 01:33:08 +0000 (01:33 +0000)]
Cleaning up google-breakpad source code of signed-unsigned comparison warnings
http://breakpad.appspot.com/488002/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1083
4c0a9323-5329-0410-9bdc-
e9ce6186880e
mkrebs@chromium.org [Thu, 15 Nov 2012 00:01:13 +0000 (00:01 +0000)]
Add optional file size limit for minidumps
When there are upwards of 200 threads in a crashing process, each having an
8KB stack, this can result in a huge, 1.8MB minidump file. So I added a
parameter that, if set, can compel the minidump writer to dump less stack.
More specifically, if the writer expects to go over the limit (due to the
number of threads), then it will dump less of a thread's stack after the
first 20 threads.
There are two ways to specify the limit, depending on how you write minidumps:
1) If you call WriteMinidump() directly, there's now a version of the
function that takes the minidump size limit as an argument.
2) If you use the ExceptionHandler class, the MinidumpDescriptor object you
pass to it now has a set_size_limit() method you would call before
passing it to the constructor.
BUG=chromium-os:31447, chromium:154546
TEST=Wrote a size-limit unittest; Ran unittests
Review URL: https://breakpad.appspot.com/487002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk/src@1082
4c0a9323-5329-0410-9bdc-
e9ce6186880e