Go to file
Ted Mielczarek 8079ae192d Fix Mac Breakpad host tools to build in Linux cross-compile
We're working on building our Firefox Mac builds as a Linux cross-compile
(https://bugzilla.mozilla.org/show_bug.cgi?id=921040) and we need symbol
dumping to work. This change ports the Mac dump_syms tool to build and work
on Linux. I've tested it and it produces identical output to running the
tool on Mac.

The bulk of the work here was converting src/common/mac/dump_syms.mm and
src/tools/mac/dump_syms/dump_syms_tool.mm from ObjC++ to C++ and removing
their use of Foundation classes in favor of standard C/C++.

This won't compile out-of-the-box on Linux, it requires some Mac system
headers that are not included in this patch. I have those tentatively in
a separate patch to land in Gecko
(http://hg.mozilla.org/users/tmielczarek_mozilla.com/mc/rev/5fb8da23c83c),
but I wasn't sure if you'd be interested in having them in the Breakpad tree.
We could almost certainly pare down the set of headers included there, I
didn't spend too much time trying to minimize them (we primarily just need
the Mach-O structs and a few associated bits).

I just realized that this patch is missing updating the XCode project files
(ugh). I'll fix that up in a bit.

R=mark@chromium.org
BUG=https://bugzilla.mozilla.org/show_bug.cgi?id=543111

Review URL: https://codereview.chromium.org/1340543002 .
2015-09-16 06:46:55 -04: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 Fix Mac Breakpad host tools to build in Linux cross-compile 2015-09-16 06:46:55 -04:00
.gitignore Update gitignore to ignore more GYP things 2015-09-11 14:20:15 -04:00
aclocal.m4 Remove some old unused code, add a missing include 2015-08-13 16:38:19 +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 Change codereview.settings to point to new repo URL. 2015-09-01 17:13:51 -07:00
configure Remove some old unused code, add a missing include 2015-08-13 16:38:19 +00:00
configure.ac make "make install" also install headers and pkgconfig files 2014-08-27 02:10:55 +00:00
DEPS deps: switch lss to git 2015-09-11 01:37:29 -04: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 Fix Mac Breakpad host tools to build in Linux cross-compile 2015-09-16 06:46:55 -04:00
Makefile.in Fix Mac Breakpad host tools to build in Linux cross-compile 2015-09-16 06:46:55 -04:00
NEWS Initial import, which includes the Windows client-side dump_syms tool, and 2006-08-25 21:14:45 +00:00
README README: update dev documents w/new git flow 2015-09-11 01:38:20 -04: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 a copy of depot_tools repo.
   http://dev.chromium.org/developers/how-tos/install-depot-tools

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

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

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

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

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