From bf45ecef66988408a61ea68ce43b547fa154934e Mon Sep 17 00:00:00 2001 From: Petr Hosek Date: Fri, 23 Feb 2018 20:10:14 +0000 Subject: [PATCH] [Driver] Make -fno-common default for Fuchsia We never want to generate common symbols on Fuchsia. Differential Revision: https://reviews.llvm.org/D43545 llvm-svn: 325945 --- clang/lib/Driver/ToolChains/Clang.cpp | 2 ++ clang/test/Driver/fuchsia.c | 1 + 2 files changed, 3 insertions(+) diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp index c3d032d723c9..e24164b1ce2a 100644 --- a/clang/lib/Driver/ToolChains/Clang.cpp +++ b/clang/lib/Driver/ToolChains/Clang.cpp @@ -1306,6 +1306,8 @@ static bool isSignedCharDefault(const llvm::Triple &Triple) { static bool isNoCommonDefault(const llvm::Triple &Triple) { switch (Triple.getArch()) { default: + if (Triple.isOSFuchsia()) + return true; return false; case llvm::Triple::xcore: diff --git a/clang/test/Driver/fuchsia.c b/clang/test/Driver/fuchsia.c index 72157acd011f..57dbc7372a70 100644 --- a/clang/test/Driver/fuchsia.c +++ b/clang/test/Driver/fuchsia.c @@ -10,6 +10,7 @@ // CHECK: "-fuse-init-array" // CHECK: "-isysroot" "[[SYSROOT:[^"]+]]" // CHECK: "-internal-externc-isystem" "[[SYSROOT]]{{/|\\\\}}include" +// CHECK: "-fno-common" // CHECK: {{.*}}ld.lld{{.*}}" "-z" "rodynamic" // CHECK: "--sysroot=[[SYSROOT]]" // CHECK: "-pie"