aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Fix GetLoadingAddress() to work for Native Client executablesmark@chromium.org2013-05-061-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Fix minidump generation from exception.qsr@chromium.org2013-05-032-9/+15
| | | | | | Review URL: https://breakpad.appspot.com/583002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1169 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Add GYP file for tools\windows\symupload.chrisha@chromium.org2013-05-012-0/+65
| | | | | | | | | | | | 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
* Add explicit OMAP support to dump_syms.chrisha@chromium.org2013-05-0123-14147/+20051
| | | | | | | | | | | | | | 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
* Fixing a clang warning.ivan.penkov@gmail.com2013-04-251-1/+3
| | | | | | | | | | | | 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
* Add MD_OS_PS3 to breakpad and exception types.thestig@chromium.org2013-04-255-4/+161
| | | | | | | | | 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
* Cleanup: Use scoped_ptr where appropriate in DwarfCUToModule.thestig@chromium.org2013-04-242-13/+13
| | | | | | Review URL: https://breakpad.appspot.com/572002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1164 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Add an option to not handle DWARF inter-compilation unit references in Linux ↵thestig@chromium.org2013-04-247-129/+300
| | | | | | | | | | 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
* Fix Clang warning regarding null pointer argument.ivan.penkov@gmail.com2013-04-241-1/+3
| | | | | | | | | 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
* Rewrite SimpleStringDictionary with NonAllocatingMap.rsesek@chromium.org2013-04-248-307/+384
| | | | | | | | | | | 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
* Improve ARM CPU info reporting.digit@chromium.org2013-04-2413-127/+1203
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Cleanup: Remove duplicate wording in license headers.thestig@chromium.org2013-04-232-24/+4
| | | | | | | | 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
* This change allows compiling sym_upload.cc and minidump_upload.cc using a ↵ivan.penkov@gmail.com2013-04-232-38/+42
| | | | | | | | | | | | | | | | 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
* Allow option for efficient and safe opt out of in-proc dump generation for ↵ivan.penkov@gmail.com2013-04-234-41/+143
| | | | | | | | | | Windows breakpad clients. https://breakpad.appspot.com/549002/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1157 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix Bigcluster build error with minidump.cc after r1147.thestig@chromium.org2013-04-191-9/+14
| | | | | | | | | 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
* Get SimpleStringDictionary compiling on Linux.rsesek@chromium.org2013-04-191-5/+7
| | | | | | | | 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
* Move SimpleStringDictionary from common/mac/ to just common/.rsesek@chromium.org2013-04-1812-165/+94
| | | | | | | | | | | | 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
* Add Android ifdef to fix issue 526ted.mielczarek@gmail.com2013-04-181-0/+2
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1153 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix missing result check in Mac exception handlerted.mielczarek@gmail.com2013-04-181-3/+7
| | | | | | 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
* minidump_stackwalk should display r12 in ARM stack tracested.mielczarek@gmail.com2013-04-171-0/+2
| | | | | | 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
* Don't print an error when a user-set max frames limit has been reached in ↵ted.mielczarek@gmail.com2013-04-162-2/+14
| | | | | | | | 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
* ESP is zero in dumps created by CrashGenerationClient::RequestDump on i386 Linuxted.mielczarek@gmail.com2013-04-161-0/+30
| | | | | | 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
* Change MDRawSystemInfo.processor_architecture value for PPC64 to 0x8002.thestig@chromium.org2013-04-131-1/+1
| | | | | | Review URL: https://breakpad.appspot.com/559002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1148 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Add PPC64 support to breakpad processor.thestig@chromium.org2013-04-129-8/+399
| | | | | | | | 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
* Fix build on Android - put the missing NT_GNU_BUILD_ID #define in ↵thestig@chromium.org2013-04-104-8/+49
| | | | | | | | 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
* Remove auto_ptr usage in Breakpad. Also fix some lint errors.thestig@chromium.org2013-04-091-9/+11
| | | | | | Review URL: https://breakpad.appspot.com/553002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1145 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Turn off verbose logging but keep logic for future reference for debug logging.jessicag.feedback2013-04-051-13/+23
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1144 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Try to find a build-id through PT_NOTE program headersted.mielczarek@gmail.com2013-04-044-10/+138
| | | | | | | 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
* Support generic Elf notes, with unit teststed.mielczarek@gmail.com2013-04-044-27/+63
| | | | | | | 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
* Refactor BasicElf synth_elf unitestted.mielczarek@gmail.com2013-04-043-7/+183
| | | | | | | 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
* These are prerequisites needed for a wider effort inside Google to enablemark@chromium.org2013-04-031-1/+13
| | | | | | | | | | 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
* Removing redundant calls to string::c_str().ivan.penkov@gmail.com2013-03-291-7/+7
| | | | | | | | https://breakpad.appspot.com/539002/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1139 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Refactor file_id_unittestted.mielczarek@gmail.com2013-03-291-102/+35
| | | | | | | 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
* Add tests for section headers in synth_elf unittestted.mielczarek@gmail.com2013-03-291-0/+24
| | | | | | | 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
* Refactor BasicElf synth_elf unitestted.mielczarek@gmail.com2013-03-291-49/+23
| | | | | | | 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
* Defer adding sections until ELF::Finish in synth_elfted.mielczarek@gmail.com2013-03-292-6/+33
| | | | | | | 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
* Get the complete linux gate mapping instead of only one pageted.mielczarek@gmail.com2013-03-291-3/+2
| | | | | | | 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
* Fix Windows unittest build on VC2012ted.mielczarek@gmail.com2013-03-291-2/+9
| | | | | | R=mark at https://breakpad.appspot.com/539003/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1133 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix three unit tests on recent ARM devices.digit@chromium.org2013-03-211-0/+24
| | | | | | | | | | | | 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
* Linux MinidumpWriter should properly set number_of_processors on ARMted.mielczarek@gmail.com2013-03-121-0/+4
| | | | | | | | | 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
* Remove "library" variableted.mielczarek@gmail.com2013-03-071-9/+1
| | | | | | | | 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
* fix size types w/x32ted.mielczarek@gmail.com2013-03-071-2/+2
| | | | | | | | 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
* Provide a ReadSymbolData API for Mac dump_symsted.mielczarek@gmail.com2013-03-062-5/+29
| | | | | | R=mark at https://breakpad.appspot.com/522002/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1128 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Make OOP mac crashreporting exit after writing dumpted.mielczarek@gmail.com2013-03-061-1/+4
| | | | | | R=mark at https://breakpad.appspot.com/538002/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1127 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Keeping track of modules without symbols during crash report processing.ivan.penkov@gmail.com2013-03-0610-49/+230
| | | | | | | | http://breakpad.appspot.com/534002/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1126 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Allow building symbol dumping without STABS supportted.mielczarek@gmail.com2013-03-061-0/+8
| | | | | | R=mark at https://breakpad.appspot.com/536002/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1125 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Allow reading just CFI data when reading symbolsted.mielczarek@gmail.com2013-03-0611-178/+251
| | | | | | R=thestig at https://breakpad.appspot.com/517002/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1124 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Minor Android fixup for symbol dumping codeted.mielczarek@gmail.com2013-03-061-4/+9
| | | | | | | 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@1123 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix some more Win32 compat issues in processor codeted.mielczarek@gmail.com2013-03-067-3/+20
| | | | | | R=mark at https://breakpad.appspot.com/535003/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1122 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Use stdint types everywhereted.mielczarek@gmail.com2013-03-06117-1379/+1385
| | | | | | R=mark at https://breakpad.appspot.com/535002/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1121 4c0a9323-5329-0410-9bdc-e9ce6186880e