diff --git a/debian/patches/wasm/wasm-sysroot-usr.diff b/debian/patches/wasm/wasm-sysroot-usr.diff index f24ec1fc..165de408 100644 --- a/debian/patches/wasm/wasm-sysroot-usr.diff +++ b/debian/patches/wasm/wasm-sysroot-usr.diff @@ -27,21 +27,31 @@ Index: llvm-toolchain-14-14.0.6/clang/lib/Driver/ToolChains/WebAssembly.cpp if (!DriverArgs.hasArg(options::OPT_nobuiltininc)) { SmallString<128> P(D.ResourceDir); -@@ -421,10 +423,10 @@ void WebAssembly::AddClangSystemIncludeA +@@ -419,12 +421,20 @@ void WebAssembly::AddClangSystemIncludeA + return; + } ++ // add the multiarch path on e.g. wasm32-wasi if (getTriple().getOS() != llvm::Triple::UnknownOS) { const std::string MultiarchTriple = - getMultiarchTriple(D, getTriple(), D.SysRoot); - addSystemInclude(DriverArgs, CC1Args, D.SysRoot + "/include/" + MultiarchTriple); + getMultiarchTriple(D, getTriple(), SysRoot); ++ addSystemInclude(DriverArgs, CC1Args, SysRoot + "/local/include/" + MultiarchTriple); ++ addSystemInclude(DriverArgs, CC1Args, SysRoot + "/local/include"); + addSystemInclude(DriverArgs, CC1Args, SysRoot + "/include/" + MultiarchTriple); } - addSystemInclude(DriverArgs, CC1Args, D.SysRoot + "/include"); -+ addSystemInclude(DriverArgs, CC1Args, SysRoot + "/include"); ++ ++ // also add the non-multiarch path, only on a known OS (as above), or when ++ // a sysroot is given, for backwards compatibility with the original driver ++ if (getTriple().getOS() != llvm::Triple::UnknownOS || ++ !getDriver().SysRoot.empty()) ++ addSystemInclude(DriverArgs, CC1Args, SysRoot + "/include"); } void WebAssembly::AddClangCXXStdlibIncludeArgs(const ArgList &DriverArgs, -@@ -467,3 +469,15 @@ SanitizerMask WebAssembly::getSupportedS +@@ -467,3 +477,15 @@ SanitizerMask WebAssembly::getSupportedS Tool *WebAssembly::buildLinker() const { return new tools::wasm::Linker(*this); } diff --git a/debian/rules b/debian/rules index f55a3caa..04ff3481 100755 --- a/debian/rules +++ b/debian/rules @@ -302,12 +302,6 @@ ifeq ($(LIBUNWIND_ENABLE),yes) endif endif -COMPILER_RT_WASM_ENABLE=yes - -ifneq (,$(filter $(DEB_HOST_ARCH), arm64 armel mips64el mipsel ppc64el armhf)) - COMPILER_RT_WASM_ENABLE=no -endif - # Do not install objects STAGE_ALL_CMAKE_EXTRA += -DMLIR_INSTALL_AGGREGATE_OBJECTS=OFF @@ -716,7 +710,6 @@ debian-libclc-build: touch $@ debian-rtlib-wasm-build: -ifeq (${COMPILER_RT_WASM_ENABLE},yes) echo "Using cmake: $(CMAKE_BIN)" for build in wasm32 wasm64; do \ mkdir -p build-compiler-rt-$$build; \ @@ -746,9 +739,6 @@ ifeq (${COMPILER_RT_WASM_ENABLE},yes) -DCOMPILER_RT_OS_DIR=wasi; \ ninja -C build-compiler-rt-$$build $(NJOBS) $(VERBOSE); \ done -else - echo "Skip on this arch" -endif touch $@ @@ -901,10 +891,9 @@ endif $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/build/utils/lit/lit/*/__pycache__/ DESTDIR=$(DEB_INST) ninja $(VERBOSE) -C libclc/build install -ifeq (${COMPILER_RT_WASM_ENABLE},yes) + DESTDIR=$(DEB_INST) ninja $(VERBOSE) -C build-compiler-rt-wasm32 install DESTDIR=$(DEB_INST) ninja $(VERBOSE) -C build-compiler-rt-wasm64 install -endif # Rename binaries mkdir -p $(DEB_INST)/usr/bin/