diff options
author | Ben Noordhuis <info@bnoordhuis.nl> | 2012-07-19 20:20:34 +0400 |
---|---|---|
committer | Ben Noordhuis <info@bnoordhuis.nl> | 2012-07-19 20:20:34 +0400 |
commit | b2648934f013ccdf1a15bb74a5480d5a42a97943 (patch) | |
tree | 8a6f032343cccd5cf21f62ff34e0986aa5a8c09b /common.gypi | |
parent | 5a5e128165e85e15843f21d4ca01c8765323b030 (diff) |
build: unbreak ustack on smartos
I disabled the -ffunction-sections and -fdata-sections switches in 202df30
because they're horribly buggy with some gcc/binutils combos.
However, it turns out that the dtrace/ustack post-processing tool requires
that V8 is compiled with said switches and was broken because of it.
This commit turns them on again on SunOS systems. Let's hope for the best.
Diffstat (limited to 'common.gypi')
-rw-r--r-- | common.gypi | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/common.gypi b/common.gypi index 2d8d17c0da6..3ceedc77418 100644 --- a/common.gypi +++ b/common.gypi @@ -46,18 +46,25 @@ }, 'Release': { 'conditions': [ + ['target_arch=="x64"', { + 'msvs_configuration_platform': 'x64', + }], ['node_unsafe_optimizations==1', { 'cflags': [ '-O3', '-ffunction-sections', '-fdata-sections' ], 'ldflags': [ '-Wl,--gc-sections' ], }, { 'cflags': [ '-O2', '-fno-strict-aliasing', '-fno-tree-vrp' ], - 'cflags!': [ '-O3', - '-fstrict-aliasing', - '-ffunction-sections', - '-fdata-sections' ], - }], - ['target_arch=="x64"', { - 'msvs_configuration_platform': 'x64', + 'cflags!': [ '-O3', '-fstrict-aliasing' ], + 'conditions': [ + # Required by the dtrace post-processor. Unfortunately, + # some gcc/binutils combos generate bad code when + # -ffunction-sections is enabled. Let's hope for the best. + ['OS=="solaris"', { + 'cflags': [ '-ffunction-sections', '-fdata-sections' ], + }, { + 'cflags!': [ '-ffunction-sections', '-fdata-sections' ], + }], + ], }], ['OS=="solaris"', { 'cflags': [ '-fno-omit-frame-pointer' ], |