`NXFindBestFatArch` is deprecated in macOS 13. We use this when an architecture is passed in via the `-a` flag. Unfortunately, neither of the potential replacements can help with this use case: - `macho_for_each_slice` as suggested in a reply to FB11955188 just enumerates slices, without the logic for inexact matches (for example, x86_64h -> x86_64 or arm64e -> arm64). - `macho_best_slice` as recommended by the deprecation notice only supports finding a suitable slice to run on the local machine. We could adapt the logic in `NXFindBestFatArch` but it gets quite complex for some architectures. Instead, this change adapts the `NXFindBestFatArch` polyfill used in `dump_syms_mac` for Linux, which returns an exact match if possible, and the first slice that matches the requested CPU type otherwise. I think this is probably Good Enough for most cases; if not, we can try porting the x86_64 and ARM logic and falling back to this for the rest. Change-Id: I3b269dab7246eced768cecd994e915debd95721a Bug: chromium:14206541420654 Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/4335477 Reviewed-by: Mark Mentovai <mark@chromium.org> |
||
|---|---|---|
| .github/workflows | ||
| android | ||
| autotools | ||
| docs | ||
| m4 | ||
| src | ||
| .clang-format | ||
| .gitignore | ||
| aclocal.m4 | ||
| appveyor.yml | ||
| AUTHORS | ||
| breakpad-client.pc.in | ||
| breakpad.pc.in | ||
| ChangeLog | ||
| codereview.settings | ||
| configure | ||
| configure.ac | ||
| default.xml | ||
| DEPS | ||
| DIR_METADATA | ||
| INSTALL | ||
| LICENSE | ||
| Makefile.am | ||
| Makefile.in | ||
| NEWS | ||
| OWNERS | ||
| 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 main)
-
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.