Mirror of Google Breakpad project
Go to file
Liu.andrew.x@gmail.com 2997f45907 Add support for Linux memory mapping stream and remove ELF header usage
when checking exploitability rating.

Linux minidumps do not support MD_MEMORY_INFO_LIST_STREAM, meaning the
processor cannot retrieve its memory mappings. However, it has its own
stream, MD_LINUX_MAPS, which contains memory mappings specific to Linux
(it contains the contents of /proc/self/maps). This CL allows the minidump
to gather information from the memory mappings for Linux minidumps.

In addition, exploitability rating for Linux dumps now use memory mappings
instead of checking the ELF headers of binaries. The basis for the change
is that checking the ELF headers requires the minidumps to store the memory
from the ELF headers, while the memory mapping data is already present,
meaning the size of a minidump will be unchanged.

As a result, of removing ELF header analysis, two unit tests have been removed.
Arguably, the cases that those unit tests check do not merit a high
exploitability rating and do not warrant a solid conclusion that was given
earlier.

R=ivanpe@chromium.org

Review URL: https://codereview.chromium.org/1251593007

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1476 4c0a9323-5329-0410-9bdc-e9ce6186880e
2015-07-28 00:53:44 +00:00
android Misc Android-related fixes. 2013-12-13 16:49:11 +00:00
autotools synx with latest upstream gnuconfig 2015-04-18 03:25:50 +00:00
m4 Issue 378 - Don't compile Linux client libraries on non-Linux systems 2010-08-31 15:09:01 +00:00
src Add support for Linux memory mapping stream and remove ELF header usage 2015-07-28 00:53:44 +00:00
.gitignore update more ignore files 2015-05-28 06:16:15 +00:00
aclocal.m4 make "make install" also install headers and pkgconfig files 2014-08-27 02:10:55 +00: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 Switch code review server to codereview.chromium.org. 2015-05-06 17:52:38 +00:00
configure make "make install" also install headers and pkgconfig files 2014-08-27 02:10:55 +00:00
configure.ac make "make install" also install headers and pkgconfig files 2014-08-27 02:10:55 +00:00
DEPS Move build configuration to root of repository. 2014-04-03 18:34:24 +00: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 Add support for Linux memory mapping stream and remove ELF header usage 2015-07-28 00:53:44 +00:00
Makefile.in Add support for Linux memory mapping stream and remove ELF header usage 2015-07-28 00:53:44 +00:00
NEWS Initial import, which includes the Windows client-side dump_syms tool, and 2006-08-25 21:14:45 +00:00
README Update the upload.py code review server. 2015-06-24 16:27:36 +00:00
README.ANDROID Update breakpad to support Android NDK r10c 2014-10-21 13:50:27 +00:00

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:
0. Get access to a read-write copy of source.
   Owners at http://code.google.com/p/google-breakpad/ are able to grant
   this access.

1. Check out a read-write copy of source using instructions at
   http://code.google.com/p/google-breakpad/source/checkout

2. 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.

3. Download http://codereview.appspot.com/static/upload.py

4. Run upload.py from the 'src' directory:
   upload.py --server=codereview.chromium.org

   You will be prompted for credential and a description.

5. At http://breakpad.appspot.com 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

6. When applying code review feedback, specify the '-i' option when running
   upload.py again and pass the issue number so it updates the existing issue,
   rather than creating a new one.
   Be sure to rerun upload.py from the same directory as you did for previous
   uploads to allow for proper diff calculations.