rmcilroy@chromium.org
a2245d6744
Fill in CPU info in mini-dump for Arm64.
...
Adds Arm64 varients of CPUFillThreadInfo and CPUFillFromUContext and
WriteCPUInformation for the Linux/Android client.
BUG=354405,335641
R=mark@chromium.org
Review URL: https://breakpad.appspot.com/1464002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1310 4c0a9323-5329-0410-9bdc-e9ce6186880e
2014-04-11 14:41:14 +00:00
ivan.penkov@gmail.com
6b0703a093
Adding support for 64-bit Windows modules to ms_symbol_server_converter.
...
As part of that:
- Updated MSSymbolServerConverter to also download the executable files from the symbol server and pass them to the PDBSourceLineWriter as it is required for successful conversion of symbols for 64-bit modules.
- Added a .gyp file and target for the ms_symbol_server_converter library.
- Updated PDBSourceLineWriter to allow executable files to be in locations different from the locations of the PDB files.
- Minor style issue:
* #define guards.
* No space before ')' and after '('.
R=mark@chromium.org , wfh@chromium.org
Review URL: https://breakpad.appspot.com/1434002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1309 4c0a9323-5329-0410-9bdc-e9ce6186880e
2014-04-10 17:54:52 +00:00
ivan.penkov@gmail.com
7dbca422d4
Moving directory 'build' one level up as it collides with a file named 'BUILD' which happens to be in that same location in the Google source depot.
...
R=chrisha@chromium.org , mark@chromium.org
Review URL: https://breakpad.appspot.com/1504002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1308 4c0a9323-5329-0410-9bdc-e9ce6186880e
2014-04-10 17:37:20 +00:00
rmcilroy@chromium.org
347f7a10dd
Increase Breakpad's signal handler stack size.
...
Some unittests fail on Android (both on Arm and Arm64) without this stack
size increase.
BUG=354405,335641
R=mark@chromium.org
Review URL: https://breakpad.appspot.com/1484002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1307 4c0a9323-5329-0410-9bdc-e9ce6186880e
2014-04-09 17:35:44 +00:00
rmcilroy@chromium.org
543cf832e6
Fix aarch64 ucontext layout on Android
...
BUG=354405,335641
R=mark@chromium.org
Review URL: https://breakpad.appspot.com/1444002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1306 4c0a9323-5329-0410-9bdc-e9ce6186880e
2014-04-09 09:08:19 +00:00
rmcilroy@chromium.org
fff818514d
Add Arm64 support to breakpad unittests.
...
BUG=354405,335641
R=mark@chromium.org
Review URL: https://breakpad.appspot.com/1424002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1305 4c0a9323-5329-0410-9bdc-e9ce6186880e
2014-04-08 17:36:11 +00:00
chrisha@chromium.org
611f8b7f32
Move build configuration to root of repository.
...
This is in preparation for creating GYP build files for each platform.
BUG=https://code.google.com/p/google-breakpad/issues/detail?id=575
R=mark@chromium.org
Review URL: https://breakpad.appspot.com/1414002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1304 4c0a9323-5329-0410-9bdc-e9ce6186880e
2014-04-03 18:34:24 +00:00
benchan@chromium.org
66460ce1d9
Fix ElfCoreDumpTest.ValidCoreFile unit test.
...
The ElfCoreDumpTest.ValidCoreFile unit test assumed that the number of
NT_FPREGSET / NT_PRXFPREG notes in the core dump file equals to the number of
threads of the crashed process. This assumption isn't always true as the kernel
skips filling the NT_FPREGSET / NT_PRXFPREG note of a thread if the FPU state
isn't available. The kernel indicates the availability of NT_FPREGSET /
NT_PRXFPREG via the pr_fpvalid field of the NT_PRSTATUS note. This CL modifies
the ElfCoreDumpTest.ValidCoreFile unit test to verify the number of NT_FPREGSET
and NT_PRXFPREG notes based on the pr_fpvalid field of the NT_PRSTATUS notes.
BUG=577
TEST=Run unit tests on x86 and x86_64 Linux platform.
R=vapier@chromium.org
Review URL: https://breakpad.appspot.com/1404002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1303 4c0a9323-5329-0410-9bdc-e9ce6186880e
2014-04-03 16:50:06 +00:00
rmcilroy@chromium.org
410b7024e3
Add Arm64 version of breakpad_getcontext for Android.
...
This CL adds breakpad_getcontext support for Arm64 to Android. The assembly
is based on getcontext.S in glibc.
BUG=354405,335641
R=mark@chromium.org
Review URL: https://breakpad.appspot.com/1384002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1302 4c0a9323-5329-0410-9bdc-e9ce6186880e
2014-04-03 13:15:37 +00:00
rmcilroy@chromium.org
83b9a28cf9
First cut at adding arm64 Linux / Android support to Breakpad.
...
This is an initial attempt to add Arm64 (aarch64) support to Breakpad for
Linux / Android platforms. This CL adds the Arm64 data structures, but does
not yet implement the Android getcontext support or CPUFillFromThreadInfo /
CPUFillFromUContext.
BUG=354405,335641
R=mark@chromium.org
Review URL: https://breakpad.appspot.com/1354002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1301 4c0a9323-5329-0410-9bdc-e9ce6186880e
2014-04-02 23:12:40 +00:00
rmcilroy@chromium.org
46aba5a43a
Remove some unecessary Android system header definitions.
...
Newer NDKs include some additional headers needed by Breakpad, so we can remove these redefinitions.
BUG=358831,335641,354405
R=mark@chromium.org
Review URL: https://breakpad.appspot.com/1374002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1300 4c0a9323-5329-0410-9bdc-e9ce6186880e
2014-04-02 23:02:31 +00:00
vapier@chromium.org
0ac94ba617
fix races in CrashGenerator::CreateChildCrash
...
The current CreateChildCrash logic is racy when it comes to creating a
crash dump for two reasons:
The main thread that calls kill() on a different thread is guaranteed
the signal will be *queued* when it returns, but not *delivered*. If
the kernel doesn't automatically schedule the receiving thread, but
instead lets the main thread run to the exit() call, then the signal
never triggers a coredump and the whole process simply exits.
The main thread is using kill() to try to deliver a signal to a
specific thread, but that function is for sending signals to a
process. That means the kernel is free to deliver the signal to
any thread in the process and not just the one requested. This
manifests itself as the pr_pid in the coredump not being the one
expected. Instead, we must use tkill() with the tid (which we
already took care of gathering) to deliver to a specific thread.
These are a lot easier to see on a UMP system as contention is heavier.
BUG=chromium:207918
TEST=`dumper_unittest` still passes, and doesn't flake out in a UMP system
TEST=`linux_client_unittest` still passes
R=benchan@chromium.org
Review URL: https://breakpad.appspot.com/1304005
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1299 4c0a9323-5329-0410-9bdc-e9ce6186880e
2014-04-02 22:55:12 +00:00
chrisha@chromium.org
33a84041e7
Update GYP dependency to r1886.
...
This updates both svn:external and DEPS. This version of GYP is able to produce VS2013 project files.
R=mark@chromium.org
Review URL: https://breakpad.appspot.com/1394002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1298 4c0a9323-5329-0410-9bdc-e9ce6186880e
2014-04-02 21:34:42 +00:00
chrisha@chromium.org
983af7cce4
Update DEPS to bring in gtest, gmock and GYP.
...
BUG=575
R=mark@chromium.org
Review URL: https://breakpad.appspot.com/1304004
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1297 4c0a9323-5329-0410-9bdc-e9ce6186880e
2014-04-02 20:18:55 +00:00
chrisha@chromium.org
172d57d4b4
Add .gitignore file.
...
BUG=
R=mark@chromium.org
Review URL: https://breakpad.appspot.com/1314003
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1296 4c0a9323-5329-0410-9bdc-e9ce6186880e
2014-04-02 19:41:40 +00:00
thestig@chromium.org
ad37f5aabd
Terminating FileID path when at maximum length. (Coverity)
...
If FileID was constructed with a path that was >= PATH_MAX then path_ was not terminated resulting in a possible buffer overrun when reading.
BUG=573
A=cmumford@chromium.org
Original code review: https://breakpad.appspot.com/1324002/
R=cmumford@chromium.org
Review URL: https://breakpad.appspot.com/1334002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1295 4c0a9323-5329-0410-9bdc-e9ce6186880e
2014-04-01 20:18:53 +00:00
thestig@chromium.org
482df94a07
GoogleCrashdumpUploader would leak instances of LibcurlWrapper (Coverity)
...
The GoogleCrashdumpUploader would create, but never destroy it's instance of LibcurlWrapper.
BUG=574
A=cmumford@chromium.org
Original code review: https://breakpad.appspot.com/1314002/
R=cmumford@chromium.org
Review URL: https://breakpad.appspot.com/1344002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1294 4c0a9323-5329-0410-9bdc-e9ce6186880e
2014-04-01 20:18:23 +00:00
mark@chromium.org
0decfdb042
Make ARM64 detection consistent in chromium.
...
This is to uniform ARM64 detection code in chromium.
Use only __aarch64__ and don't look for __arm64__ at all.
Patch by Primiano Tucci <primiano@chromium.org>
BUG=chromium:354405, chromium:358092
Review URL: https://breakpad.appspot.com/1304002/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1293 4c0a9323-5329-0410-9bdc-e9ce6186880e
2014-04-01 18:20:36 +00:00
wfh@chromium.org
3e12c58449
Ignore warning 4702 to avoid unreachable code error on
...
VS2013 stl when compiling with _HAS_EXCEPTIONS=0
See also https://crbug.com/346399 for background.
BUG=540
R=mark@chromium.org , thestig@chromium.org
TEST=update gyp to HEAD, generate MSVS2013 build files, verify breakpad compiles in Release.
Review URL: https://breakpad.appspot.com/1284002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1292 4c0a9323-5329-0410-9bdc-e9ce6186880e
2014-03-26 21:02:12 +00:00
wfh@chromium.org
acd538baf8
Check in new Windows binaries.
...
These binaries include recent changes to pdb_source_line_writer for emitting
STACK CFI lines for 64bit PDBs. They were built using the GYP build files,
MSVS 2013 and DIA SDK 12.0.
R=mark@chromium.org , siggi@chromium.org
Review URL: https://breakpad.appspot.com/1294002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1291 4c0a9323-5329-0410-9bdc-e9ce6186880e
2014-03-26 20:45:52 +00:00
wfh@chromium.org
213a0698cb
Add support for Win64 stack unwind data as STACK CFI
...
This is a copy of https://breakpad.appspot.com/1264002/ where code review took place.
See https://bugzilla.mozilla.org/show_bug.cgi?id=548035 and https://code.google.com/p/chromium/issues/detail?id=115922
Credit to Mikhail I. Izmestev <izmmishao5@gmail.com> for original patch in https://breakpad.appspot.com/345002/
BUG=572
TEST=Run dump_syms_unittest after compiling dump_syms_regtest.cc with x64 toolchain
R=mark@chromium.org
Review URL: https://breakpad.appspot.com/1274002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1290 4c0a9323-5329-0410-9bdc-e9ce6186880e
2014-03-24 12:12:17 +00:00
thestig@chromium.org
b764582a53
Fix crash in Windows CrashGenerationServer from r1274.
...
R=cdn@chromium.org , mark@chromium.org
Review URL: https://breakpad.appspot.com/1254002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1289 4c0a9323-5329-0410-9bdc-e9ce6186880e
2014-03-19 19:12:56 +00:00
ivan.penkov@gmail.com
cc3542dc44
Fix a bug in BreakpadController that prevented multiple report uploads per call to sendStoredCrashReports.
...
Submitting this patch on behalf of Asher Segel-Brown.
R=blundell@chromium.org , mark@chromium.org , qsr@chromium.org
Review URL: https://breakpad.appspot.com/1234002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1288 4c0a9323-5329-0410-9bdc-e9ce6186880e
2014-03-19 18:58:36 +00:00
thestig@chromium.org
c5ae79b3f2
Trim unintentional whitespace and fix style nits
...
Original review: https://breakpad.appspot.com/1204002/
A=mdempsky@chromium.org
R=mdempsky@chromium.org
Review URL: https://breakpad.appspot.com/1244002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1287 4c0a9323-5329-0410-9bdc-e9ce6186880e
2014-03-18 18:06:10 +00:00
ivan.penkov@gmail.com
1df13fed15
Fixing compiler warnings:
...
- Building Breakpad in Xcode with arm64 architecture.
- iOS
Patches provided by: Ian Hickson and Greg Vance.
R=mark@chromium.org
Review URL: https://breakpad.appspot.com/1184003
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1286 4c0a9323-5329-0410-9bdc-e9ce6186880e
2014-02-28 10:21:20 +00:00
ivan.penkov@gmail.com
70acad5df8
Renaming file COPYING to LICENSE and appending the disclaimer from src/common/convert_UTF.h to LICENSE.
...
R=mark@chromium.org
Review URL: https://breakpad.appspot.com/1174003
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1285 4c0a9323-5329-0410-9bdc-e9ce6186880e
2014-02-27 19:23:16 +00:00
mark@chromium.org
3e76b4a74b
Initialize file descriptors to -1, not 0, in MachoWalker.
...
R=ivan.penkov@gmail.com
Review URL: https://breakpad.appspot.com/1174002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1284 4c0a9323-5329-0410-9bdc-e9ce6186880e
2014-02-26 18:59:48 +00:00
dmaclach
334b2c70f0
Update GTM and enable -Wundef and strict C++11 flags.
...
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1283 4c0a9323-5329-0410-9bdc-e9ce6186880e
2014-02-26 16:14:04 +00:00
dmaclach
47585f7dee
Fixup breakpad compile for Xcode 5.1 iOS release
...
(https://breakpad.appspot.com/1154002/ )
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1282 4c0a9323-5329-0410-9bdc-e9ce6186880e
2014-02-24 21:35:40 +00:00
dmaclach
9315301a56
Fix up ~14 warnings about 'Implicit conversion loses integer precision' on iOS.
...
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1281 4c0a9323-5329-0410-9bdc-e9ce6186880e
2014-02-18 22:52:02 +00:00
dmaclach
0c18b07255
When the Breakpad.h header gets compiled by standard C compilers
...
(instead of C++) it gets upset about the default argument. Instead of
using a default argument I split the function up into two separate
functions.
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1280 4c0a9323-5329-0410-9bdc-e9ce6186880e
2014-02-18 21:34:43 +00:00
ted.mielczarek@gmail.com
5fcdc4f567
Make Linux ExceptionHandler::HandleSignal public
...
A=Jed Davis <jld@mozilla.com> R=ted at https://breakpad.appspot.com/1114003/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1279 4c0a9323-5329-0410-9bdc-e9ce6186880e
2014-02-05 12:11:48 +00:00
rsesek@chromium.org
299683dba6
Create a new tool to upload Mac system library symbols.
...
R=andybons@chromium.org , mark@chromium.org
Review URL: https://breakpad.appspot.com/1124002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1278 4c0a9323-5329-0410-9bdc-e9ce6186880e
2014-02-03 22:52:49 +00:00
mattdr.breakpad@gmail.com
9dd2ab720e
Support statically-linked libcurl for HTTP uploads in Linux
...
https://breakpad.appspot.com/1064002/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1277 4c0a9323-5329-0410-9bdc-e9ce6186880e
2014-01-29 20:34:07 +00:00
thestig@chromium.org
c590a7f322
Windows: Fix 64-bit compitation of crash_generation_app.
...
BUG=560
R=mark@chromium.org
Review URL: https://breakpad.appspot.com/1104002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1276 4c0a9323-5329-0410-9bdc-e9ce6186880e
2014-01-21 19:22:37 +00:00
thestig@chromium.org
0864f0afaa
Fix missing semi-colons from r1267.
...
R=mark@chromium.org
Review URL: https://breakpad.appspot.com/1094002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1275 4c0a9323-5329-0410-9bdc-e9ce6186880e
2014-01-17 23:20:24 +00:00
cdn@chromium.org
8b65346242
Refactor the Windows MinidumpGenerator interface to get rid of the overloads when generating dumps.
...
All required params are now passed to the constructor and the various options are set through new methods.
BUG=N/A
TEST=Existing minidump generation tests
R=mark@chromium.org
Review URL: https://breakpad.appspot.com/1074002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1274 4c0a9323-5329-0410-9bdc-e9ce6186880e
2014-01-17 22:39:11 +00:00
cdn@chromium.org
d9f582edce
Fix VS project generation for the crash generation app.
...
BUG=N/A
TEST=N/A
R=mark@chromium.org
Review URL: https://breakpad.appspot.com/1084002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1273 4c0a9323-5329-0410-9bdc-e9ce6186880e
2014-01-17 21:57:47 +00:00
ivan.penkov@gmail.com
2b0db12678
Submitting on bahalf of Michele Aiello.
...
Fix Xcode 5.1 compilation issues.
Moving a couple of variable under #ifdef to avoid build warnings.
R=blundell@chromium.org , mark@chromium.org
Review URL: https://breakpad.appspot.com/1054002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1272 4c0a9323-5329-0410-9bdc-e9ce6186880e
2014-01-13 19:30:06 +00:00
blundell@chromium.org
12528d19bd
Add -[BreakpadController setParametersToAddAtUploadTime:] for iOS.
...
This provides the ability to add server parameters to a crash report when the
report is uploaded.
Patch by KiYun Roe <kiyun@chromium.org>
BUG=558
R=blundell@chromium.org
Review URL: https://breakpad.appspot.com/974002/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1271 4c0a9323-5329-0410-9bdc-e9ce6186880e
2014-01-13 10:40:07 +00:00
mark@chromium.org
3ea04ec479
Don't do work inside assert(). Ever.
...
The Mac crash key manipulation code was intended to be thread-safe through the
provision of a mutex. The mutex operations were done inside an assert().
assert() is a no-op in NDEBUG (release) builds. Therefore, in release builds,
these operations were occurring without being protected by any mutex at all,
and were nowhere near thread-safe.
BUG=chromium:331268
R=rsesek@chromium.org
Review URL: https://breakpad.appspot.com/1034002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1270 4c0a9323-5329-0410-9bdc-e9ce6186880e
2014-01-10 19:54:20 +00:00
mark@chromium.org
1e99113fbe
Fix #include order from r1268.
...
R=ted.mielczarek@gmail.com
Review URL: https://breakpad.appspot.com/1044002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1269 4c0a9323-5329-0410-9bdc-e9ce6186880e
2014-01-10 19:53:33 +00:00
ted.mielczarek@gmail.com
6f045df4f0
Fix compilation with macos-target=10.9
...
A=Nomis101, R=ted at https://bugzilla.mozilla.org/show_bug.cgi?id=952623
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1268 4c0a9323-5329-0410-9bdc-e9ce6186880e
2014-01-03 12:32:55 +00:00
thestig@chromium.org
4a0f9bf030
Windows: Fix remaining level 4 warnings.
...
R=mark@chromium.org
Review URL: https://breakpad.appspot.com/954002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1267 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-12-18 22:43:56 +00:00
thestig@chromium.org
74f640a92e
Use a proper ignore_result() to fix a ftruncate warn_unused_result warning with GCC 4.8.
...
BUG=492
R=mark@chromium.org
Review URL: https://breakpad.appspot.com/944003
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1266 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-12-18 19:52:36 +00:00
thestig@chromium.org
15873e0016
Switch scoped_ptr.h to a compatible google3 implementation.
...
This is Chromium's base/memory/scoped_ptr.h at r98718, which split off
from the google3 version at a later point than Breakpad's copy. It is a
drop in replacement and the only changes are:
- removal of WARN_UNUSED_RESULT.
- moving it into the google_breakpad namespace.
BUG=534
R=mark@chromium.org
Review URL: https://breakpad.appspot.com/964002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1265 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-12-18 19:49:55 +00:00
thestig@chromium.org
6199766d99
Fix warnings from the Windows build.
...
These warnings are fatal in my GYP-generated debug build.
The warnings can be seen on Linux/Mac with -Wshorten-64-to-32.
R=mark@chromium.org
Review URL: https://breakpad.appspot.com/944002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1264 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-12-17 22:21:40 +00:00
thestig@chromium.org
53a689933f
Run svn propdel svn:executable on source code files.
...
Review URL: https://breakpad.appspot.com/934002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1263 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-12-17 21:40:50 +00:00
thestig@chromium.org
a4d055f1c2
Fix error r1258.
...
BUG=556
R=cdn@chromium.org , mark@chromium.org
Review URL: https://breakpad.appspot.com/904004
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1262 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-12-17 19:04:11 +00:00
ivan.penkov@gmail.com
d6d6230272
Making the Mac build of crash_report work again after the last SVN sync. This includes correction of a method definition signature and adding missing code files to the project.
...
I'm commiting this on behalf of Thomas Schweitzer.
Review URL: https://breakpad.appspot.com/914002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1261 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-12-17 00:10:25 +00:00