build: unbreak ustack on smartos
authorBen Noordhuis <info@bnoordhuis.nl>
Thu, 19 Jul 2012 16:20:34 +0000 (18:20 +0200)
committerBen Noordhuis <info@bnoordhuis.nl>
Thu, 19 Jul 2012 16:20:34 +0000 (18:20 +0200)
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.

common.gypi

index 2d8d17c..3ceedc7 100644 (file)
       },
       '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' ],