Switching on -fcommon for ASan build sandbox/vbarinov/asan
authorSlava Barinov <v.barinov@samsung.com>
Fri, 3 Jun 2016 10:50:56 +0000 (13:50 +0300)
committerSlava Barinov <v.barinov@samsung.com>
Tue, 7 Jun 2016 13:57:12 +0000 (16:57 +0300)
Signed-off-by: Slava Barinov <v.barinov@samsung.com>
build/common.gypi
common/common.gyp
extensions/extensions.gyp
packaging/crosswalk-tizen.spec
runtime/runtime.gyp
tools/gyp/pylib/gyp/generator/make.py
tools/gyp/pylib/gyp/generator/ninja.py

index 876c0fe3f68f69bea49383d7fddccb47285ef205..4ad2b84ac7d7ddfb2dc68f2d2a7834cf9a200588 100644 (file)
@@ -43,6 +43,7 @@
       '-std=c++0x',
       '-fPIC',
       '-fvisibility=hidden',
+      '-fcommon',
       '-Wall',
     ],
     'libraries' : [
index 2812f63c9fa49fc5faad1d3f8b29a3f24457f4b4..a0c596ddcbe7f9bcf09a9108cd1887f26f3e4667 100644 (file)
@@ -33,6 +33,7 @@
       ],
       'cflags': [
         '-fvisibility=default',
+        '-fcommon',
       ],
       'variables': {
         'packages': [
index c7eb0c6015659c3079b1b175690e6a0c1a9dbbb5..97ef21e58cd072d7bfa696aa9d2598ad6ad19bea 100644 (file)
@@ -41,6 +41,7 @@
       ],
       'cflags': [
         '-fvisibility=default',
+        '-fcommon',
       ],
       'variables': {
         'packages': [
index 42f2fc38193e3139387b0a843afd83879063d06e..cbeb5fba797d239dc10432de2e0ca23b8abc6351 100755 (executable)
@@ -83,6 +83,9 @@ Crosswalk Runtime and AppShell for Tizen 3.0 and later
 cp %{SOURCE1001} .
 
 %build
+export CFLAGS+=" -fcommon "
+export CXXLAGS+=" -fcommon "
+export LDFLAGS+=" -fcommon -Wl,--allow-shlib-undefined "
 export GYP_GENERATORS='ninja'
 GYP_OPTIONS="--depth=.
 -Dprofile=%{profile}"
@@ -107,7 +110,7 @@ GYP_OPTIONS="$GYP_OPTIONS -Dinjected_bundle_path=%{injected_bundle_path}"
 
 # Build
 ./tools/gyp/gyp $GYP_OPTIONS xwalk_tizen.gyp
-ninja -C out/Default %{?_smp_mflags}
+ldflags=-Wl,--allow-shlib-undefined ninja -C out/Default %{?_smp_mflags} -v
 
 %install
 
index 7d1883ef3d076936b4b9c43f766f26fb16c38abb..5ac685c5bfebfdcc058e3625d250bf4d0f7d7fc5 100755 (executable)
       ],
       'cflags': [
         '-fvisibility=default',
+        '-fcommon',
       ],
       'variables': {
         'packages': [
index 2230d634f9123b8224a1c74b0565388a511053f6..9a44e06258682505cc27d900ce54f72d76990eba 100644 (file)
@@ -1417,6 +1417,7 @@ $(obj).$(TOOLSET)/$(TARGET)/%%.o: $(obj)/%%%s FORCE_DO_CMD
             # We want to get the literal string "$ORIGIN" into the link command,
             # so we need lots of escaping.
             ldflags.append(r'-Wl,-rpath=\$$ORIGIN/lib.%s/' % self.toolset)
+            ldflags.append(r'-Wl,--allow-shlib-undefined.%s/' % self.toolset)
             ldflags.append(r'-Wl,-rpath-link=\$(builddir)/lib.%s/' %
                            self.toolset)
         self.WriteList(ldflags, 'LDFLAGS_%s' % configname)
index 619ac39754a0192d153296494c6f1e76981520fe..caf5b3fab625c11a852135d6270ac736b5e3e6cc 100644 (file)
@@ -924,6 +924,7 @@ class NinjaWriter:
           rpath += self.toolset
         ldflags.append('-Wl,-rpath=\$$ORIGIN/%s' % rpath)
         ldflags.append('-Wl,-rpath-link=%s' % rpath)
+        ldflags.append('-Wl,--allow-shlib-undefined')
     self.WriteVariableList('ldflags',
                            gyp.common.uniquer(map(self.ExpandSpecial,
                                                   ldflags)))