Skip to content

Commit

Permalink
add a linux_use_debug_fission gyp variable for -gsplit-dwarf
Browse files Browse the repository at this point in the history
Since -gsplit-dwarf breaks some extremely useful build tools (eg ccache and icecc), it deserves its own gyp variable.  This setting replaces the previous hack, setting binutils_version=0.

Background:
ccache: https://bugzilla.samba.org/show_bug.cgi?id=10005
icecc: icecc/icecream#86

BUG=352046

Review URL: https://codereview.chromium.org/226613005

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@267381 0039d316-1c4b-4281-b951-d872f2087c98
  • Loading branch information
mostynb@opera.com committed Apr 30, 2014
1 parent 721e230 commit 9dbbabd
Showing 1 changed file with 16 additions and 3 deletions.
19 changes: 16 additions & 3 deletions build/common.gypi
Original file line number Diff line number Diff line change
Expand Up @@ -765,6 +765,17 @@
'linux_use_gold_flags%': 0,
}],

# linux_use_debug_fission: whether to use split DWARF debug info
# files. This can reduce link time significantly, but is incompatible
# with some utilities such as icecc and ccache. Requires gold and
# gcc >= 4.8 or clang.
# http://gcc.gnu.org/wiki/DebugFission
['OS=="linux" and target_arch=="x64"', {
'linux_use_debug_fission%': 1,
}, {
'linux_use_debug_fission%': 0,
}],

['OS=="android" or OS=="ios"', {
'enable_captive_portal_detection%': 0,
}, {
Expand Down Expand Up @@ -1014,6 +1025,7 @@
'linux_use_bundled_gold%': '<(linux_use_bundled_gold)',
'linux_use_bundled_binutils%': '<(linux_use_bundled_binutils)',
'linux_use_gold_flags%': '<(linux_use_gold_flags)',
'linux_use_debug_fission%': '<(linux_use_debug_fission)',
'use_canvas_skia%': '<(use_canvas_skia)',
'test_isolation_mode%': '<(test_isolation_mode)',
'test_isolation_outdir%': '<(test_isolation_outdir)',
Expand Down Expand Up @@ -3227,9 +3239,10 @@
}, {
'cflags': ['-fno-unwind-tables', '-fno-asynchronous-unwind-tables'],
}],
# http://gcc.gnu.org/wiki/DebugFission
# Requires gold and gcc >= 4.8 or clang.
['linux_use_gold_flags==1 and (clang==1 or gcc_version>=48) and binutils_version>=223', {
# TODO(mostynb): shuffle clang/gcc_version/binutils_version
# definitions in to the right scope to use them when setting
# linux_use_debug_fission, so it can be used here alone.
['linux_use_debug_fission==1 and linux_use_gold_flags==1 and (clang==1 or gcc_version>=48) and binutils_version>=223', {
'cflags': ['-gsplit-dwarf'],
'ldflags': ['-Wl,--gdb-index'],
}],
Expand Down

0 comments on commit 9dbbabd

Please sign in to comment.