DW_AT_specification and DW_AT_abstract_origin attributes carry
references to other DIEs. Nothing prevents the DIEs referred to from
appearing later in .debug_info than the DIE containing the referring
attribute, but dump_syms incompletly implemented its handling of these
references, and was only able to resolve them when they were
back-references.
This will fix the chronic warnings produced by dump_syms of the form:
dump_syms: the DIE at offset <offset> has a {DW_AT_specification,
DW_AT_abstract_origin} attribute referring to the die at offset
<offset>, which either was not marked as {a declaration, an inline}, or
comes later in the file
Patch by Greg Clayton
Bug: breakpad:441
Change-Id: I98957d64a234c22afb6d0153f1bdc09e6a600b1d
Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1946706
Reviewed-by: Mark Mentovai <mark@chromium.org>
|
||
|---|---|---|
| .github | ||
| android | ||
| autotools | ||
| docs | ||
| m4 | ||
| scripts | ||
| src | ||
| .gitignore | ||
| .travis.yml | ||
| aclocal.m4 | ||
| appveyor.yml | ||
| AUTHORS | ||
| breakpad-client.pc.in | ||
| breakpad.pc.in | ||
| ChangeLog | ||
| codereview.settings | ||
| configure | ||
| configure.ac | ||
| default.xml | ||
| DEPS | ||
| INSTALL | ||
| LICENSE | ||
| Makefile.am | ||
| Makefile.in | ||
| NEWS | ||
| README.ANDROID | ||
| README.md | ||
Breakpad
Breakpad is a set of client and server components which implement a crash-reporting system.
- Homepage
- Documentation
- Bugs
- Discussion/Questions: google-breakpad-discuss@googlegroups.com
- Developer/Reviews: google-breakpad-dev@googlegroups.com
- Tests:
- Coverage
Getting started (from master)
-
First, download depot_tools and ensure that they’re in your
PATH. -
Create a new directory for checking out the source code (it must be named breakpad).
mkdir breakpad && cd breakpad -
Run the
fetchtool from depot_tools to download all the source repos.fetch breakpad cd src -
Build the source.
./configure && makeYou can also cd to another directory and run configure from there to build outside the source tree.
This will build the processor tools (
src/processor/minidump_stackwalk,src/processor/minidump_dump, etc), and when building on Linux it will also build the client libraries and some tools (src/tools/linux/dump_syms/dump_syms,src/tools/linux/md2core/minidump-2-core, etc). -
Optionally, run tests.
make check -
Optionally, install the built libraries
make install
If you need to reconfigure your build be sure to run make distclean first.
To update an existing checkout to a newer revision, you can
git pull as usual, but then you should run gclient sync to ensure that the
dependent repos are up-to-date.
To request change review
-
Follow the steps above to get the source and build it.
-
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.
-
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. -
At https://chromium-review.googlesource.com/ you'll find your issue listed; click on it, then “Add reviewer”, and enter in the code reviewer. Depending on your settings, you may not see an email, but the reviewer has been notified with google-breakpad-dev@googlegroups.com always CC’d.