external/google-breakpad.git
4 days agoIn Mac dump_syms, allow reading debug data out of both the Mach-O file and the dSYM. master
rsesek@chromium.org [Fri, 25 Jul 2014 18:18:59 +0000 (18:18 +0000)]
In Mac dump_syms, allow reading debug data out of both the Mach-O file and the dSYM.

This adds a new |-g <dSYM path>| flag to dump_syms, to specify the dSYM path for
the target Mach-O argument. The UUIDs and architectures of the two paths must
match in order to dump symbols for this "split module."

This reason for this is that for x86_64 binaries on OS X, the CFI data is stored
in the __TEXT,__eh_frame segment of the Mach-O file, and the data is not copied
into the dSYM by dsymutil.  Therefore, just dumping the dSYM doesn't yield CFI
data for x86_64 files, and both the dSYM and the Mach-O file must be dumped in
order to produce a complete Breakpad symbol file. For i386 binaries, the CFI data
is stored in the __DWARF,__debug_frame segment, which is part of the dSYM, so
this isn't necessary.

BUG=https://code.google.com/p/chromium/issues/detail?id=393594
R=mark@chromium.org

Review URL: https://breakpad.appspot.com/6704002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1359 4c0a9323-5329-0410-9bdc-e9ce6186880e

5 days agoAdd GYP build for the src/tools directory on Mac and Linux.
rsesek@chromium.org [Thu, 24 Jul 2014 15:22:51 +0000 (15:22 +0000)]
Add GYP build for the src/tools directory on Mac and Linux.

This GYP-ifies the src/processor and src/common directories on those platforms
as well. The Makefile build uses much more granular unittest executables, so
the new processor_unittests does not yet link because of multiple main() symbols,
but this will be fixed later.

Update issue 575

R=mark@chromium.org

Review URL: https://breakpad.appspot.com/10674002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1358 4c0a9323-5329-0410-9bdc-e9ce6186880e

7 days agoAnnotate PageAllocator for MSan.
mark@chromium.org [Tue, 22 Jul 2014 14:24:21 +0000 (14:24 +0000)]
Annotate PageAllocator for MSan.

PageAllocator maps memory via sys_mmap(), implemented in
linux_syscall_support.h. We need to explicitly inform MSan that this memory is
initialized.

Patch by Sergey Matveev <earthdok@chromium.org>

BUG=chromium:394028

Review URL: https://breakpad.appspot.com/2744002/

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1356 4c0a9323-5329-0410-9bdc-e9ce6186880e

8 days agoChrome on Android now supports loading the shared library directly from the APK file.
rmcilroy@chromium.org [Tue, 22 Jul 2014 11:34:11 +0000 (11:34 +0000)]
Chrome on Android now supports loading the shared library directly from the APK file.

This patch makes two changes to breakpad to enable crash reporting to work correctly when the library is inside another file (an archive):

- Do not filter mappings which map an executable at a non-zero offset.
- If such an executable is mapped look in the ELF information for the
shared object name and use that name in the minidump.

Note this change doesn't care about the archive format and isn't Android
specific (though loading the shared library this way is currently only done on Android).

BUG=390618
R=thestig@chromium.org

Review URL: https://breakpad.appspot.com/7684002

Patch from Anton Carver <anton@chromium.org>.

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1355 4c0a9323-5329-0410-9bdc-e9ce6186880e

8 days agoBoth std::tr1::unordered_set and std::unordered_set are not allowed in
ivanpe@chromium.org [Mon, 21 Jul 2014 18:27:43 +0000 (18:27 +0000)]
Both std::tr1::unordered_set and std::unordered_set are not allowed in
Google at this moment.  This change is implementing a workaround that
allows switching to hash_set and hash_map.

R=mark@chromium.org

Review URL: https://breakpad.appspot.com/6694002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1354 4c0a9323-5329-0410-9bdc-e9ce6186880e

11 days ago[Android]: Remove __system_property_get(ro.build.fingerprint) from WriteOSInformation.
rmcilroy@chromium.org [Fri, 18 Jul 2014 13:14:37 +0000 (13:14 +0000)]
[Android]: Remove __system_property_get(ro.build.fingerprint) from WriteOSInformation.

__system_property_get has been removed from the Android NDK for 'L' so Breakpad
no longer links. This CL just removes the call in WriteOSInformation because
Chrome already passes the build fingerprint as a crash key called "android_build_fp" in the crash report HTTP POST message.

BUG=394841,393903
R=mark@chromium.org

Review URL: https://breakpad.appspot.com/1694002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1351 4c0a9323-5329-0410-9bdc-e9ce6186880e

12 days agoAdd frame pointer recovery to the AMD64 Stackwalker.
rsesek@chromium.org [Fri, 18 Jul 2014 00:27:49 +0000 (00:27 +0000)]
Add frame pointer recovery to the AMD64 Stackwalker.

BUG=https://code.google.com/p/chromium/issues/detail?id=393594
R=mark@chromium.org

Review URL: https://breakpad.appspot.com/10664002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1350 4c0a9323-5329-0410-9bdc-e9ce6186880e

12 days agoChange some ELF utils to return the length as a size_t.
thestig@chromium.org [Thu, 17 Jul 2014 18:34:18 +0000 (18:34 +0000)]
Change some ELF utils to return the length as a size_t.

R=mark@chromium.org

Review URL: https://breakpad.appspot.com/7694002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1349 4c0a9323-5329-0410-9bdc-e9ce6186880e

2 weeks agoEnsure C:/Dumps/ exists in crash_generation_app
ted.mielczarek@gmail.com [Fri, 11 Jul 2014 18:48:41 +0000 (18:48 +0000)]
Ensure C:/Dumps/ exists in crash_generation_app
A=j.turney
R=ted at https://breakpad.appspot.com/1134002/

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1348 4c0a9323-5329-0410-9bdc-e9ce6186880e

2 weeks agoStringify minidump stream_type constants in minidump_dump output
ted.mielczarek@gmail.com [Fri, 11 Jul 2014 10:57:30 +0000 (10:57 +0000)]
Stringify minidump stream_type constants in minidump_dump output
R=mark at https://breakpad.appspot.com/3704002/

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1347 4c0a9323-5329-0410-9bdc-e9ce6186880e

2 weeks agoDon't free pointer in BasicCodeModules::BasicCodeModules before possibly using it
ted.mielczarek@gmail.com [Thu, 10 Jul 2014 19:16:43 +0000 (19:16 +0000)]
Don't free pointer in BasicCodeModules::BasicCodeModules before possibly using it
A=Jim Chen <nchen@mozilla.com>
R=ted at https://bugzilla.mozilla.org/show_bug.cgi?id=1033006

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1346 4c0a9323-5329-0410-9bdc-e9ce6186880e

3 weeks agoFix compilation error in Linux libc++ builds due to use of tr1/.
mark@chromium.org [Mon, 7 Jul 2014 19:23:20 +0000 (19:23 +0000)]
Fix compilation error in Linux libc++ builds due to use of tr1/.

Patch by Sergey Matveev <earthdok@chromium.org>

BUG=chromium:391792

Review URL: https://breakpad.appspot.com/7674002/

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1345 4c0a9323-5329-0410-9bdc-e9ce6186880e

3 weeks agoUnhook current Breakpad object after handling uncaught NSException.
qsr@chromium.org [Mon, 7 Jul 2014 08:13:23 +0000 (08:13 +0000)]
Unhook current Breakpad object after handling uncaught NSException.

After handling an uncaught NSException, release the Breakpad object
so there will not be a second crash dump logged.

Prior to this change, for every uncaught NSException handled through
the Breakpad::UncaughtExceptionHandler(), a second crash without
any useful information (generally __cxa_rethrow and std::__terminate)
is recorded.

R=qsr@chromium.org

Review URL: https://breakpad.appspot.com/9664002

Patch from Peter Lee <pkl@chromium.org>.

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1344 4c0a9323-5329-0410-9bdc-e9ce6186880e

4 weeks agoMake crash_handler volatile to prevent compiler optimizing it away.
rmcilroy@chromium.org [Wed, 2 Jul 2014 10:27:39 +0000 (10:27 +0000)]
Make crash_handler volatile to prevent compiler optimizing it away.

This bug manifests itself on Android x64 (in ExceptionHandlerTest::ExternalDumper), but is possible on any platform.

The compiler is unaware of the code which runs in the signal handler which reads this variable. Without volatile the compiler is free to optimise away writes to this variable which it believes are never read.

BUG=381142, 346626
R=thestig@chromium.org

Review URL: https://breakpad.appspot.com/8664002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1343 4c0a9323-5329-0410-9bdc-e9ce6186880e

4 weeks agoCleanup: hide undefined behavior from the compiler better.
ivanpe@chromium.org [Tue, 1 Jul 2014 17:50:05 +0000 (17:50 +0000)]
Cleanup: hide undefined behavior from the compiler better.

Submitting this on behalf of Paul Pluzhnikov.

R=mark@chromium.org

Review URL: https://breakpad.appspot.com/6674002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1342 4c0a9323-5329-0410-9bdc-e9ce6186880e

4 weeks agodump_syms: use unordered_set<> instead of set<> for speed.
mark@chromium.org [Thu, 26 Jun 2014 12:37:15 +0000 (12:37 +0000)]
dump_syms: use unordered_set<> instead of set<> for speed.

dump_syms spends a lot of time trying to compare strings.
This change speeds up processing of libwebviewchromium.so by 30% on my linux
machine.

Patch by Junichi Uekawa <uekawa@chromium.org>

Review URL: https://breakpad.appspot.com/2714002/

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1341 4c0a9323-5329-0410-9bdc-e9ce6186880e

5 weeks agoUpdate output for test minidump_dump_test.
ivanpe@chromium.org [Wed, 25 Jun 2014 00:24:01 +0000 (00:24 +0000)]
Update output for test minidump_dump_test.

R=mark@chromium.org

Review URL: https://breakpad.appspot.com/10654002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1340 4c0a9323-5329-0410-9bdc-e9ce6186880e

6 weeks agominidump_dump: bug fixes.
mark@chromium.org [Tue, 17 Jun 2014 18:03:31 +0000 (18:03 +0000)]
minidump_dump: bug fixes.

 - Convert time_t values to UTC correctly. It is incorrect to cast a uint32_t*
   to time_t* because the two types may have different widths. This is the
   case on many 64-bit systems, where time_t is a 64-bit signed integer.
   Conversion is unified in a single function, and additional uses of time_t
   in minidump files not previously displayed in UTC are now displayed.
 - Interpret the IMAGE_DEBUG_MISC structure correctly.
 - When printing MINIDUMP_SYSTEM_INFO structures, always show the "x86" side
   of the union, and state whether it's expected to be valid. (Existing
   Breakpad-produced non-Windows minidumps for x86_64 use the "x86" side of
   union, but Windows minidumps for x86_64 use the "other" side, so I want to
   print both.)

R=ivanpe@chromium.org

Review URL: https://breakpad.appspot.com/5674002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1339 4c0a9323-5329-0410-9bdc-e9ce6186880e

7 weeks agoUse PAGE_MAX_SIZE. PAGE_SIZE is now a variable size.
qsr@chromium.org [Fri, 6 Jun 2014 16:20:15 +0000 (16:20 +0000)]
Use PAGE_MAX_SIZE. PAGE_SIZE is now a variable size.

This fixes exception_handler.cc:77:8: error: fields must have a constant size:
'variable length array in structure' extension will never be supported
  char protected_buffer[PAGE_SIZE] __attribute__((aligned(PAGE_SIZE)));

BUG=None
TEST=breakpad builds on ios8
R=mark@chromium.org

Review URL: https://breakpad.appspot.com/9654002

Patch from Justin Cohen <justincohen@chromium.org>.

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1338 4c0a9323-5329-0410-9bdc-e9ce6186880e

8 weeks agoAdd virtual dtor to LibcurlWrapper.
pbos@chromium.org [Wed, 4 Jun 2014 08:54:07 +0000 (08:54 +0000)]
Add virtual dtor to LibcurlWrapper.

LibcurlWrapper is deleted but contains no virtual destructor, triggering
warnings with -Wdelete-non-virtual-dtor in clang++.

R=ivanpe@chromium.org

Review URL: https://breakpad.appspot.com/7664002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1337 4c0a9323-5329-0410-9bdc-e9ce6186880e

8 weeks agoAdd missing MD_MISCINFO_FLAGS1_BUILDSTRING. Revise documentation to clarify
mark@chromium.org [Tue, 3 Jun 2014 19:35:41 +0000 (19:35 +0000)]
Add missing MD_MISCINFO_FLAGS1_BUILDSTRING. Revise documentation to clarify
that it is not enough to check the size of an MDRawMiscInfo stream to verify
member validity, the flags1 field needs to be consulted as well. Update
minidump_dump to correctly consider the validity of all fields in this
structure.

R=ivanpe@chromium.org

Review URL: https://breakpad.appspot.com/3694002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1336 4c0a9323-5329-0410-9bdc-e9ce6186880e

2 months agoPrint more x86-64 registers in minidump_stackwalk
ted.mielczarek@gmail.com [Fri, 30 May 2014 10:51:16 +0000 (10:51 +0000)]
Print more x86-64 registers in minidump_stackwalk

R=mark@chromium.org

Review URL: https://breakpad.appspot.com/7654002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1335 4c0a9323-5329-0410-9bdc-e9ce6186880e

2 months agoLinux: Fix a memory leak in ExceptionHandler.
thestig@chromium.org [Wed, 28 May 2014 18:01:22 +0000 (18:01 +0000)]
Linux: Fix a memory leak in ExceptionHandler.

BUG=592
R=mark@chromium.org

Review URL: https://breakpad.appspot.com/3684002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1334 4c0a9323-5329-0410-9bdc-e9ce6186880e

2 months agoFix a memory leak in DwarfCUToModule::FuncHandler::Finish().
thestig@chromium.org [Wed, 28 May 2014 16:51:52 +0000 (16:51 +0000)]
Fix a memory leak in DwarfCUToModule::FuncHandler::Finish().

BUG=591
R=mark@chromium.org

Review URL: https://breakpad.appspot.com/2704002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1333 4c0a9323-5329-0410-9bdc-e9ce6186880e

2 months agoFix minor typo in a comment in r1331.
rmcilroy@chromium.org [Wed, 14 May 2014 12:19:50 +0000 (12:19 +0000)]
Fix minor typo in a comment in r1331.

R=qsr@google.com

Review URL: https://breakpad.appspot.com/3674002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1332 4c0a9323-5329-0410-9bdc-e9ce6186880e

2 months agoFix x86_64 Android build after user_fpregs_struct was added to /sys/user.h in newer...
rmcilroy@chromium.org [Wed, 14 May 2014 09:49:24 +0000 (09:49 +0000)]
Fix x86_64 Android build after user_fpregs_struct was added to /sys/user.h in newer NDKs

BUG=346626
TBR=mark@chromium.org

Review URL: https://breakpad.appspot.com/2694002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1331 4c0a9323-5329-0410-9bdc-e9ce6186880e

2 months ago[MIPS] Fix core dump related unit tests for Android on MIPS
gordana.cmiljanovic@imgtec.com [Wed, 14 May 2014 09:11:35 +0000 (09:11 +0000)]
[MIPS] Fix core dump related unit tests for Android on MIPS

This change fixes failing unittests in Android on MIPS:
LinuxCoreDumperTest.VerifyDumpWithMultipleThreads
ElfCoreDumpTest.ValidCoreFile

BUG=None
TEST=Running breakpad_unittests on MIPS Android device

Review URL: https://breakpad.appspot.com/3664002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1330 4c0a9323-5329-0410-9bdc-e9ce6186880e

2 months ago[Mac] Remove unused host_info call and supporting calls.
mark@chromium.org [Mon, 12 May 2014 19:42:34 +0000 (19:42 +0000)]
[Mac] Remove unused host_info call and supporting calls.

R=blundell@chromium.org

Review URL: https://breakpad.appspot.com/2684002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1329 4c0a9323-5329-0410-9bdc-e9ce6186880e

2 months agoFix the documentation for MinidumpFileWriter::Open().
thestig@chromium.org [Mon, 12 May 2014 19:36:46 +0000 (19:36 +0000)]
Fix the documentation for MinidumpFileWriter::Open().

BUG=581
R=mark@chromium.org

Review URL: https://breakpad.appspot.com/6654002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1328 4c0a9323-5329-0410-9bdc-e9ce6186880e

2 months agoAdd required build options to correctly target XP
wfh@chromium.org [Thu, 8 May 2014 21:17:04 +0000 (21:17 +0000)]
Add required build options to correctly target XP

BUG=588
R=chrisha@chromium.org

Review URL: https://breakpad.appspot.com/5664002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1327 4c0a9323-5329-0410-9bdc-e9ce6186880e

2 months agoFD leaks and handle errors better.
rsesek@chromium.org [Tue, 6 May 2014 19:52:55 +0000 (19:52 +0000)]
FD leaks and handle errors better.

Patch from Matthew Dempsky <mdempsky@chromium.org>.
Original review: https://breakpad.appspot.com/5654002/

Review URL: https://breakpad.appspot.com/1674002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1326 4c0a9323-5329-0410-9bdc-e9ce6186880e

2 months agoAdd support for CFI based stack walking on Arm64.
rmcilroy@chromium.org [Tue, 6 May 2014 09:18:30 +0000 (09:18 +0000)]
Add support for CFI based stack walking on Arm64.

This CL adds CFI based stack walking support for Arm64 to BreakPad along with
unit tests.  The Arm64 CFI stack walker is based on the Arm CFI stack walker

BUG=367367,335641,354405
R=blundell@chromium.org, mark@chromium.org

Review URL: https://breakpad.appspot.com/1664002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1325 4c0a9323-5329-0410-9bdc-e9ce6186880e

2 months agoMake the Linux CrashGenerationClient an interface.
rsesek@chromium.org [Mon, 5 May 2014 20:36:06 +0000 (20:36 +0000)]
Make the Linux CrashGenerationClient an interface.

Also allow it to be set on the ExceptionHandler. This will allow Chromium's
implementation to be properly treated as an out-of-process handler.

BUG=https://code.google.com/p/chromium/issues/detail?id=349600
R=mark@chromium.org

Review URL: https://breakpad.appspot.com/2664002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1324 4c0a9323-5329-0410-9bdc-e9ce6186880e

2 months agoFixing a build break on Linux.
mmandlis@chromium.org [Thu, 1 May 2014 23:31:44 +0000 (23:31 +0000)]
Fixing a build break on Linux.

R=ivanpe@chromium.org

Review URL: https://breakpad.appspot.com/4654002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1323 4c0a9323-5329-0410-9bdc-e9ce6186880e

3 months agoAdd Arm64 support to dumpsyms.
rmcilroy@chromium.org [Tue, 29 Apr 2014 09:45:46 +0000 (09:45 +0000)]
Add Arm64 support to dumpsyms.

Adds Arm64 support to dumpsyms, enabling support for EM_AARCH64 elf type and
arm64 registers in DwarfCFIToModule.

BUG=367367,335641,354405
R=mark@chromium.org

Review URL: https://breakpad.appspot.com/1654002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1322 4c0a9323-5329-0410-9bdc-e9ce6186880e

3 months agoClean up common.gypi.
chrisha@chromium.org [Mon, 28 Apr 2014 21:16:52 +0000 (21:16 +0000)]
Clean up common.gypi.

This removes a handful of redundant variables and GYP includes.

BUG=
R=mark@chromium.org

Review URL: https://breakpad.appspot.com/2654002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1321 4c0a9323-5329-0410-9bdc-e9ce6186880e

3 months agoLinux: Check the CRC32 of the debug link file in the symbol dumper.
thestig@chromium.org [Wed, 23 Apr 2014 20:52:28 +0000 (20:52 +0000)]
Linux: Check the CRC32 of the debug link file in the symbol dumper.

R=mark@chromium.org

Review URL: https://breakpad.appspot.com/1644002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1320 4c0a9323-5329-0410-9bdc-e9ce6186880e

3 months agoChange PrintFunctions to print functions in address order and not print duplicate...
wfh@chromium.org [Wed, 23 Apr 2014 17:27:01 +0000 (17:27 +0000)]
Change PrintFunctions to print functions in address order and not print duplicate public functions.

BUG=427
R=mark@chromium.org

Review URL: https://breakpad.appspot.com/1634002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1319 4c0a9323-5329-0410-9bdc-e9ce6186880e

3 months agoSkip ElfCoreDumpTest and LinuxCoreDumperTest on Android if no core file is dumped.
rmcilroy@chromium.org [Wed, 23 Apr 2014 10:20:00 +0000 (10:20 +0000)]
Skip ElfCoreDumpTest and LinuxCoreDumperTest on Android if no core file is dumped.

On certain versions of Android (specifically JellyBean MR2 on Nexus 7, possibly
others too) no ELF core dump is created for crashing processes.  Check for this
and skip the test if so.

BUG=364943
R=thestig@chromium.org

Review URL: https://breakpad.appspot.com/1624003

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1318 4c0a9323-5329-0410-9bdc-e9ce6186880e

3 months agominidump-2-core: Allow user to override shared lib basedir.
thestig@chromium.org [Fri, 18 Apr 2014 20:59:16 +0000 (20:59 +0000)]
minidump-2-core: Allow user to override shared lib basedir.

This CL introduces "--sobasedir" command-line option to minidump-2-core.
By default, paths to shared lib files included in generated core file are
formatted as "/var/lib/breakpad/[GUID]libFoobar.so". By using "--sobasedir",
this will be "[user-supplied-path]libFoobar.so".

This option can be used to ease debugging minidump files from developer's local
builds. By specifying "minidump-2-core --sobasedir `pwd`/out/Debug/lib/
foobar.mdmp", user can load the generated core file in gdb without setting up
the symlinks for "/var/lib/breakpad".

BUG=None
A=kouhei@chromium.org

Original code review: https://breakpad.appspot.com/1214002/

R=kouhei@chromium.org

Review URL: https://breakpad.appspot.com/1584002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1317 4c0a9323-5329-0410-9bdc-e9ce6186880e

3 months agoChange the way function and public symbols are obtained to use the findChildren DIA...
wfh@chromium.org [Wed, 16 Apr 2014 22:50:28 +0000 (22:50 +0000)]
Change the way function and public symbols are obtained to use the findChildren DIA function.

This has a substantial performance improvement over using the getSymbolsByAddr iterator, especially on certain 64bit DLLS.  e.g. Time to process chrome_child.dll drops from 51 minutes to 21 secs.

Note: new test data looks different because the ordering of lines is no longer by memory address.  This does not affect processing.  The test data has been manually compared to old data and matches (except additional PUBLIC symbols).  Also, INFO lines are omitted because the source executable files are not checked in, so they are unavailable.

R=ivanpe@chromium.org, mark@chromium.org

Review URL: https://breakpad.appspot.com/1574002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1316 4c0a9323-5329-0410-9bdc-e9ce6186880e

3 months agoAllow symupload to upload to multiple URLs on the same command line.
wfh@chromium.org [Wed, 16 Apr 2014 16:03:57 +0000 (16:03 +0000)]
Allow symupload to upload to multiple URLs on the same command line.

R=mark@chromium.org

Review URL: https://breakpad.appspot.com/1554002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1315 4c0a9323-5329-0410-9bdc-e9ce6186880e

3 months agoLimit the workaround in r1313 to Android only.
thestig@chromium.org [Tue, 15 Apr 2014 18:29:15 +0000 (18:29 +0000)]
Limit the workaround in r1313 to Android only.

BUG=579
R=rmcilroy@chromium.org, vapier@chromium.org

Review URL: https://breakpad.appspot.com/1564002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1314 4c0a9323-5329-0410-9bdc-e9ce6186880e

3 months ago[Android]: Fix hang in CreateChildCrash() on Android.
rmcilroy@chromium.org [Tue, 15 Apr 2014 10:07:50 +0000 (10:07 +0000)]
[Android]: Fix hang in CreateChildCrash() on Android.

After r1299, the LinuxCoreDumperTest::VerifyDumpWithMultipleThreads and
ElfCoreDumpTest::ValidCoreFile would both hang on Android.  This appears to be due to the tkill
signal not being recieved by the thread which is meant to crash, even though tkill returns 0.
This CL retries sending the tkill signal multiple times, which prevents the Hang.

BUG=579
R=thestig@chromium.org

Review URL: https://breakpad.appspot.com/1524002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1313 4c0a9323-5329-0410-9bdc-e9ce6186880e

3 months agoUpdate offset of fpregs_mem.
rmcilroy@chromium.org [Tue, 15 Apr 2014 09:52:37 +0000 (09:52 +0000)]
Update offset of fpregs_mem.

Based on testing in the emulator.

BUG=346626
R=thestig@chromium.org

Review URL: https://breakpad.appspot.com/1544002

Patch from Anton Carver <anton@chromium.org>.

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1312 4c0a9323-5329-0410-9bdc-e9ce6186880e

3 months agoAdd x64 version of getcontext.
rmcilroy@chromium.org [Fri, 11 Apr 2014 16:09:12 +0000 (16:09 +0000)]
Add x64 version of getcontext.

Assembly code is derived in part from code in libunwind.
Code tested on desktop linux (Android testing pending emulation
support).

BUG=346626
R=dannyb@google.com, thestig@chromium.org

Review URL: https://breakpad.appspot.com/1454002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1311 4c0a9323-5329-0410-9bdc-e9ce6186880e

3 months agoFill in CPU info in mini-dump for Arm64.
rmcilroy@chromium.org [Fri, 11 Apr 2014 14:41:14 +0000 (14:41 +0000)]
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

3 months agoAdding support for 64-bit Windows modules to ms_symbol_server_converter.
ivan.penkov@gmail.com [Thu, 10 Apr 2014 17:54:52 +0000 (17:54 +0000)]
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

3 months agoMoving directory 'build' one level up as it collides with a file named 'BUILD' which...
ivan.penkov@gmail.com [Thu, 10 Apr 2014 17:37:20 +0000 (17:37 +0000)]
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

3 months agoIncrease Breakpad's signal handler stack size.
rmcilroy@chromium.org [Wed, 9 Apr 2014 17:35:44 +0000 (17:35 +0000)]
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

3 months agoFix aarch64 ucontext layout on Android
rmcilroy@chromium.org [Wed, 9 Apr 2014 09:08:19 +0000 (09:08 +0000)]
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

3 months agoAdd Arm64 support to breakpad unittests.
rmcilroy@chromium.org [Tue, 8 Apr 2014 17:36:11 +0000 (17:36 +0000)]
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

3 months agoMove build configuration to root of repository.
chrisha@chromium.org [Thu, 3 Apr 2014 18:34:24 +0000 (18:34 +0000)]
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

3 months agoFix ElfCoreDumpTest.ValidCoreFile unit test.
benchan@chromium.org [Thu, 3 Apr 2014 16:50:06 +0000 (16:50 +0000)]
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

3 months agoAdd Arm64 version of breakpad_getcontext for Android.
rmcilroy@chromium.org [Thu, 3 Apr 2014 13:15:37 +0000 (13:15 +0000)]
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

3 months agoFirst cut at adding arm64 Linux / Android support to Breakpad.
rmcilroy@chromium.org [Wed, 2 Apr 2014 23:12:40 +0000 (23:12 +0000)]
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

3 months agoRemove some unecessary Android system header definitions.
rmcilroy@chromium.org [Wed, 2 Apr 2014 23:02:31 +0000 (23:02 +0000)]
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

3 months agofix races in CrashGenerator::CreateChildCrash
vapier@chromium.org [Wed, 2 Apr 2014 22:55:12 +0000 (22:55 +0000)]
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

3 months agoUpdate GYP dependency to r1886.
chrisha@chromium.org [Wed, 2 Apr 2014 21:34:42 +0000 (21:34 +0000)]
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

3 months agoUpdate DEPS to bring in gtest, gmock and GYP.
chrisha@chromium.org [Wed, 2 Apr 2014 20:18:55 +0000 (20:18 +0000)]
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

3 months agoAdd .gitignore file.
chrisha@chromium.org [Wed, 2 Apr 2014 19:41:40 +0000 (19:41 +0000)]
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

3 months agoTerminating FileID path when at maximum length. (Coverity)
thestig@chromium.org [Tue, 1 Apr 2014 20:18:53 +0000 (20:18 +0000)]
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

3 months agoGoogleCrashdumpUploader would leak instances of LibcurlWrapper (Coverity)
thestig@chromium.org [Tue, 1 Apr 2014 20:18:23 +0000 (20:18 +0000)]
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

3 months agoMake ARM64 detection consistent in chromium.
mark@chromium.org [Tue, 1 Apr 2014 18:20:36 +0000 (18:20 +0000)]
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

4 months agoIgnore warning 4702 to avoid unreachable code error on
wfh@chromium.org [Wed, 26 Mar 2014 21:02:12 +0000 (21:02 +0000)]
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

4 months agoCheck in new Windows binaries.
wfh@chromium.org [Wed, 26 Mar 2014 20:45:52 +0000 (20:45 +0000)]
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

4 months agoAdd support for Win64 stack unwind data as STACK CFI
wfh@chromium.org [Mon, 24 Mar 2014 12:12:17 +0000 (12:12 +0000)]
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

4 months agoFix crash in Windows CrashGenerationServer from r1274.
thestig@chromium.org [Wed, 19 Mar 2014 19:12:56 +0000 (19:12 +0000)]
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

4 months agoFix a bug in BreakpadController that prevented multiple report uploads per call to...
ivan.penkov@gmail.com [Wed, 19 Mar 2014 18:58:36 +0000 (18:58 +0000)]
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

4 months agoTrim unintentional whitespace and fix style nits
thestig@chromium.org [Tue, 18 Mar 2014 18:06:10 +0000 (18:06 +0000)]
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

5 months agoFixing compiler warnings:
ivan.penkov@gmail.com [Fri, 28 Feb 2014 10:21:20 +0000 (10:21 +0000)]
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

5 months agoRenaming file COPYING to LICENSE and appending the disclaimer from src/common/convert...
ivan.penkov@gmail.com [Thu, 27 Feb 2014 19:23:16 +0000 (19:23 +0000)]
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

5 months agoInitialize file descriptors to -1, not 0, in MachoWalker.
mark@chromium.org [Wed, 26 Feb 2014 18:59:48 +0000 (18:59 +0000)]
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

5 months agoUpdate GTM and enable -Wundef and strict C++11 flags.
dmaclach [Wed, 26 Feb 2014 16:14:04 +0000 (16:14 +0000)]
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

5 months agoFixup breakpad compile for Xcode 5.1 iOS release
dmaclach [Mon, 24 Feb 2014 21:35:40 +0000 (21:35 +0000)]
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

5 months agoFix up ~14 warnings about 'Implicit conversion loses integer precision' on iOS.
dmaclach [Tue, 18 Feb 2014 22:52:02 +0000 (22:52 +0000)]
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

5 months agoWhen the Breakpad.h header gets compiled by standard C compilers
dmaclach [Tue, 18 Feb 2014 21:34:43 +0000 (21:34 +0000)]
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

5 months agoMake Linux ExceptionHandler::HandleSignal public
ted.mielczarek@gmail.com [Wed, 5 Feb 2014 12:11:48 +0000 (12:11 +0000)]
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

5 months agoCreate a new tool to upload Mac system library symbols.
rsesek@chromium.org [Mon, 3 Feb 2014 22:52:49 +0000 (22:52 +0000)]
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

5 months agoSupport statically-linked libcurl for HTTP uploads in Linux
mattdr.breakpad@gmail.com [Wed, 29 Jan 2014 20:34:07 +0000 (20:34 +0000)]
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

6 months agoWindows: Fix 64-bit compitation of crash_generation_app.
thestig@chromium.org [Tue, 21 Jan 2014 19:22:37 +0000 (19:22 +0000)]
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

6 months agoFix missing semi-colons from r1267.
thestig@chromium.org [Fri, 17 Jan 2014 23:20:24 +0000 (23:20 +0000)]
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

6 months agoRefactor the Windows MinidumpGenerator interface to get rid of the overloads when...
cdn@chromium.org [Fri, 17 Jan 2014 22:39:11 +0000 (22:39 +0000)]
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

6 months agoFix VS project generation for the crash generation app.
cdn@chromium.org [Fri, 17 Jan 2014 21:57:47 +0000 (21:57 +0000)]
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

6 months agoSubmitting on bahalf of Michele Aiello.
ivan.penkov@gmail.com [Mon, 13 Jan 2014 19:30:06 +0000 (19:30 +0000)]
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

6 months agoAdd -[BreakpadController setParametersToAddAtUploadTime:] for iOS.
blundell@chromium.org [Mon, 13 Jan 2014 10:40:07 +0000 (10:40 +0000)]
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

6 months agoDon't do work inside assert(). Ever.
mark@chromium.org [Fri, 10 Jan 2014 19:54:20 +0000 (19:54 +0000)]
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

6 months agoFix #include order from r1268.
mark@chromium.org [Fri, 10 Jan 2014 19:53:33 +0000 (19:53 +0000)]
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

6 months agoFix compilation with macos-target=10.9
ted.mielczarek@gmail.com [Fri, 3 Jan 2014 12:32:55 +0000 (12:32 +0000)]
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

7 months agoWindows: Fix remaining level 4 warnings.
thestig@chromium.org [Wed, 18 Dec 2013 22:43:56 +0000 (22:43 +0000)]
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

7 months agoUse a proper ignore_result() to fix a ftruncate warn_unused_result warning with GCC...
thestig@chromium.org [Wed, 18 Dec 2013 19:52:36 +0000 (19:52 +0000)]
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

7 months agoSwitch scoped_ptr.h to a compatible google3 implementation.
thestig@chromium.org [Wed, 18 Dec 2013 19:49:55 +0000 (19:49 +0000)]
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

7 months agoFix warnings from the Windows build.
thestig@chromium.org [Tue, 17 Dec 2013 22:21:40 +0000 (22:21 +0000)]
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

7 months agoRun svn propdel svn:executable on source code files.
thestig@chromium.org [Tue, 17 Dec 2013 21:40:50 +0000 (21:40 +0000)]
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

7 months agoFix error r1258.
thestig@chromium.org [Tue, 17 Dec 2013 19:04:11 +0000 (19:04 +0000)]
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

7 months agoMaking the Mac build of crash_report work again after the last SVN sync. This include...
ivan.penkov@gmail.com [Tue, 17 Dec 2013 00:10:25 +0000 (00:10 +0000)]
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

7 months agoFix gcc vs clang cpuid.h discrepency.
thestig@chromium.org [Sat, 14 Dec 2013 19:17:42 +0000 (19:17 +0000)]
Fix gcc vs clang cpuid.h discrepency.

For r1254, gcc defines bit_FXSAVE while clang defines bit_FXSR.

R=mark@chromium.org

Review URL: https://breakpad.appspot.com/924002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1260 4c0a9323-5329-0410-9bdc-e9ce6186880e

7 months agoMisc Android-related fixes.
digit@chromium.org [Fri, 13 Dec 2013 16:49:11 +0000 (16:49 +0000)]
Misc Android-related fixes.

- src/common/android/testing/mkdtemp.h:
  Fixes a compilation error when using the (recent) NDK r9b,
  see comments in the source file for details.

- android/test-driver, Makefile.am, Makefile.in:
  Autotools 1.12 changed the way tests are run during "make check"
  so add a new "custom test driver" to run tests on Android, and
  modify Makefile.am / Makefile.in accordingly. Otherwise,
  'make check' tried to run the tests on the host.

- android/test-shell.sh:
  Allow several tests to run in parallel on the device, by
  creating a custom test directory for each test process.
  This allows running "make check -j8" reliably.

- src/common/linux/file_id_unittest.cc:
  Disable the SelfStrip test on Android, since it assumes a 'strip'
  executable is available on the target system where the test runs.

BUG=NONE
R=mark@chromium.org, ted.mielczarek@gmail.com
TEST=android/run-checks.sh --ndk-dir=/path/to/android-ndk-r9b

Review URL: https://breakpad.appspot.com/904003

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1259 4c0a9323-5329-0410-9bdc-e9ce6186880e

7 months agoExpose the ability to supply additional user streams in the windows dump generator.
cdn@chromium.org [Thu, 12 Dec 2013 20:04:42 +0000 (20:04 +0000)]
Expose the ability to supply additional user streams in the windows dump generator.

BUG=N/A
R=mark@chromium.org

Review URL: https://breakpad.appspot.com/894002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1258 4c0a9323-5329-0410-9bdc-e9ce6186880e

7 months agoRemove usage of gDebugLog and DEBUGLOG from Mac and iOS client code.
altse@chromium.org [Thu, 12 Dec 2013 19:58:00 +0000 (19:58 +0000)]
Remove usage of gDebugLog and DEBUGLOG from Mac and iOS client code.

The inconsistent and duplicated references to gDebugLog caused
problems building on iOS and the current logging implementation
had little utility because it was never activated in debug builds.

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1257 4c0a9323-5329-0410-9bdc-e9ce6186880e