Go to file
Mike Frysinger 8baa236daa exploitability_unittest: fix warnings
The std::getline function always returns its first arg (which is an
iostream object) and cannot return anything else.  Thus, testing its
value is pointless, and even leads to build errors w/at least gcc-5
due to gtest ASSERT_TRUE funcs only taking bool types:

.../exploitability_unittest.cc: In member function 'virtual void {anonymous}::ExploitabilityLinuxUtilsTest_DisassembleBytesTest_Test::TestBody()':
.../exploitability_unittest.cc:200:136: error: no matching function for call to 'testing::AssertionResult::AssertionResult(std::basic_istream<char>&)'
In file included from .../breakpad_googletest_includes.h:33:0,
                 from .../exploitability_unittest.cc:35:
.../gtest.h:262:12: note: candidate: testing::AssertionResult::AssertionResult(bool)

Since we know this never fails, simply drop the ASSERT_TRUE usage.
The next line already checks the content of the buffer we read.

Further on in the file, we hit some signed warnings:
In file included from .../breakpad_googletest_includes.h:33:0,
                 from .../exploitability_unittest.cc:35:
.../gtest.h: In instantiation of 'testing::AssertionResult testing::internal::CmpHelperEQ(const char*, const char*, const T1&, const T2&) [with T1 = long unsigned int; T2 = int]':
.../gtest.h:1484:23:   required from 'static testing::AssertionResult testing::internal::EqHelper<lhs_is_null_literal>::Compare(const char*, const char*, const T1&, const T2&) [with T1 = long unsigned int; T2 = int; bool lhs_is_null_literal = false]'
.../exploitability_unittest.cc:241:289:   required from here
.../gtest.h:1448:16: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
   if (expected == actual) {

This is because we compare the register value (a uint64_t) directly to
an integer constant, and those are signed by default.  Stick a U suffix
on them to fix things up.

BUG=chromium:579384
TEST=`make check` passes
R=ivanpe@chromium.org

Review URL: https://codereview.chromium.org/1611763002 .
2016-01-21 00:50:28 -05:00
android Misc Android-related fixes. 2013-12-13 16:49:11 +00:00
autotools build: detect the right ar tool 2015-11-11 13:43:14 -05:00
docs Revert "[Docs] Add wiki content to Markdown docs" 2015-10-07 17:04:43 -04:00
m4 Check for C++11 support in the configure script. 2016-01-08 00:27:48 -08:00
src exploitability_unittest: fix warnings 2016-01-21 00:50:28 -05:00
.gitignore gitignore: add mac/dump_syms 2015-11-11 01:47:33 -05:00
aclocal.m4 build: detect the right ar tool 2015-11-11 13:43:14 -05:00
AUTHORS Make build system less annoying (#8) r=bryner 2006-08-30 20:05:05 +00:00
breakpad-client.pc.in make "make install" also install headers and pkgconfig files 2014-08-27 02:10:55 +00:00
breakpad.pc.in make "make install" also install headers and pkgconfig files 2014-08-27 02:10:55 +00:00
ChangeLog Initial import, which includes the Windows client-side dump_syms tool, and 2006-08-25 21:14:45 +00:00
codereview.settings Change codereview.settings to point to new repo URL. 2015-09-01 17:13:51 -07:00
configure Check for C++11 support in the configure script. 2016-01-08 00:27:48 -08:00
configure.ac Check for C++11 support in the configure script. 2016-01-08 00:27:48 -08:00
DEPS switch to git for external projects 2016-01-06 19:44:41 -05:00
INSTALL autoreconf -f -i 2013-12-10 17:53:50 +00:00
LICENSE Renaming file COPYING to LICENSE and appending the disclaimer from src/common/convert_UTF.h to LICENSE. 2014-02-27 19:23:16 +00:00
Makefile.am Move core2md objects to libbreakpad_client.a 2016-01-13 15:30:21 -05:00
Makefile.in Move core2md objects to libbreakpad_client.a 2016-01-13 15:30:21 -05:00
NEWS Initial import, which includes the Windows client-side dump_syms tool, and 2006-08-25 21:14:45 +00:00
README.ANDROID Update breakpad to support Android NDK r10c 2014-10-21 13:50:27 +00:00
README.md README: add more links to breakpad sites 2016-01-14 13:32:20 -05:00

Breakpad

Breakpad is a set of client and server components which implement a crash-reporting system.

Getting started in 32-bit mode (from trunk)

# Configure
CXXFLAGS=-m32 CFLAGS=-m32 CPPFLAGS=-m32 ./configure
# Build
make
# Test
make check
# Install
make install

If you need to reconfigure your build be sure to run make distclean first.

To request change review:

  1. Get a copy of depot_tools repo. http://dev.chromium.org/developers/how-tos/install-depot-tools

  2. Create a new directory for checking out the source code. mkdir breakpad && cd breakpad

  3. Run the fetch tool from depot_tools to download all the source repos. fetch breakpad

  4. Make changes. Build and test your changes. For core code like processor use methods above. For linux/mac/windows, there are test targets in each project file.

  5. Commit your changes to your local repo and upload them to the server. http://dev.chromium.org/developers/contributing-code e.g. git commit ... && git cl upload ... You will be prompted for credential and a description.

  6. At https://codereview.chromium.org/ you'll find your issue listed; click on it, and select Publish+Mail, and enter in the code reviewer and CC google-breakpad-dev@googlegroups.com