thestig@chromium.org
09f8989389
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@1176 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-05-08 20:24:03 +00:00
thestig@chromium.org
7304a2c187
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@1175 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-05-08 17:41:12 +00:00
rsesek@chromium.org
df6f45b04b
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@1174 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-05-08 16:06:33 +00:00
mseaborn@chromium.org
b45b97b2fd
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@1173 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-05-08 02:37:15 +00:00
mseaborn@chromium.org
85c352695f
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@1172 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-05-06 23:33:02 +00:00
mseaborn@chromium.org
b43dacb23a
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@1171 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-05-06 23:27:28 +00:00
mark@chromium.org
3444ed7cf1
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@1170 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-05-06 19:53:48 +00:00
qsr@chromium.org
e61b76c679
Fix minidump generation from exception.
...
Review URL: https://breakpad.appspot.com/583002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1169 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-05-03 15:04:12 +00:00
chrisha@chromium.org
110c99fbd5
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@1168 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-05-01 19:02:32 +00:00
chrisha@chromium.org
8507f63d38
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@1167 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-05-01 18:18:46 +00:00
ivan.penkov@gmail.com
5b36fbe088
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@1166 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-04-25 21:32:55 +00:00
thestig@chromium.org
0bdc714c20
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@1165 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-04-25 20:36:31 +00:00
thestig@chromium.org
affac9413b
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@1164 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-04-24 21:40:27 +00:00
thestig@chromium.org
f7566bd447
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@1163 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-04-24 21:18:44 +00:00
ivan.penkov@gmail.com
ae3947e123
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@1162 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-04-24 21:02:55 +00:00
rsesek@chromium.org
77acc6adab
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@1161 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-04-24 18:15:48 +00:00
digit@chromium.org
593eff42ca
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@1160 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-04-24 10:06:14 +00:00
thestig@chromium.org
9f45f6b5cf
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@1159 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-04-23 23:18:39 +00:00
ivan.penkov@gmail.com
fb22e80229
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@1158 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-04-23 21:04:31 +00:00
ivan.penkov@gmail.com
40c9de4d8d
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@1157 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-04-23 00:47:53 +00:00
thestig@chromium.org
697da828dc
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@1156 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-04-19 22:05:07 +00:00
rsesek@chromium.org
093b8aee9b
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@1155 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-04-19 19:32:20 +00:00
rsesek@chromium.org
30bb1ab601
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@1154 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-04-18 20:17:29 +00:00
ted.mielczarek@gmail.com
9d82a70384
Add Android ifdef to fix issue 526
...
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1153 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-04-18 13:24:33 +00:00
ted.mielczarek@gmail.com
32ce6dea51
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@1152 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-04-18 12:47:08 +00:00
ted.mielczarek@gmail.com
d9c3ad7b88
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@1151 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-04-17 13:37:39 +00:00
ted.mielczarek@gmail.com
91c9518af2
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@1150 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-04-16 17:55:21 +00:00
ted.mielczarek@gmail.com
1974aaba51
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@1149 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-04-16 17:51:10 +00:00
thestig@chromium.org
bc54c38679
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@1148 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-04-13 02:24:36 +00:00
thestig@chromium.org
0c759c6f62
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@1147 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-04-12 23:24:02 +00:00
thestig@chromium.org
d3c4cbd30f
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@1146 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-04-10 03:33:09 +00:00
thestig@chromium.org
cff813962a
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@1145 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-04-09 18:58:39 +00:00
jessicag.feedback
2652675ec2
Turn off verbose logging but keep logic for future reference for debug logging.
...
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1144 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-04-05 00:53:45 +00:00
ted.mielczarek@gmail.com
b6e66b294f
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@1143 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-04-04 16:24:52 +00:00
ted.mielczarek@gmail.com
6dc56cca44
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@1142 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-04-04 16:24:44 +00:00
ted.mielczarek@gmail.com
3a8617eb8c
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@1141 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-04-04 16:24:38 +00:00
mark@chromium.org
b41ad66e93
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@1140 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-04-03 18:31:16 +00:00
ivan.penkov@gmail.com
c5ceea7d74
Removing redundant calls to string::c_str().
...
https://breakpad.appspot.com/539002/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1139 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-03-29 21:37:42 +00:00
ted.mielczarek@gmail.com
bbaca6bc00
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@1138 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-03-29 15:10:50 +00:00
ted.mielczarek@gmail.com
704c13e7ab
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@1137 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-03-29 15:06:43 +00:00
ted.mielczarek@gmail.com
8de2cd2d22
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@1136 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-03-29 15:06:37 +00:00
ted.mielczarek@gmail.com
637c392d1c
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@1135 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-03-29 15:06:29 +00:00
ted.mielczarek@gmail.com
ece9df9386
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@1134 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-03-29 15:06:24 +00:00
ted.mielczarek@gmail.com
cd0eb0f8dc
Fix Windows unittest build on VC2012
...
R=mark at https://breakpad.appspot.com/539003/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1133 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-03-29 14:39:55 +00:00
digit@chromium.org
0192fc21b9
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@1132 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-03-21 08:22:37 +00:00
ted.mielczarek@gmail.com
4867c9e9d0
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@1131 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-03-12 18:08:30 +00:00
ted.mielczarek@gmail.com
e88f61c7ba
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@1130 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-03-07 19:02:46 +00:00
ted.mielczarek@gmail.com
8fdf481b7f
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@1129 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-03-07 19:02:44 +00:00
ted.mielczarek@gmail.com
dc64e106e2
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@1128 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-03-06 20:14:34 +00:00
ted.mielczarek@gmail.com
7546209ddd
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@1127 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-03-06 20:14:32 +00:00