summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2018-02-16 18:24:46 +0100
committerRémi Verschelde <rverschelde@gmail.com>2018-02-16 18:48:11 +0100
commitb526088ae217de959cd395f5a74baf87552e0bbf (patch)
tree51be3c5aa7bf3558615cc6e1d7c13aaeacb63904
parentda612c324cec8c4f6bfcef9b35406ea215e699f6 (diff)
X11: Link libgcc statically with use_static_cpp option
We were already linking libstdc++ statically for official binaries, protecting us against most portability issues. But apparently since we started using GCC 7 for official builds, we also need to link libgcc statically for at least 32-bit builds to be portable. Fixes #16409.
-rw-r--r--platform/x11/detect.py6
1 files changed, 3 insertions, 3 deletions
diff --git a/platform/x11/detect.py b/platform/x11/detect.py
index c5ef82150b..da2b0701b6 100644
--- a/platform/x11/detect.py
+++ b/platform/x11/detect.py
@@ -49,7 +49,7 @@ def get_opts():
return [
BoolVariable('use_llvm', 'Use the LLVM compiler', False),
- BoolVariable('use_static_cpp', 'Link stdc++ statically', False),
+ BoolVariable('use_static_cpp', 'Link libgcc and libstdc++ statically for better portability', False),
BoolVariable('use_sanitizer', 'Use LLVM compiler address sanitizer', False),
BoolVariable('use_leak_sanitizer', 'Use LLVM compiler memory leaks sanitizer (implies use_sanitizer)', False),
BoolVariable('pulseaudio', 'Detect & use pulseaudio', True),
@@ -275,6 +275,6 @@ def configure(env):
env.Append(CPPFLAGS=['-m64'])
env.Append(LINKFLAGS=['-m64', '-L/usr/lib/i686-linux-gnu'])
-
+ # Link those statically for portability
if env['use_static_cpp']:
- env.Append(LINKFLAGS=['-static-libstdc++'])
+ env.Append(LINKFLAGS=['-static-libgcc', '-static-libstdc++'])