From 18de1e150199ba46ad600cc92b6c05cfa8485373 Mon Sep 17 00:00:00 2001 From: Max Desiatov Date: Sun, 10 May 2020 17:26:45 +0100 Subject: [PATCH] Driver: link only static libraries for WebAssembly --- lib/Driver/Driver.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/Driver/Driver.cpp b/lib/Driver/Driver.cpp index 4b9428e9d3de0..dcff9559f823c 100644 --- a/lib/Driver/Driver.cpp +++ b/lib/Driver/Driver.cpp @@ -1466,9 +1466,14 @@ void Driver::buildOutputInfo(const ToolChain &TC, const DerivedArgList &Args, break; case options::OPT_emit_library: - OI.LinkAction = Args.hasArg(options::OPT_static) ? - LinkKind::StaticLibrary : - LinkKind::DynamicLibrary; + // WebAssembly only supports static libraries + if (TC.getTriple().isOSBinFormatWasm()) { + OI.LinkAction = LinkKind::StaticLibrary; + } else { + OI.LinkAction = Args.hasArg(options::OPT_static) ? + LinkKind::StaticLibrary : + LinkKind::DynamicLibrary; + } OI.CompilerOutputType = file_types::TY_Object; break;