breakpad/src/common
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 Add user_regs_struct and user_fpsimd_struct for aarch64 on Android. 2015-08-20 14:30:38 +00:00
dwarf dump_syms: Fix handling of DW_FORM_ref_addr to work with DWARF 4 2014-12-03 20:39:55 +00:00
linux Update breakpad for Android packed relocations. 2015-06-19 16:30:42 +00:00
mac Fix Mac Breakpad host tools to build in Linux cross-compile 2015-09-16 06:46:55 -04:00
solaris solaris: fix spurious ; 2015-09-11 12:59:53 -04:00
testdata
tests Add missing #include of eintr_wrapper.h to auto_testfile.h. Since it's 2013-12-03 19:01:17 +00:00
windows Fix regression on x86 for "Fix compile error with Windows clang" 2015-09-03 16:38:57 -07:00
basictypes.h Use a proper ignore_result() to fix a ftruncate warn_unused_result warning with GCC 4.8. 2013-12-18 19:52:36 +00:00
byte_cursor.h This change allows compiling the google-breakpad code using a global ::string class instead of std::string. For more details take a look at common/using_std_string.h 2012-06-28 22:46:01 +00:00
byte_cursor_unittest.cc This change allows compiling the google-breakpad code using a global ::string class instead of std::string. For more details take a look at common/using_std_string.h 2012-06-28 22:46:01 +00:00
common.gyp Fix Mac Breakpad host tools to build in Linux cross-compile 2015-09-16 06:46:55 -04:00
convert_UTF.c Update license on convert_UTF.* to the standard Unicode license. 2015-02-25 21:16:43 +00:00
convert_UTF.h Update license on convert_UTF.* to the standard Unicode license. 2015-02-25 21:16:43 +00:00
dwarf_cfi_to_module.cc Add Arm64 support to dumpsyms. 2014-04-29 09:45:46 +00:00
dwarf_cfi_to_module.h Add Arm64 support to dumpsyms. 2014-04-29 09:45:46 +00:00
dwarf_cfi_to_module_unittest.cc Add some more DWARF ARM register numbers to the DWARF CFI register maps 2012-07-18 18:13:29 +00:00
dwarf_cu_to_module.cc Demangle symbol name 2015-02-03 03:17:30 +00:00
dwarf_cu_to_module.h Fix some fragile code that is likely to cause future memory corruption 2015-01-27 01:20:59 +00:00
dwarf_cu_to_module_unittest.cc Fix some fragile code that is likely to cause future memory corruption 2015-01-27 01:20:59 +00:00
dwarf_line_to_module.cc Include the compilation directory for FILE entries, making them absolute instead of relative 2013-01-23 18:01:28 +00:00
dwarf_line_to_module.h Include the compilation directory for FILE entries, making them absolute instead of relative 2013-01-23 18:01:28 +00:00
dwarf_line_to_module_unittest.cc Include the compilation directory for FILE entries, making them absolute instead of relative 2013-01-23 18:01:28 +00:00
language.cc
language.h Fixing various compiler warnings and applying minor tweaks to allow running of 2012-07-02 22:55:57 +00:00
md5.cc Fixup breakpad compile for Xcode 5.1 iOS release 2014-02-24 21:35:40 +00:00
md5.h Fix up ~14 warnings about 'Implicit conversion loses integer precision' on iOS. 2014-02-18 22:52:02 +00:00
memory.h MIPS64: Initial MIPS64 related change. 2015-04-15 19:28:11 +00:00
memory_range.h Use stdint types everywhere 2013-03-06 14:04:42 +00:00
memory_range_unittest.cc Use stdint types everywhere 2013-03-06 14:04:42 +00:00
memory_unittest.cc Thanks to Matthew Riley who noticed this issue and provided the initial proposal for the fix. 2013-05-23 18:47:49 +00:00
minidump_type_helper.h Remove pointers from serialized file format 2014-12-11 01:17:43 +00:00
module.cc Handle ARM THUMB functions when removing duplicate PUBLIC entries. 2015-02-03 23:13:04 +00:00
module.h Fix some fragile code that is likely to cause future memory corruption 2015-01-27 01:20:59 +00:00
module_unittest.cc Add unit tests for overlapping functions and externs. 2015-02-04 00:03:58 +00:00
scoped_ptr.h Switch scoped_ptr.h to a compatible google3 implementation. 2013-12-18 19:49:55 +00:00
simple_string_dictionary.cc Rewrite SimpleStringDictionary with NonAllocatingMap. 2013-04-24 18:15:48 +00:00
simple_string_dictionary.h In NonAllocatingMap, remove asserts around key/value length. 2013-10-01 21:32:16 +00:00
simple_string_dictionary_unittest.cc In NonAllocatingMap, remove asserts around key/value length. 2013-10-01 21:32:16 +00:00
stabs_reader.cc This change allows compiling the google-breakpad code using a global ::string class instead of std::string. For more details take a look at common/using_std_string.h 2012-06-28 22:46:01 +00:00
stabs_reader.h Fix Mac Breakpad host tools to build in Linux cross-compile 2015-09-16 06:46:55 -04:00
stabs_reader_unittest.cc Use stdint types everywhere 2013-03-06 14:04:42 +00:00
stabs_to_module.cc Fix some fragile code that is likely to cause future memory corruption 2015-01-27 01:20:59 +00:00
stabs_to_module.h This change allows compiling the google-breakpad code using a global ::string class instead of std::string. For more details take a look at common/using_std_string.h 2012-06-28 22:46:01 +00:00
stabs_to_module_unittest.cc
string_conversion.cc Switch to scoped_array instead of inappropriate scoped_ptr. 2013-10-28 23:39:43 +00:00
string_conversion.h Use stdint types everywhere 2013-03-06 14:04:42 +00:00
symbol_data.h Allow reading just CFI data when reading symbols 2013-03-06 15:32:53 +00:00
test_assembler.cc Use stdint types everywhere 2013-03-06 14:04:42 +00:00
test_assembler.h Use stdint types everywhere 2013-03-06 14:04:42 +00:00
test_assembler_unittest.cc Use stdint types everywhere 2013-03-06 14:04:42 +00:00
unordered.h Both std::tr1::unordered_set and std::unordered_set are not allowed in 2014-07-21 18:27:43 +00:00
using_std_string.h This change allows compiling the google-breakpad code using a global ::string class instead of std::string. For more details take a look at common/using_std_string.h 2012-06-28 22:46:01 +00:00