summaryrefslogtreecommitdiffstats
path: root/breakpad
diff options
context:
space:
mode:
authormark@chromium.org <mark@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-10-31 14:07:01 +0000
committermark@chromium.org <mark@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-10-31 14:07:01 +0000
commit3ad7369de5f83afef09ce3e12ce1f2062dec54ec (patch)
treebe8e1a29cf9abae83d38d56b501cd0d380e90c72 /breakpad
parent0171d2bf8f8b7fff851f2394f35d6ebba64a8dc4 (diff)
downloadchromium_src-3ad7369de5f83afef09ce3e12ce1f2062dec54ec.zip
chromium_src-3ad7369de5f83afef09ce3e12ce1f2062dec54ec.tar.gz
chromium_src-3ad7369de5f83afef09ce3e12ce1f2062dec54ec.tar.bz2
Make dump_syms 64-bit on Mac.
The framework's grown to the point that 32-bit dump_syms no longer has enough memory to do its job. It is failing with messages like: dump_syms(12345) malloc: *** mmap(size=2097152) failed (error code=12) *** error: can't allocate region *** set a breakpoint in malloc_error_break to debug dump_syms(12345) malloc: *** mmap(size=2097152) failed (error code=12) *** error: can't allocate region *** set a breakpoint in malloc_error_break to debug dump_syms(12345) malloc: *** mmap(size=2097152) failed (error code=12) *** error: can't allocate region *** set a breakpoint in malloc_error_break to debug terminate called after throwing an instance of 'St9bad_alloc' what(): std::bad_alloc Moving to 64-bit gives it more space to work with. 64-bit dump_syms is able to dump 32-bit files. BUG=102361 TEST=Breakpad-enabled official release builds Review URL: http://codereview.chromium.org/8409009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107947 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'breakpad')
-rw-r--r--breakpad/breakpad.gyp15
1 files changed, 9 insertions, 6 deletions
diff --git a/breakpad/breakpad.gyp b/breakpad/breakpad.gyp
index f1ae674..b524e8a 100644
--- a/breakpad/breakpad.gyp
+++ b/breakpad/breakpad.gyp
@@ -106,12 +106,6 @@
{
'target_name': 'dump_syms',
'type': 'executable',
- 'variables': {
- # Turn off PIE because it may interfere with dump_syms' ability to
- # allocate a contiguous region in memory large enough to mmap the
- # entire unstripped framework in a 32-bit dump_syms process.
- 'mac_pie': 0,
- },
'include_dirs++': [
# ++ ensures this comes before src brought in from target_defaults.
'pending/src',
@@ -144,8 +138,17 @@
'HAVE_MACH_O_NLIST_H',
],
'xcode_settings': {
+ # Like ld, dump_syms needs to operate on enough data that it may
+ # actually need to be able to address more than 4GB. Use x86_64.
+ # Don't worry! An x86_64 dump_syms is perfectly able to dump
+ # 32-bit files.
+ 'ARCHS': [
+ 'x86_64',
+ ],
+
# The DWARF utilities require -funsigned-char.
'GCC_CHAR_IS_UNSIGNED_CHAR': 'YES',
+
# dwarf2reader.cc uses dynamic_cast.
'GCC_ENABLE_CPP_RTTI': 'YES',
},