mark@chromium.org
8965a51b2c
Fix build on Android.
...
Patch by Nico Weber <thakis@chromium.org>
Review URL: https://breakpad.appspot.com/609002/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1197 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-06-28 22:54:18 +00:00
mark@chromium.org
56cf4aa3d9
Eliminate redundant initialization following r1188,
...
https://breakpad.appspot.com/599002
R=ivan.penkov@gmail.com
Review URL: https://breakpad.appspot.com/604002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1192 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-06-20 18:20:48 +00:00
ivan.penkov@gmail.com
6b46d4e872
Treat warnings as error and fix most level 4 warnings in the breakpad windows client projects.
...
Some of the lint errors in the files touched by this change were also fixed.
BUG=533
Review URL: https://breakpad.appspot.com/601002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1189 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-06-04 16:51:01 +00:00
ivan.penkov@gmail.com
5bdee65f7a
Thanks to Matthew Riley who noticed this issue and provided the initial proposal for the fix.
...
There's a bug in the new allocator<T> implementation used by wasteful_vector. It inherits the base class' implementation of allocator and doesn't implement allocate() so it goes to the heap instead of the PageAllocator -- the very thing wasteful_vector was trying to avoid! As a side effect it was also leaking heap memory.
Thanks,
-Ivan
Review URL: https://breakpad.appspot.com/599002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1188 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-05-23 18:47:49 +00:00
ted.mielczarek@gmail.com
bcf029f333
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@1184 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-05-17 19:47:10 +00:00
qsr@chromium.org
3a59d0586b
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@1182 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-05-16 14:06:06 +00:00
mark@chromium.org
09b6b0f8bf
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@1178 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-05-09 21:56:18 +00:00
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
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
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
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
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
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
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
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
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
718ae3284e
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@1125 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-03-06 15:33:02 +00:00
ted.mielczarek@gmail.com
983903ee0a
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@1124 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-03-06 15:32:53 +00:00
ted.mielczarek@gmail.com
46cbbb847e
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@1123 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-03-06 14:43:02 +00:00
ted.mielczarek@gmail.com
aeffe1056f
Use stdint types everywhere
...
R=mark at https://breakpad.appspot.com/535002/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1121 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-03-06 14:04:42 +00:00
ted.mielczarek@gmail.com
7d1e1e273a
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@1118 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-02-28 19:52:51 +00:00
ted.mielczarek@gmail.com
111cce8a88
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@1117 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-02-28 19:52:37 +00:00
ted.mielczarek@gmail.com
7a469b1031
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@1116 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-02-27 16:43:26 +00:00
ted.mielczarek@gmail.com
0513eeca07
Make MmapWrapper a little less silly
...
R=thestig at https://breakpad.appspot.com/527002/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1113 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-02-14 14:03:51 +00:00
ted.mielczarek@gmail.com
bd6d0964e7
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@1110 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-02-01 19:20:34 +00:00
ted.mielczarek@gmail.com
1f87c4a732
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@1106 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-01-23 18:01:28 +00:00
ted.mielczarek@gmail.com
c6f6d9ef30
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@1102 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-01-22 13:36:39 +00:00
ted.mielczarek@gmail.com
7e72c6677a
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@1099 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-01-18 20:24:16 +00:00
ted.mielczarek@gmail.com
e086f8a9c8
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@1098 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-01-18 13:51:05 +00:00
ted.mielczarek@gmail.com
63c5d98003
Move scoped_ptr.h to common
...
R=mark at https://breakpad.appspot.com/509002/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1096 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-01-17 15:53:56 +00:00
jimblandy
a8426a5c66
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@1094 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-01-08 02:14:44 +00:00
mark@chromium.org
6aab1f92bb
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@1091 4c0a9323-5329-0410-9bdc-e9ce6186880e
2012-12-12 04:02:58 +00:00
ivan.penkov@gmail.com
c937b0ee01
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@1083 4c0a9323-5329-0410-9bdc-e9ce6186880e
2012-11-21 01:33:08 +00:00
jimblandy
4ae41d8d20
Comment out unused arguments in definitions, as required by the Google C++ 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
2012-10-05 22:07:48 +00:00
jimblandy
9de66be60d
Fix out-of-date comment for DwarfCUToModule::FilePrivate::common_strings.
...
No review.
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1063 4c0a9323-5329-0410-9bdc-e9ce6186880e
2012-10-05 21:59:33 +00:00
jimblandy
4fcccf68cb
If a specification DIE has a DW_AT_MIPS_linkage_name attribute, don't fail
...
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
2012-10-05 21:47:55 +00:00