From 43411acc9009f2f1cb2b2c40d7c11b8b0113a6f3 Mon Sep 17 00:00:00 2001 From: Gianfranco Costamagna Date: Mon, 31 Aug 2020 11:28:24 +0100 Subject: [PATCH] Import llvm-toolchain-10_10.0.1-5.debian.tar.xz [dgit import tarball llvm-toolchain-10 1:10.0.1-5 llvm-toolchain-10_10.0.1-5.debian.tar.xz] --- NEWS | 25 + README | 111 + README.source | 39 + TODO | 14 + changelog | 3817 +++++++++++++++++ clang-X.Y-doc.docs.in | 2 + clang-X.Y-doc.install.in | 3 + clang-X.Y-examples.examples.in | 1 + clang-X.Y.install.in | 12 + clang-X.Y.links.in | 3 + clang-X.Y.lintian-overrides.in | 4 + clang-X.Y.manpages.in | 1 + clang-format-X.Y.install.in | 10 + clang-format-X.Y.lintian-overrides.in | 4 + clang-format-X.Y.manpages.in | 3 + clang-tidy-X.Y.install.in | 5 + clang-tidy-X.Y.links.in | 4 + clang-tidy-X.Y.lintian-overrides.in | 3 + clang-tidy-X.Y.manpages.in | 1 + clang-tools-X.Y.install.in | 69 + clang-tools-X.Y.links.in | 4 + clang-tools-X.Y.lintian-overrides.in | 6 + clang-tools-X.Y.manpages.in | 11 + clangd-X.Y.install.in | 3 + clangd-X.Y.manpages.in | 1 + compat | 1 + control | 667 +++ copyright | 123 + debian_path.h | 16 + libc++-X.Y-dev.install.in | 3 + libc++-X.Y-dev.links.in | 2 + libc++-X.Y-dev.lintian-overrides.in | 2 + libc++1-X.Y.install.in | 1 + libc++1-X.Y.links.in | 2 + libc++1-X.Y.lintian-overrides.in | 1 + libc++abi-X.Y-dev.install.in | 3 + libc++abi-X.Y-dev.links.in | 1 + libc++abi-X.Y-dev.lintian-overrides.in | 1 + libc++abi1-X.Y.install.in | 1 + libc++abi1-X.Y.links.in | 2 + libc++abi1-X.Y.lintian-overrides.in | 1 + libclang-X.Y-dev.install.in | 6 + libclang-X.Y-dev.links.in | 3 + libclang-common-X.Y-dev.install.in | 9 + libclang-common-X.Y-dev.links.in | 7 + libclang-cppX.Y-dev.install.in | 1 + libclang-cppX.Y-dev.links.in | 2 + libclang-cppX.Y.install.in | 1 + libclang-cppX.Y.links.in | 1 + libclang1-X.Y.install.in | 2 + libclang1-X.Y.links.in | 3 + libclang1-X.Y.lintian-overrides.in | 5 + libclang1-X.Y.symbols.in | 385 ++ liblld-X.Y-dev.install.in | 2 + liblld-X.Y.install.in | 11 + liblld-X.Y.links.in | 3 + liblldb-X.Y-dev.install.in | 3 + liblldb-X.Y-dev.links.in | 3 + liblldb-X.Y.install.in | 3 + liblldb-X.Y.links.in | 2 + liblldb-X.Y.lintian-overrides.in | 5 + libllvm-X.Y-ocaml-dev.META.in | 63 + libllvm-X.Y-ocaml-dev.dirs.in | 2 + libllvm-X.Y-ocaml-dev.install.in | 2 + libllvm-X.Y-ocaml-dev.lintian-overrides.in | 2 + libllvmX.Y.install.in | 1 + libllvmX.Y.links.in | 4 + libllvmX.Y.lintian-overrides.in | 2 + libomp-X.Y-dev.install.in | 8 + libomp-X.Y-dev.links.in | 3 + libomp-X.Y-doc.docs.in | 1 + libomp-X.Y.links.in | 1 + libomp5-X.Y.install.in | 1 + libomp5-X.Y.links.in | 3 + libomp5-X.Y.lintian-overrides.in | 1 + libomp5-X.Y.symbols.in | 1222 ++++++ lld-X.Y.install.in | 11 + lld-X.Y.manpages.in | 1 + lldb-X.Y.install.in | 9 + lldb-X.Y.links.in | 2 + lldb-X.Y.lintian-overrides.in | 3 + lldb-X.Y.manpages.in | 1 + lldb-X.Y.postinst.in | 8 + llvm-X.Y-dev.dirs.in | 5 + llvm-X.Y-dev.install.in | 31 + llvm-X.Y-dev.links.in | 19 + llvm-X.Y-doc.dirs.in | 1 + llvm-X.Y-doc.install.in | 6 + llvm-X.Y-examples.dirs.in | 1 + llvm-X.Y-examples.examples.in | 1 + llvm-X.Y-examples.links.in | 3 + llvm-X.Y-runtime.binfmt.in | 3 + llvm-X.Y-runtime.install.in | 8 + llvm-X.Y-runtime.lintian-overrides.in | 1 + llvm-X.Y-runtime.manpages.in | 1 + llvm-X.Y-runtime.postinst.in | 11 + llvm-X.Y-runtime.prerm.in | 18 + llvm-X.Y-tools.dirs.in | 2 + llvm-X.Y-tools.install.in | 19 + llvm-X.Y.dirs.in | 3 + llvm-X.Y.install.in | 18 + llvm-X.Y.lintian-overrides.in | 12 + llvm-X.Y.manpages.in | 8 + llvm-priv-dev.dirs | 1 + orig-tar.sh | 183 + ...resolve-symlinks-in-LLVMConfig.cmake.patch | 31 + ...nfiguring-default-SYSTEMZ_DEFAULT_AR.patch | 39 + ...esolve-symlinks-in-ClangConfig.cmake.patch | 31 + ...03-Debian-version-info-and-bugreport.patch | 19 + patches/0044-soname.diff | 31 + ...-html_static_path-_static-everywhere.patch | 50 + ...e-Debian-provided-MathJax-everywhere.patch | 109 + patches/19-clang_debian_version.patch | 21 + .../23-strlcpy_strlcat_warning_removed.diff | 211 + patches/26-set-correct-float-abi.diff | 33 + patches/930008-arm.diff | 13 + patches/D67877.patch | 38 + patches/atomic_library_1.diff | 25 + patches/bootstrap-fix-include-next.diff | 41 + patches/clang-analyzer-force-version.diff | 25 + .../clang-arm-default-vfp3-on-armv7a.patch | 27 + patches/clang-baseline-fix-i386.patch | 15 + patches/clang-format-version.diff | 45 + patches/clang-tidy-run-bin.diff | 17 + patches/clang_vendor_pass_stage2.diff | 20 + patches/clangd-atomic-cmake.patch | 16 + patches/debug-jit-path.diff | 15 + patches/declare_clear_cache.diff | 17 + ...isable-display-PASS-UNSUPPORTED-XFAIL.diff | 17 + patches/disable-error-xray.diff | 13 + patches/disable-fuzzer-compiler-rt-x86.diff | 30 + patches/disable-lit-cpuid-install.diff | 10 + patches/disable-llvm-symbolizer-test.diff | 25 + patches/disable-path-test-failing.diff | 29 + patches/disable-sse2-old-x86.diff | 13 + patches/do-not-fail-on-unexpected-pass.diff | 13 + patches/fix-clang-path-and-build.diff | 33 + patches/fix-llvm-config-obj-src-root.patch | 20 + patches/fix-scan-view-path.diff | 21 + patches/hurd/hurd-EIEIO-undef.diff | 14 + patches/hurd/hurd-cxx-paths.diff | 201 + patches/hurd/hurd-pathmax.diff | 49 + patches/install-scan-build-py.diff | 16 + patches/kfreebsd/CMakeLists.txt.diff | 13 + patches/kfreebsd/clang_lib_Basic_Targets.diff | 48 + patches/kfreebsd/compiler-rt_lib.diff | 374 ++ .../kfreebsd/include_llvm_ADT_Triple.h.diff | 33 + .../kfreebsd-libcxx-threads-detection.diff | 12 + patches/kfreebsd/kfreebsd-openmp.diff | 129 + patches/kfreebsd/kfreebsd-threads-build.diff | 13 + patches/kfreebsd/kfreebsd-triple-clang.diff | 615 +++ patches/kfreebsd/kfreebsd-triple.diff | 23 + patches/kfreebsd/lib_Support.diff | 35 + patches/kfreebsd/lib_Target_X86.diff | 26 + .../lldb_source_Host_freebsd_Host.cpp.diff | 18 + .../lldb_source_Plugins_Process_FreeBSD.diff | 28 + .../tools_llvm-shlib_CMakeLists.txt.diff | 12 + patches/libcxx/libcxx-riscv64-cycletimer.diff | 81 + .../libcxx/libcxx-silent-failure-arm64.diff | 25 + .../libcxx/libcxx-silent-failure-ppc64el.diff | 13 + patches/libcxx/libcxx-silent-test-libcxx.diff | 51 + ...exchange-to-be-expected-fails-on-arm.patch | 58 + ...bcxx-test-fix-lockfree-test-for-i386.patch | 31 + patches/libcxx/libcxxabi-arm-ehabi-fix.patch | 118 + ...test-don-t-fail-extended-long-double.patch | 17 + patches/lldb-libname.diff | 17 + patches/lldb-soname.diff | 43 + ...ddversion-suffix-to-llvm-server-exec.patch | 35 + patches/lldb/lldb-disable-swig-error.diff | 13 + patches/lldb/lldb-link-atomic-cmake.patch | 26 + patches/lldb/lldb-missing-install.diff | 23 + patches/mips-force-nomadd4.patch | 92 + patches/mips-fpxx-enable.diff | 17 + patches/no-cgi.patch | 44 + patches/no-z3.patch | 47 + patches/openmp-soname.diff | 14 + ...ap-with-openmp-version-export-missing.diff | 14 + patches/openmp/openmp-check-execstack.diff | 14 + patches/openmp/openmp-mips-affinity.patch | 56 + .../powerpcspe/D49754-powerpcspe-clang.diff | 164 + .../D54583-powerpcspe-double-parameter.diff | 420 ++ .../D56703-powerpcspe-register-spilling.diff | 137 + patches/print-lldb-path.patch | 14 + patches/python-clangpath.diff | 17 + patches/python3-shebang.patch | 1412 ++++++ patches/remove-apple-clang-manpage.diff | 38 + patches/remove-test-freezing.diff | 34 + patches/remove-trailing-space-version.diff | 34 + patches/risc/clang-riscv64-multiarch.diff | 34 + patches/risc/riscv64-multilib-empty.patch | 57 + patches/scan-build-clang-path.diff | 17 + patches/scan-view-fix-path.diff | 13 + patches/series | 149 + patches/silent-MCJIIT-tests.diff | 190 + patches/silent-amd-tet.diff | 11 + patches/silent-gold-test.diff | 38 + patches/silent-gold-utils.diff | 190 + patches/silent-llvm-isel-fuzzer.diff | 24 + patches/silent-more-tests.diff | 35 + patches/silent-test-failing-codeverage.diff | 13 + patches/silent-test-macho.diff | 14 + patches/symbolizer-path.diff | 24 + patches/test-keep-alive.diff | 21 + patches/ubuntu-groovy.diff | 29 + patches/unwind-chain-inclusion.diff | 43 + patches/workaround-bug-42994-use-linker.diff | 34 + pollycc.in | 3 + prepare-new-release.sh | 19 + python3-clang-X.Y.install.in | 1 + python3-lldb-X.Y.install.in | 1 + python3-lldb-X.Y.links.in | 4 + qualify-clang.sh | 1343 ++++++ rules | 883 ++++ source/format | 1 + source/lintian-overrides | 21 + tests/cmake-test | 37 + tests/control | 19 + tests/integration-test-suite-test | 39 + unpack.sh | 26 + watch | 3 + 220 files changed, 16373 insertions(+) create mode 100644 NEWS create mode 100644 README create mode 100644 README.source create mode 100644 TODO create mode 100644 changelog create mode 100644 clang-X.Y-doc.docs.in create mode 100644 clang-X.Y-doc.install.in create mode 100644 clang-X.Y-examples.examples.in create mode 100644 clang-X.Y.install.in create mode 100644 clang-X.Y.links.in create mode 100644 clang-X.Y.lintian-overrides.in create mode 100644 clang-X.Y.manpages.in create mode 100644 clang-format-X.Y.install.in create mode 100644 clang-format-X.Y.lintian-overrides.in create mode 100644 clang-format-X.Y.manpages.in create mode 100644 clang-tidy-X.Y.install.in create mode 100644 clang-tidy-X.Y.links.in create mode 100644 clang-tidy-X.Y.lintian-overrides.in create mode 100644 clang-tidy-X.Y.manpages.in create mode 100644 clang-tools-X.Y.install.in create mode 100644 clang-tools-X.Y.links.in create mode 100644 clang-tools-X.Y.lintian-overrides.in create mode 100644 clang-tools-X.Y.manpages.in create mode 100644 clangd-X.Y.install.in create mode 100644 clangd-X.Y.manpages.in create mode 100644 compat create mode 100644 control create mode 100644 copyright create mode 100644 debian_path.h create mode 100644 libc++-X.Y-dev.install.in create mode 100644 libc++-X.Y-dev.links.in create mode 100644 libc++-X.Y-dev.lintian-overrides.in create mode 100644 libc++1-X.Y.install.in create mode 100644 libc++1-X.Y.links.in create mode 100644 libc++1-X.Y.lintian-overrides.in create mode 100644 libc++abi-X.Y-dev.install.in create mode 100644 libc++abi-X.Y-dev.links.in create mode 100644 libc++abi-X.Y-dev.lintian-overrides.in create mode 100644 libc++abi1-X.Y.install.in create mode 100644 libc++abi1-X.Y.links.in create mode 100644 libc++abi1-X.Y.lintian-overrides.in create mode 100644 libclang-X.Y-dev.install.in create mode 100644 libclang-X.Y-dev.links.in create mode 100644 libclang-common-X.Y-dev.install.in create mode 100644 libclang-common-X.Y-dev.links.in create mode 100644 libclang-cppX.Y-dev.install.in create mode 100644 libclang-cppX.Y-dev.links.in create mode 100644 libclang-cppX.Y.install.in create mode 100644 libclang-cppX.Y.links.in create mode 100644 libclang1-X.Y.install.in create mode 100644 libclang1-X.Y.links.in create mode 100644 libclang1-X.Y.lintian-overrides.in create mode 100644 libclang1-X.Y.symbols.in create mode 100644 liblld-X.Y-dev.install.in create mode 100644 liblld-X.Y.install.in create mode 100644 liblld-X.Y.links.in create mode 100644 liblldb-X.Y-dev.install.in create mode 100644 liblldb-X.Y-dev.links.in create mode 100644 liblldb-X.Y.install.in create mode 100644 liblldb-X.Y.links.in create mode 100644 liblldb-X.Y.lintian-overrides.in create mode 100644 libllvm-X.Y-ocaml-dev.META.in create mode 100644 libllvm-X.Y-ocaml-dev.dirs.in create mode 100644 libllvm-X.Y-ocaml-dev.install.in create mode 100644 libllvm-X.Y-ocaml-dev.lintian-overrides.in create mode 100644 libllvmX.Y.install.in create mode 100644 libllvmX.Y.links.in create mode 100644 libllvmX.Y.lintian-overrides.in create mode 100644 libomp-X.Y-dev.install.in create mode 100644 libomp-X.Y-dev.links.in create mode 100644 libomp-X.Y-doc.docs.in create mode 100644 libomp-X.Y.links.in create mode 100644 libomp5-X.Y.install.in create mode 100644 libomp5-X.Y.links.in create mode 100644 libomp5-X.Y.lintian-overrides.in create mode 100644 libomp5-X.Y.symbols.in create mode 100644 lld-X.Y.install.in create mode 100644 lld-X.Y.manpages.in create mode 100644 lldb-X.Y.install.in create mode 100644 lldb-X.Y.links.in create mode 100644 lldb-X.Y.lintian-overrides.in create mode 100644 lldb-X.Y.manpages.in create mode 100644 lldb-X.Y.postinst.in create mode 100644 llvm-X.Y-dev.dirs.in create mode 100644 llvm-X.Y-dev.install.in create mode 100644 llvm-X.Y-dev.links.in create mode 100644 llvm-X.Y-doc.dirs.in create mode 100644 llvm-X.Y-doc.install.in create mode 100644 llvm-X.Y-examples.dirs.in create mode 100644 llvm-X.Y-examples.examples.in create mode 100644 llvm-X.Y-examples.links.in create mode 100644 llvm-X.Y-runtime.binfmt.in create mode 100644 llvm-X.Y-runtime.install.in create mode 100644 llvm-X.Y-runtime.lintian-overrides.in create mode 100644 llvm-X.Y-runtime.manpages.in create mode 100644 llvm-X.Y-runtime.postinst.in create mode 100644 llvm-X.Y-runtime.prerm.in create mode 100644 llvm-X.Y-tools.dirs.in create mode 100644 llvm-X.Y-tools.install.in create mode 100644 llvm-X.Y.dirs.in create mode 100644 llvm-X.Y.install.in create mode 100644 llvm-X.Y.lintian-overrides.in create mode 100644 llvm-X.Y.manpages.in create mode 100644 llvm-priv-dev.dirs create mode 100755 orig-tar.sh create mode 100644 patches/0001-llvm-cmake-resolve-symlinks-in-LLVMConfig.cmake.patch create mode 100644 patches/0001-systemz-allow-configuring-default-SYSTEMZ_DEFAULT_AR.patch create mode 100644 patches/0001-tools-clang-cmake-resolve-symlinks-in-ClangConfig.cmake.patch create mode 100644 patches/0003-Debian-version-info-and-bugreport.patch create mode 100644 patches/0044-soname.diff create mode 100644 patches/0048-Set-html_static_path-_static-everywhere.patch create mode 100644 patches/0049-Use-Debian-provided-MathJax-everywhere.patch create mode 100644 patches/19-clang_debian_version.patch create mode 100644 patches/23-strlcpy_strlcat_warning_removed.diff create mode 100644 patches/26-set-correct-float-abi.diff create mode 100644 patches/930008-arm.diff create mode 100644 patches/D67877.patch create mode 100644 patches/atomic_library_1.diff create mode 100644 patches/bootstrap-fix-include-next.diff create mode 100644 patches/clang-analyzer-force-version.diff create mode 100644 patches/clang-arm-default-vfp3-on-armv7a.patch create mode 100644 patches/clang-baseline-fix-i386.patch create mode 100644 patches/clang-format-version.diff create mode 100644 patches/clang-tidy-run-bin.diff create mode 100644 patches/clang_vendor_pass_stage2.diff create mode 100644 patches/clangd-atomic-cmake.patch create mode 100644 patches/debug-jit-path.diff create mode 100644 patches/declare_clear_cache.diff create mode 100644 patches/disable-display-PASS-UNSUPPORTED-XFAIL.diff create mode 100644 patches/disable-error-xray.diff create mode 100644 patches/disable-fuzzer-compiler-rt-x86.diff create mode 100644 patches/disable-lit-cpuid-install.diff create mode 100644 patches/disable-llvm-symbolizer-test.diff create mode 100644 patches/disable-path-test-failing.diff create mode 100644 patches/disable-sse2-old-x86.diff create mode 100644 patches/do-not-fail-on-unexpected-pass.diff create mode 100644 patches/fix-clang-path-and-build.diff create mode 100644 patches/fix-llvm-config-obj-src-root.patch create mode 100644 patches/fix-scan-view-path.diff create mode 100644 patches/hurd/hurd-EIEIO-undef.diff create mode 100644 patches/hurd/hurd-cxx-paths.diff create mode 100644 patches/hurd/hurd-pathmax.diff create mode 100644 patches/install-scan-build-py.diff create mode 100644 patches/kfreebsd/CMakeLists.txt.diff create mode 100644 patches/kfreebsd/clang_lib_Basic_Targets.diff create mode 100644 patches/kfreebsd/compiler-rt_lib.diff create mode 100644 patches/kfreebsd/include_llvm_ADT_Triple.h.diff create mode 100644 patches/kfreebsd/kfreebsd-libcxx-threads-detection.diff create mode 100644 patches/kfreebsd/kfreebsd-openmp.diff create mode 100644 patches/kfreebsd/kfreebsd-threads-build.diff create mode 100644 patches/kfreebsd/kfreebsd-triple-clang.diff create mode 100644 patches/kfreebsd/kfreebsd-triple.diff create mode 100644 patches/kfreebsd/lib_Support.diff create mode 100644 patches/kfreebsd/lib_Target_X86.diff create mode 100644 patches/kfreebsd/lldb_source_Host_freebsd_Host.cpp.diff create mode 100644 patches/kfreebsd/lldb_source_Plugins_Process_FreeBSD.diff create mode 100644 patches/kfreebsd/tools_llvm-shlib_CMakeLists.txt.diff create mode 100644 patches/libcxx/libcxx-riscv64-cycletimer.diff create mode 100644 patches/libcxx/libcxx-silent-failure-arm64.diff create mode 100644 patches/libcxx/libcxx-silent-failure-ppc64el.diff create mode 100644 patches/libcxx/libcxx-silent-test-libcxx.diff create mode 100644 patches/libcxx/libcxx-test-atomics-set-compare-exchange-to-be-expected-fails-on-arm.patch create mode 100644 patches/libcxx/libcxx-test-fix-lockfree-test-for-i386.patch create mode 100644 patches/libcxx/libcxxabi-arm-ehabi-fix.patch create mode 100644 patches/libcxx/libcxxabi-test-don-t-fail-extended-long-double.patch create mode 100644 patches/lldb-libname.diff create mode 100644 patches/lldb-soname.diff create mode 100644 patches/lldb/lldb-addversion-suffix-to-llvm-server-exec.patch create mode 100644 patches/lldb/lldb-disable-swig-error.diff create mode 100644 patches/lldb/lldb-link-atomic-cmake.patch create mode 100644 patches/lldb/lldb-missing-install.diff create mode 100644 patches/mips-force-nomadd4.patch create mode 100644 patches/mips-fpxx-enable.diff create mode 100644 patches/no-cgi.patch create mode 100644 patches/no-z3.patch create mode 100644 patches/openmp-soname.diff create mode 100644 patches/openmp/bootstrap-with-openmp-version-export-missing.diff create mode 100644 patches/openmp/openmp-check-execstack.diff create mode 100644 patches/openmp/openmp-mips-affinity.patch create mode 100644 patches/powerpcspe/D49754-powerpcspe-clang.diff create mode 100644 patches/powerpcspe/D54583-powerpcspe-double-parameter.diff create mode 100644 patches/powerpcspe/D56703-powerpcspe-register-spilling.diff create mode 100644 patches/print-lldb-path.patch create mode 100644 patches/python-clangpath.diff create mode 100644 patches/python3-shebang.patch create mode 100644 patches/remove-apple-clang-manpage.diff create mode 100644 patches/remove-test-freezing.diff create mode 100644 patches/remove-trailing-space-version.diff create mode 100644 patches/risc/clang-riscv64-multiarch.diff create mode 100644 patches/risc/riscv64-multilib-empty.patch create mode 100644 patches/scan-build-clang-path.diff create mode 100644 patches/scan-view-fix-path.diff create mode 100644 patches/series create mode 100644 patches/silent-MCJIIT-tests.diff create mode 100644 patches/silent-amd-tet.diff create mode 100644 patches/silent-gold-test.diff create mode 100644 patches/silent-gold-utils.diff create mode 100644 patches/silent-llvm-isel-fuzzer.diff create mode 100644 patches/silent-more-tests.diff create mode 100644 patches/silent-test-failing-codeverage.diff create mode 100644 patches/silent-test-macho.diff create mode 100644 patches/symbolizer-path.diff create mode 100644 patches/test-keep-alive.diff create mode 100644 patches/ubuntu-groovy.diff create mode 100644 patches/unwind-chain-inclusion.diff create mode 100644 patches/workaround-bug-42994-use-linker.diff create mode 100755 pollycc.in create mode 100644 prepare-new-release.sh create mode 100644 python3-clang-X.Y.install.in create mode 100644 python3-lldb-X.Y.install.in create mode 100644 python3-lldb-X.Y.links.in create mode 100755 qualify-clang.sh create mode 100755 rules create mode 100644 source/format create mode 100644 source/lintian-overrides create mode 100755 tests/cmake-test create mode 100644 tests/control create mode 100755 tests/integration-test-suite-test create mode 100644 unpack.sh create mode 100644 watch diff --git a/NEWS b/NEWS new file mode 100644 index 000000000..edd628b74 --- /dev/null +++ b/NEWS @@ -0,0 +1,25 @@ +llvm-toolchain-7 (1:7.0.1-1) unstable; urgency=medium + + * llvm-toolchain packages are built using clang itself (stage2) + - stage1 = build clang with gcc + - stage2 = clang building itself + This could lead to some unexpected (but rare) ABI issues. + + -- Sylvestre Ledru Fri, 16 Nov 2018 13:00:39 +0100 + +llvm-toolchain-7 (1:7-1) unstable; urgency=medium + + * From version 7, llvm-toolchain also provides libc++, libc++abi + and OpenMP packages. Non-coinstallable on purpose. + * Packages, binaries and libraries have been renamed. + Instead of the X.Y naming, we moved to X to match the + naming from upstream. + As example, clang version 7 is named clang-7 (unlike clang-6.0) + + -- Sylvestre Ledru Wed, 17 Jan 2018 10:50:39 +0100 + +llvm-toolchain-snapshot (1:3.6~svn214630-1~exp1) experimental; urgency=medium + + * clang is now co-instalable. Available on version 3.4, 3.5 and 3.6 + + -- Sylvestre Ledru Sat, 02 Aug 2014 12:57:41 +0200 diff --git a/README b/README new file mode 100644 index 000000000..7e86a204c --- /dev/null +++ b/README @@ -0,0 +1,111 @@ +Organization of the repository +============================== + +The debian package for each LLVM point release is maintained as a git branch. +For example, the 10 release lives at in the "10" branch. + +The current snapshot release is maintained in the "snapshot" branch. + +The easiest way to get all branches is probably to have one +clone per version: + +for f in 8 9 10 snapshot; do + git clone git@salsa.debian.org:pkg-llvm-team/llvm-toolchain.git -b $f $f +done + +Steps for manually building a snapshot release +============================================== + +1) Retrieve the latest snapshot and create original tarballs. + + Run the orig-tar.sh script, + + $ sh snapshot/debian/orig-tar.sh + + which will retrieve the latest version for each LLVM subproject (llvm, + clang, lldb, etc.) from the main development (upstream github). and repack it + as a set of tarballs. + +2) Unpack the original tarballs and apply quilt debian patches. + + From the branches/ directory run the unpack.sh script, + + $ sh unpack.sh + + which will unpack the source tree inside a new directory such as + branches/llvm-toolchain-snapshot_3.9~+20191018225217+3b113a2be6d. + (date+hour+short git hash). + Depending on the current snapshot version number and git release, + the directory name will be + different. + + Quilt patches will then be applied. + +3) Build the binary packages using, + + $ fakeroot debian/rules binary + +When debugging, successive builds can be recompiled faster by using tools such +as ccache (PATH=/usr/lib/ccache:$PATH fakeroot debian/rules binary). + +Retrieving a specific branch or release candidate with orig-tar.sh +================================================================== + +When using orig-tar.sh, if you need to retrieve a specific branch, you can pass +the branch name as the first argument. For example, to get the 10 release +branch at + https://github.com/llvm/llvm-project/branches +you should use, + + $ sh 10/debian/orig-tar.sh release/10.x + +To retrieve a specific release candidate, you can pass the branch name as the +first argument, and the tag rc number as the second argument. For example, to +get the 9.0.1 release candidate rc3 at + https://github.com/llvm/llvm-project/tags +you should use, + + $ sh 10/debian/orig-tar.sh 10.0.1 rc3 + +For a stable release, the syntax is: + + $ sh 10/debian/orig-tar.sh 10.0.0 + + +Additional maintainer scripts +============================= + +The script qualify-clang.sh that is found at the git debian/ directory +should be used to quickly test a newly built package. It runs a short +set of sanity-check tests and regression tests. + +The script releases/snapshot/debian/prepare-new-release.sh is used when +preparing a new point release. It automatically replaces version numbers +in various files of the package. + +Making a change to all versions +=============================== + +Sometimes, we want to make a change on all branches. +In that case, start to make the change from the older +version (example: 8), then, change branch (example: 9) and +$ git merge origin/8 +to retrieve the changes + + +Change in major upstream version +================================ +TODO update with the git commands + +$ svn copy snapshot VERSION +$ svn commit -m "VERSION branched" VERSION +$ cd VERSION +$ sed -i -e '0,/llvm-toolchain-snapshot/s/llvm-toolchain-snapshot/llvm-toolchain-VERSION/' debian/changelog debian/control +$ svn commit -m "snapshot => VERSION" +$ cd ../snapshot +$ emacs debian/prepare-new-release.sh +# Change the version +$ bash debian/prepare-new-release.sh +$ svn commit -m "new snapshot release" + +Now, try build build it. diff --git a/README.source b/README.source new file mode 100644 index 000000000..3e2e1ad7b --- /dev/null +++ b/README.source @@ -0,0 +1,39 @@ +All programs and libraries shipped in this package are trying to stay as close +as possible from upstream. + +However, because of the objectives of Debian, besides paths, some changes are +made. + += File names = + +* To make sure that most of the llvm-toolchain packages are co-installable, +files are installed in /usr/lib/llvm-X/ +and symlinks are managed by the other package llvm-defaults + + += CPU extensions = + +* For x86, SSE2 extensions are disabled (and the target CPU is i686 instead of + pentium4). + +* For armel, uses float ABI instead of hard. + +* For armv7-a, NEON extensions are disabled. + +* For mips, FPXX is enabled. + +* For riscv64, the hard-float ABI is used instead of the float one, and + the target CPU is set to RV64GC instead of RV64I. + +* For s390x: set default abi to z196 for debian, and z13 for ubuntu. + See https://bugs.launchpad.net/ubuntu/+source/llvm-toolchain-10/+bug/1864226 + += Libraries = + +* sonames are created + +* Build-ID are enabled + + + -- Sylvestre Ledru , Mon, 30 Mar 2020 11:08:10 +0200 + diff --git a/TODO b/TODO new file mode 100644 index 000000000..b0f378d5b --- /dev/null +++ b/TODO @@ -0,0 +1,14 @@ +* package utils/creduce-clang-crash.py + +* add the support of libclang in llvm default (for now, it is +called libclang1-3.3.so) + +* move the header at the right place in libclang-dev + +* In 1:7.0.1~+rc2-5, we did: + * Fix a baseline violation on armhf (Closes: #914268) + clang-arm-default-vfp3-on-armv7a.patch has been updated to disable + neon in another place +It caused 200+ tests to fail on arm: +https://buildd.debian.org/status/fetch.php?pkg=llvm-toolchain-7&arch=amd64&ver=1%3A7.0.1%7E%2Brc2-4&stamp=1542503855&raw=0 +https://buildd.debian.org/status/fetch.php?pkg=llvm-toolchain-7&arch=amd64&ver=1%3A7.0.1%7E%2Brc2-5&stamp=1542863723&raw=0 diff --git a/changelog b/changelog new file mode 100644 index 000000000..eab252107 --- /dev/null +++ b/changelog @@ -0,0 +1,3817 @@ +llvm-toolchain-10 (1:10.0.1-5) unstable; urgency=medium + + [ John Paul Adrian Glaubitz ] + * Use dh-exec to exclude lib/libPolly*.a on powerpc and + powerpcspe from libclang-common-X.Y-dev.install.in + + [ Gianfranco Costamagna ] + * autopkgtests: ignore binfmts enable command return value. + + -- Gianfranco Costamagna Mon, 31 Aug 2020 12:28:24 +0200 + +llvm-toolchain-10 (1:10.0.1-4) unstable; urgency=medium + + * Fix testsuite by ignoring binfmts test + (can't be enabled on autopkgtests) + + -- Gianfranco Costamagna Fri, 28 Aug 2020 21:54:05 +0200 + +llvm-toolchain-10 (1:10.0.1-3) unstable; urgency=medium + + * Fix testsuite by enabling binfmts support before using it + (the default is disabled) + + -- Gianfranco Costamagna Thu, 27 Aug 2020 12:42:20 +0200 + +llvm-toolchain-10 (1:10.0.1-2) unstable; urgency=medium + + [ Samuel Thibault ] + * patches/hurd/hurd-cxx-paths.diff: Refresh, some of the factorization was + backported from 11 to 10. + + [ Gianfranco Costamagna ] + * debian/patches/mips-force-nomadd4.patch: Apply and rebase patch to disable + nomadd4 on mips* (Closes: #964989) + - thanks Yunqiang Su for the patch + + [ Steve Langasek ] + * Drop ocaml support on i386, which pulls in a series of packages which + is not reasonable to support. + + -- Gianfranco Costamagna Sun, 23 Aug 2020 22:57:55 +0200 + +llvm-toolchain-10 (1:10.0.1-1) unstable; urgency=medium + + * New release + + -- Sylvestre Ledru Tue, 21 Jul 2020 18:29:06 +0200 + +llvm-toolchain-10 (1:10.0.1~+rc4-1) unstable; urgency=medium + + * New RC release (of course, I was wrong) + * Update the binfmt-support postinstall to match what is done elsewhere + in Debian + * Add binfmt-support to one of the autopkgtest tests + And make sure that the test is only executed when installed correctly + Otherwise, fails with + "./foo.bc: cannot execute binary file: Exec format error" + * patches/remove-trailing-space-version.diff: cherry-pick an upstream patch + to address https://bugs.llvm.org/show_bug.cgi?id=38998#c15 + trailing whitespace of clang full version causing a display issue + when building the linux kernel with clang + + -- Sylvestre Ledru Wed, 08 Jul 2020 10:49:26 +0200 + +llvm-toolchain-10 (1:10.0.1~+rc3-1) unstable; urgency=medium + + * New rc release. Should be the last (this is why I am + uploading to unstable) + * Ship with integration-test-suite-test and run it with autopkgtest + integration-test-suite-test is a project started by Serge Guelton + and myself. + The goal is to provide a set of tests to verify that llvm/clang/etc + are working as expected in a distro (Linux, BSD, etc). + But also to bring a set of expectations of what a LLVM toolchain should + looks like when shipping to users. + Serge is taking care of that work for Fedora/Redhat. + + -- Sylvestre Ledru Tue, 07 Jul 2020 09:44:59 +0200 + +llvm-toolchain-10 (1:10.0.1~+rc2-1~exp1) experimental; urgency=medium + + * New rc release + * Pass CLANG_VENDOR to CLANG_BOOTSTRAP_PASSTHROUGH + Fix https://bugs.llvm.org/show_bug.cgi?id=38998 + For our friends of https://github.com/ClangBuiltLinux/ + * remove try-to-fix-polly-link.patch and D74453-riscv-atomic_cmp_xchg.diff + (applied upstream) + + -- Sylvestre Ledru Sat, 27 Jun 2020 11:28:28 +0200 + +llvm-toolchain-10 (1:10.0.1~+rc1-1~exp1) experimental; urgency=medium + + [ Sylvestre Ledru ] + * first rc of 10.0.1 + * Enable LLVM_ENABLE_DUMP (Closes: #956966) + * Move binfmt-support as Recommends llvm-10-runtime + instead of a strong dependencies (Closes: #958127) + * build libc++ with -DLIBCXX_USE_COMPILER_RT=YES + and -DLIBCXXABI_USE_COMPILER_RT=YES + * Remove D76596.diff (merged upstream) + + [ Gianfranco Costamagna ] + * Don't run tests on riscv64/Ubuntu for now, the virtual machines timeout + during testsuite (probably lack of proper capable hardware to run it) + + -- Sylvestre Ledru Tue, 19 May 2020 08:17:26 +0200 + +llvm-toolchain-10 (1:10.0.0-4) unstable; urgency=medium + + * Also ship polly libs in libclang-common-10-dev. + Fixes bug #44870 (upstream) + * move risc patches into their own directory + + -- Sylvestre Ledru Fri, 10 Apr 2020 10:27:41 +0200 + +llvm-toolchain-10 (1:10.0.0-3) unstable; urgency=medium + + * ppc64el/autopkgtest: Just like with arm64, ignore two tests + * Update the copyright file with recent changes (Closes: #956287) + Thanks to Michael Lustfield for the detective work + + [ Jessica Clarke ] + * Cherry-pick upstream patch D74453 to fix atomic compare-and-swap on + riscv64. + + [ William Grant ] + * debian/patches/riscv64-multilib-empty.patch: Adjust riscv64 GCC detector + to also check for existence of crtbegin.o in the default multilib dir, + like most other ports. Fixes FTBFS on riscv64, since on Ubuntu + /usr/lib/gcc/riscv64-linux-gnu/10 exists but is empty (gcc-10-base is + installed, but libgcc-10-dev is not). + + -- Sylvestre Ledru Thu, 02 Apr 2020 21:48:13 +0200 + +llvm-toolchain-10 (1:10.0.0-2) unstable; urgency=medium + + [ Dimitri John Ledkov ] + * s390x: set default abi to z196 for debian, and z13 for ubuntu. + LP: #1864226 + + [ Matthias Klose ] + * Apply D76596.diff, proposed backport from the trunk. LP: #1867173. + This was causing postgresql to FTBFS with llvm 10 + + -- Gianfranco Costamagna Fri, 27 Mar 2020 05:16:28 +0100 + +llvm-toolchain-10 (1:10.0.0-1) unstable; urgency=medium + + * New release + + -- Sylvestre Ledru Tue, 24 Mar 2020 17:37:07 +0100 + +llvm-toolchain-10 (1:10.0.0~+rc6-1) unstable; urgency=medium + + [ Sylvestre Ledru ] + * Sixth RC release + * Really fix the arm64 autopkgtest + + [ Gianfranco Costamagna ] + * debian/patches/d21664cce1db8debe2528f36b1fbd2b8af9c9401.patch: + - cherry-pick upstream commit to hopefully unbreak mesa builds + + -- Sylvestre Ledru Mon, 23 Mar 2020 20:39:36 +0100 + +llvm-toolchain-10 (1:10.0.0~+rc5-1) unstable; urgency=medium + + * Fith RC release + * Make autopkgtest/qualify-clang.sh work on arm64 + + -- Sylvestre Ledru Thu, 19 Mar 2020 15:59:43 +0100 + +llvm-toolchain-10 (1:10.0.0~+rc4-1) unstable; urgency=medium + + * Fourth RC release + * Disable the emmintrin.h build test in qualify-clang.sh on arm64 + * Add some tests for clangd usage + + -- Sylvestre Ledru Fri, 13 Mar 2020 20:42:36 +0100 + +llvm-toolchain-10 (1:10.0.0~+rc3-1) unstable; urgency=medium + + * Third RC release + + -- Sylvestre Ledru Wed, 04 Mar 2020 14:56:12 +0100 + +llvm-toolchain-10 (1:10.0.0~+rc2-3) unstable; urgency=medium + + * Disable libfuzzer on x86 + https://bugs.llvm.org/show_bug.cgi?id=43677 + FTBFS otherwise + * Add a libclang-cpp10-dev package (needed to unbreak the cmake) + https://bugs.llvm.org/show_bug.cgi?id=42432 + This makes libclang-cpp10 usable and polish the links and dups + * Fix the *clang* desc as C++17 is supported + + -- Sylvestre Ledru Sun, 01 Mar 2020 20:59:25 +0100 + +llvm-toolchain-10 (1:10.0.0~+rc2-2) unstable; urgency=medium + + [ Sylvestre Ledru ] + * Bring back libfuzzer, for some reasons I don't remember + I disabled it: + https://bugs.llvm.org/show_bug.cgi?id=41956 + * Silent the polly tests in debian/qualify-clang.sh + clang (LLVM option parsing): Unknown command line argument + '-polly'. Try: 'clang (LLVM option parsing) --help' + + [ Aurelien Jarno ] + * Also disable hwasan_symbolize on mipsel mips64el riscv64 + + [ Gianfranco Costamagna ] + * Patch to convert old python3 cgi method into the new html one + + -- Sylvestre Ledru Sat, 29 Feb 2020 14:04:22 +0100 + +llvm-toolchain-10 (1:10.0.0~+rc2-1) unstable; urgency=medium + + * Upload to unstable to get ci.debian.net testing + * Also disable hwasan_symbolize on armel s390x powerpc ppc64 + + -- Sylvestre Ledru Sun, 16 Feb 2020 14:50:53 +0100 + +llvm-toolchain-10 (1:10.0.0~+rc2-1~exp1) experimental; urgency=medium + + * Second RC release + - Should fix the s390x issue (reported upstream) + (Closes: #950900) + * Do not try to install hwasan_symbolize on armhf ppc64el + as it isn't built + (Closes: #950899) + + [ Samuel Thibault ] + * hurd/hurd-cxx-paths.diff: Fix patch so it can be applied. + * clang-tools-X.Y.install.in: Do not try to install hwasan_symbolize on + hurd-any. + + -- Sylvestre Ledru Thu, 06 Feb 2020 10:37:39 +0100 + +llvm-toolchain-10 (1:10.0.0~+rc1-1~exp1) experimental; urgency=medium + + [ Gianfranco Costamagna ] + * fix lldb-10 -P path print (Closes: #945445) + * Fix lldb python installation path and symlinks + * Drop version constraint from libffi-dev library, satisfied since + old-old-stable + + [ Sylvestre Ledru ] + * First RC release + * For now, disable ThinLTO usage because: + - LLVM_ENABLE_LTO doesn't work with gcc >= 9 (option not accepted) + - BOOTSTRAP_LLVM_ENABLE_LTO is producing some large binary + (uses llvm ir instead of binary code) + See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=943623 + * Thanks to this previous change, don't hardcode gcc 8 + + -- Sylvestre Ledru Mon, 03 Feb 2020 10:30:50 +0100 + +llvm-toolchain-10 (1:10~++20200121023453+de4b2a7fad6-1~exp1) experimental; urgency=medium + + * Branch llvm-toolchain-10 into its own branch + * Merge recent 9 changes (python 3 and testsuite mostly) + + -- Sylvestre Ledru Tue, 21 Jan 2020 14:38:02 +0100 + +llvm-toolchain-snapshot (1:10~+20191229111838+6991d5728f1-1~exp1) experimental; urgency=medium + + * experimental New snapshot release + * Add a '+' in the version (as the old upload is high than the one without) + Will be removed in 11 + * Sync 9 into 10 + * Change of the version layout date+short git version + * Install /usr/lib/llvm-@LLVM_VERSION@/lib/libarcher_static.a + /usr/lib/llvm-@LLVM_VERSION@/lib/libarcher.so in libomp-X-dev + * Install usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/bin/hwasan_symbolize in clang-tools-X.Y + * Introduce python3-clang-10 (closes: #942826) + * Remove python-lldb-10 + * Remove Python 2 deps (Closes: #945695) + * Disable the polly testsuite: + - freezing in the current build + - not a big deal if failing + + -- Sylvestre Ledru Sun, 29 Dec 2019 12:47:15 +0100 + +llvm-toolchain-snapshot (1:10~+201911120943210600592dd459242-1~exp1) experimental; urgency=medium + + * Repack to move to git + * Change the versioning scheme to git: + Infos of the last commit + - ~+ (this syntax is to make sure that this version > ~svn) + - date + - hour/minute/second + - short git hash + * Move the checkout of the sources from svn to git + * Use -DLLVM_ENABLE_PROJECTS instead of symlinks + * Use -DBOOTSTRAP_LLVM_ENABLE_LTO instead of + -DLLVM_ENABLE_LTO (not sure what it wasn't done) + * clang: Force the installation of libclang-cpp with the exact same version + and remove libclang as dep + * Bunch of changes coming from the branch 9 + + -- Sylvestre Ledru Tue, 12 Nov 2019 16:51:40 +0100 + +llvm-toolchain-snapshot (1:10~svn375339-1~exp1) experimental; urgency=medium + + * New snapshot release + * Last upload before the move to git + * lldb-libname.diff: disable for now, seems it that it is now handled + by cmake https://reviews.llvm.org/D68858. TODO: check it still work + * Remove "revert-r373786-libclang-cpp.diff" (applied upstream) + * Add dependency between libclang-cpp => libllvm with the exact version + (Closes: #942526) + * Build using -DCLANG_LINK_CLANG_DYLIB=ON to force the usage of dynamic + library instead of static library when building clang tools. + Decreases the total size from 510M to 278M (amd64) + + -- Sylvestre Ledru Sat, 19 Oct 2019 12:19:36 +0200 + +llvm-toolchain-snapshot (1:10~svn374655-1~exp1) experimental; urgency=medium + + * New snapshot release + * Install pp-trace, clang-move and clang-offload-wrapper in + clang-tools-10 + * Revert + "[clang-tools-extra] [cmake] Link against libclang-cpp whenever + possible" as it introduces a dep from libclang to libclang-cpp + Breaking the symbol list (and people should like to libclang-cpp + if they want to use C++ api) + https://bugs.llvm.org/show_bug.cgi?id=43589 + * Added a check in debian/rules to prevent that from happening again + + -- Sylvestre Ledru Sat, 12 Oct 2019 16:27:53 +0200 + +llvm-toolchain-snapshot (1:10~svn372920-1~exp1) experimental; urgency=medium + + * New snapshot release + * Add two new symbols to libclang1: + - clang_install_aborting_llvm_fatal_error_handler + - clang_uninstall_llvm_fatal_error_handler + * site-packages renamed to dist-packages in python3-lldb-10 + + -- Sylvestre Ledru Sat, 07 Sep 2019 09:07:01 +0200 + +llvm-toolchain-snapshot (1:10~svn370840-1~exp1) experimental; urgency=medium + + * New snapshot release + * Update of the license file. Upstream moved to Apache 2 + with LLVM exception (Closes: #935149) + * Debian moved to gcc-9. This gcc version now refuses -flto="Thin" + Move from LLVM_ENABLE_LTO="Thin" to BOOTSTRAP_LLVM_ENABLE_LTO="Thin" + to mitigate the issue (the argument should be passed only at the + second stage of the build process) + See https://bugs.llvm.org/show_bug.cgi?id=43193 + * Rename libclang-cpp1-10 to libclang-cpp10 to match the soname and libllvm10 + naming (at some point, all libs should do that ...) + * New symbols in libomp5: + - GOMP_loop_nonmonotonic_dynamic_next + - GOMP_loop_nonmonotonic_dynamic_start + - GOMP_loop_nonmonotonic_guided_next + - GOMP_loop_nonmonotonic_guided_start + - GOMP_loop_ull_nonmonotonic_dynamic_next + - GOMP_loop_ull_nonmonotonic_dynamic_start + - GOMP_loop_ull_nonmonotonic_guided_next + - GOMP_loop_ull_nonmonotonic_guided_start + - GOMP_parallel_loop_nonmonotonic_dynamic + - GOMP_parallel_loop_nonmonotonic_guided + * Workaround bug https://bugs.llvm.org/show_bug.cgi?id=42994 + (fails to link on Debian buster) + * for Ubuntu xenial: pass PYTHON_EXE to the stage2 build + + -- Sylvestre Ledru Wed, 04 Sep 2019 11:42:50 +0200 + +llvm-toolchain-snapshot (1:10~svn368740-1~exp1) experimental; urgency=medium + + [ Gianfranco Costamagna ] + * Fixed wrong shlib generation of libomp5 library + * clangd: fix missing epoch in breaks/replaces relationship + * testsuite, add python, used in some test + * Cherry-pick various fixes from branch 8 and 9, do not break anymore with libllvm3.9v4 + + [ Aurelien Jarno ] + * Add support for riscv64: + - Always link with -latomic on riscv64. + - patches/clang-riscv64-multiarch.diff: add multiarch paths for riscv64. + - patches/clang-riscv64-rv64gc.diff: default to lp64d ABI and rv64gc ISA. + * Document riscv64 debian specific changes in README.source. + + [ Sylvestre Ledru ] + * New snapshot release + * lldb-mi removed + * Ship clangd-10 as a new package (Closes: #932432) + + -- Sylvestre Ledru Tue, 13 Aug 2019 21:37:46 +0200 + +llvm-toolchain-snapshot (1:10~svn368706-1~exp1) experimental; urgency=medium + + [ Sylvestre Ledru ] + * lldb-mi removed + + [ Gianfranco Costamagna ] + * clangd: fix missing epoch in breaks/replaces relationship + * testsuite, add python, used in some test + * Cherry-pick various fixes from branch 8 and 9, do not break anymore with libllvm3.9v4 + + [ Sylvestre Ledru ] + * New snapshot release + + -- Sylvestre Ledru Tue, 13 Aug 2019 17:55:41 +0200 + +llvm-toolchain-snapshot (1:10~svn366440-1~exp1) experimental; urgency=medium + + * New version in snapshot (10) + + -- Sylvestre Ledru Thu, 18 Jul 2019 18:58:32 +0200 + +llvm-toolchain-9 (1:9.0.1-12) UNRELEASED; urgency=medium + + * Cherry-pick upstream patch D74453 to fix atomic compare-and-swap on + riscv64. + + -- Jessica Clarke Wed, 01 Apr 2020 16:23:55 +0100 + +llvm-toolchain-9 (1:9.0.1-11) unstable; urgency=medium + + * Allow one to build g++ 9 & 10 to fix a gcc build dependency + (closes: #955144) + And disable thin lto on all archs + It needs gcc-8 after after 8 will reject the -flto=thin arg + And BOOTSTRAP_LLVM_ENABLE_LTO will generate .so with llvm IR instead + of native code + + -- Sylvestre Ledru Tue, 31 Mar 2020 21:11:56 +0200 + +llvm-toolchain-9 (1:9.0.1-10) unstable; urgency=medium + + * debian/patches/947f9692440836dcb8d88b74b69dd379d85974ce.patch: + - cherry-pick upstream fix for glibc 2.31 + + -- Gianfranco Costamagna Sat, 07 Mar 2020 01:01:35 +0100 + +llvm-toolchain-9 (1:9.0.1-9) unstable; urgency=medium + + * Add patch to fix python3.8 test failures with deprecated cgi method, move + to new html parser + + -- Gianfranco Costamagna Tue, 25 Feb 2020 15:28:58 +0100 + +llvm-toolchain-9 (1:9.0.1-8) unstable; urgency=medium + + * Add two new python autopkgtests to avoid regressions in the future + * Fix m68k architecture + * Add Myself to uploaders + * Revert site-packages/dist-packages hacking mv, this is done upstream now + + -- Gianfranco Costamagna Thu, 23 Jan 2020 14:30:57 +0100 + +llvm-toolchain-9 (1:9.0.1-7) unstable; urgency=medium + + * Add dependency on libclang-cpp-9 from llvm-9-dev (Closes: #946761) + * fix lldb-9 -P path print (Closes: #945445) + * Fix lldb python installation path and symlinks + + -- Gianfranco Costamagna Tue, 21 Jan 2020 13:05:06 +0100 + +llvm-toolchain-9 (1:9.0.1-6) unstable; urgency=medium + + * Team upload. + * Add some more python3 shebangs (Closes: #948497) + + -- Gianfranco Costamagna Fri, 10 Jan 2020 09:37:55 +0100 + +llvm-toolchain-9 (1:9.0.1-5) unstable; urgency=medium + + * Install clang in Python3 directory (Closes: #948409) + - thanks Mike Gabriel for the helpful report! + + -- Gianfranco Costamagna Wed, 08 Jan 2020 12:15:06 +0100 + +llvm-toolchain-9 (1:9.0.1-4) unstable; urgency=medium + + * Source only upload to sid + * Force a python3 shebang on python modules to fix testsuite + * Do not run z3 tests if z3 support is not enabled + + -- Gianfranco Costamagna Sat, 04 Jan 2020 08:52:02 +0100 + +llvm-toolchain-9 (1:9.0.1-3) unstable; urgency=medium + + [ John Paul Adrian Glaubitz ] + * Build polly docs and manpages only when polly is enabled (Closes: #947236) + + [ Sylvestre Ledru ] + * Introduce python3-clang-9 (closes: #942826) + * Remove python-lldb-9 + * Remove Python 2 deps (Closes: #945695) + + -- Sylvestre Ledru Sun, 29 Dec 2019 12:37:34 +0100 + +llvm-toolchain-9 (1:9.0.1-2) unstable; urgency=medium + + [ James Clarke ] + * Include upstream patch D71028 for rust mips tests (Closes: #946874) + + [ Aurelien Jarno ] + * Include upstream patch D60657 for rust support on riscv64. + + -- James Clarke Fri, 20 Dec 2019 18:30:29 +0000 + +llvm-toolchain-9 (1:9.0.1-1) unstable; urgency=medium + + * New stable release + + -- Sylvestre Ledru Thu, 19 Dec 2019 13:48:21 +0100 + +llvm-toolchain-9 (1:9.0.1~+rc3-2) unstable; urgency=medium + + * Team upload. + [ Gianfranco Costamagna ] + * Commit Breaks/Replaces into git + + [ Julian Andres Klode ] + * Fix llvm-9-tools Breaks/Replaces libclang-common-9-dev (<< 1:9.0.1~+rc2) + (Closes: #946473) + + -- Gianfranco Costamagna Thu, 19 Dec 2019 00:26:04 +0100 + +llvm-toolchain-9 (1:9.0.1~+rc3-1) unstable; urgency=medium + + [ Sylvestre Ledru ] + * New snapshot release + upload to unstable + * Use secure URI in debian/watch. + * Move source package lintian overrides to debian/source. + * Remove patches force-gcc-header-obj.diff, hurd-pathmax.diff, impl- + path-hurd.diff, libcxxabi-arm-ehabi-fix.patch, libcxxabi-test-don-t- + fail-extended-long-double.patch, revert-change-soname.diff, try-to- + unbreak-thinlto.diff that are missing from debian/patches/series. + * Rely on pre-initialized dpkg-architecture variables. + * Move transitional package libclang-cpp1-9 to oldlibs/optional per + policy 4.0.1. + + [ Aurelien Jarno ] + * llvm-riscv64-fix-cffi.diff: backport patch to fix CFI directives on + riscv64 from master. + + -- Sylvestre Ledru Sat, 14 Dec 2019 12:43:17 +0100 + +llvm-toolchain-9 (1:9.0.1~+rc2-1~exp1) experimental; urgency=medium + + * New snapshot release + * Fix some paths, upstream moved from site-packages + to dist-packages for python packages + * Move yaml-bench from libclang-common-X.Y-dev to llvm-X.Y-tools where + it belongs + See http://lists.llvm.org/pipermail/llvm-dev/2019-December/137337.html + * Add a project in the cmake-test to silent a warning + (Closes: #945489) + + -- Sylvestre Ledru Tue, 03 Dec 2019 07:56:16 +0100 + +llvm-toolchain-9 (1:9.0.1~+rc1-1~exp1) experimental; urgency=medium + + * New snapshot release + + -- Sylvestre Ledru Sun, 24 Nov 2019 14:51:29 +0100 + +llvm-toolchain-9 (1:9.0.0-5) UNRELEASED; urgency=medium + + [ Gianfranco Costamagna ] + * Patch cmake files to disable the z3 support in Ubuntu + * Simplify rules file to put -g1 everywhere + + [ Sylvestre Ledru ] + * Add a project in the cmake-test to silent a warning (Closes: #945489) + + -- Gianfranco Costamagna Tue, 26 Nov 2019 09:24:38 +0100 + +llvm-toolchain-9 (1:9.0.0-4) unstable; urgency=medium + + [ Samuel Thibault ] + * hurd-cxx-paths.diff: Re-introduce patch to find C++ headers. + * hurd-EIEIO-undef.diff: Drop patch, already fixed a different way upstream. + * hurd-pathmax.diff: Drop now-useless parts. + + [ Sylvestre Ledru ] + * Add libz3-dev as dependencies on llvm-X.Y-dev (Closes: #943996) + * Update build-dep libpfm4-dev to linux-any. + Thanks to Samuel Thibault for the patch + + [ Gianfranco Costamagna ] + * Add also Ubuntu focal to the gcc-8 arch list + + -- Sylvestre Ledru Tue, 05 Nov 2019 10:30:26 +0100 + +llvm-toolchain-9 (1:9.0.0-3) unstable; urgency=medium + + * Seems to be ok, uploading to unstable + (Closes: #942864) fuzzer issues + (Closes: #943623) libclangIndex.a are llvm ir bitcode + + -- Sylvestre Ledru Thu, 31 Oct 2019 20:36:09 +0100 + +llvm-toolchain-9 (1:9.0.0-3~exp2) experimental; urgency=medium + + [ Weston Ortiz ] + * Remove incorrect Breaks/Conflicts for lldb-9 package + https://bugs.llvm.org/show_bug.cgi?id=43451 + + [ Sylvestre Ledru ] + * disable-fuzzer-compiler-rt.diff: bring back this patch. + Still breaks i386 compiler-rt/fuzzer + Disable fuzzer only for i386 + * Use stage2 files to build the doc. For some reasons, clang-tools-extra + html generation stopped working + * Disable z3 when the version is too old + + -- Sylvestre Ledru Thu, 31 Oct 2019 00:29:09 +0100 + +llvm-toolchain-9 (1:9.0.0-3~exp1) experimental; urgency=medium + + * Revert the change -DBOOTSTRAP_LLVM_ENABLE_LTO to use + -DLLVM_ENABLE_LTO to see if it fixes 943623 + and/or 942864 + Disable disable-fuzzer-compiler-rt.diff to evaluate the whole thing + + -- Sylvestre Ledru Tue, 29 Oct 2019 20:05:38 +0100 + +llvm-toolchain-9 (1:9.0.0-2) unstable; urgency=medium + + * polly, openmp & lldb aren't enabled for every platform + So, add to PROJECTS only when enabled + * clang: Force the installation of libclang-cpp with the exact same version + and remove libclang as dep + * With the github move, libfuzzer is now compiled as part of the build + process. It fails to compile for some unexpected reasons. + As I have been compiling libfuzzer by hand for a while, just still + do this. + See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=942864 + https://bugs.llvm.org/show_bug.cgi?id=43677 + disable-fuzzer-compiler-rt.diff + * Disable all kfreebsd patches: + - Needs rebasing on snapshot often + - Didn't build on Debian for a while + - Not forwarded upstream + - No support from the team + + -- Sylvestre Ledru Sun, 20 Oct 2019 17:27:50 +0200 + +llvm-toolchain-9 (1:9.0.0-1) unstable; urgency=medium + + * Repack to move to git + * Move the checkout of the sources from svn to git + * Use -DLLVM_ENABLE_PROJECTS instead of symlinks + * Use -DBOOTSTRAP_LLVM_ENABLE_LTO instead of + -DLLVM_ENABLE_LTO (not sure what it wasn't done) + * Add dependency between libclang-cpp => libllvm with the exact version + (Closes: #942526) + + -- Sylvestre Ledru Sat, 19 Oct 2019 10:30:41 +0200 + +llvm-toolchain-9 (1:9-3) unstable; urgency=medium + + * python-clang-9: missing dependency on libclang-9-dev + (Closes: #941890) + * Enable Z3 solver (llvm & clang) to improve the quality of the static + analysis results + * Do not fail the test suite on the -lclang-cpp failing + I think I need to create a libclang-cpp-dev package to unblock it + (but dunno why it works locally) + + -- Sylvestre Ledru Thu, 17 Oct 2019 18:38:28 +0200 + +llvm-toolchain-9 (1:9-2) unstable; urgency=medium + + [ Gianfranco Costamagna ] + * Enable lldb on s390x too, it builds fine now + * python*lldb, depend on liblldb-9 to avoid failure during import + * Add a basic cmake test to see if the package is imported correctly + + [ Sylvestre Ledru ] + * add a cpuid check + * /disable-lit-cpuid-install.diff: Remove the lit-cpuid from the llvm + install. + It is provided by lldb and we don't want to add this as a new + dep from llvm-dev (Closes: #941082 #941306) + + -- Sylvestre Ledru Thu, 03 Oct 2019 18:14:21 +0200 + +llvm-toolchain-9 (1:9-1) unstable; urgency=medium + + * New release + * Fix the FTBFS on all platform by adding -DCLANG_BUILD_EXAMPLES=OFF + to cmake. + So, the following libs aren't built anymore: + - usr/lib/llvm-9/lib/SampleAnalyzerPlugin.so + - usr/lib/llvm-9/lib/CheckerDependencyHandlingAnalyzerPlugin.so + - usr/lib/llvm-9/lib/CheckerOptionHandlingAnalyzerPlugin.so + + -- Sylvestre Ledru Tue, 24 Sep 2019 21:09:57 +0200 + +llvm-toolchain-9 (1:9~+rc5-1~exp2) experimental; urgency=medium + + * debian/patches/D67877.patch: fix LLVMExports.cmake with upstream-proposed + patch (Closes: #941082) + + -- Gianfranco Costamagna Tue, 24 Sep 2019 18:57:31 +0200 + +llvm-toolchain-9 (1:9~+rc5-1~exp1) experimental; urgency=medium + + * New snapshot release + + -- Sylvestre Ledru Fri, 13 Sep 2019 14:45:01 +0200 + +llvm-toolchain-9 (1:9~+rc4-1~exp1) experimental; urgency=medium + + * New snapshot release + + -- Sylvestre Ledru Tue, 10 Sep 2019 15:25:46 +0200 + +llvm-toolchain-9 (1:9~+rc3-1~exp3) experimental; urgency=medium + + * Force gcc before 9 (gcc 8 on Debian unstable) because it causes + huge increase of the size of the .deb (because of .a and .so) and + issues in the libs + (Closes: #939472) + + -- Sylvestre Ledru Fri, 06 Sep 2019 23:27:28 +0200 + +llvm-toolchain-9 (1:9~+rc3-1~exp2) experimental; urgency=medium + + * Debian moved to gcc-9. This gcc version now refuses -flto="Thin" + Move from LLVM_ENABLE_LTO="Thin" to BOOTSTRAP_LLVM_ENABLE_LTO="Thin" + to mitigate the issue (the argument should be passed only at the + second stage of the build process) + See https://bugs.llvm.org/show_bug.cgi?id=43193 + * Fix a link issue (Closes: #939172) + + -- Sylvestre Ledru Mon, 02 Sep 2019 10:46:45 +0200 + +llvm-toolchain-9 (1:9~+rc3-1~exp1) experimental; urgency=medium + + * New snapshot release + * Update of the license file. Upstream moved to Apache 2 + with LLVM exception (Closes: #935149) + * remove 0050-Remove-explicit-python-version-list.patch + bug-43011-mips.diff as they are merged upstream + * llvm-9-dev depends on llvm-9-tools + Since https://reviews.llvm.org/D56606, LLVMExports.cmake + requires FileCheck when LLVM_INSTALL_UTILS=ON is enabled (which + is the case here). + See https://bugs.llvm.org/show_bug.cgi?id=43035 + * Also add PYTHON_EXECUTABLE to the CLANG_BOOTSTRAP_PASSTHROUGH option + to fix an issue on xenial + * Add clangd-X => libclang-common-X-dev dependency + See https://bugs.llvm.org/show_bug.cgi?id=43152 + * Remove the -lc++experimental test from the qualify-clang.sh script + as the lib has been removed in 9~svn366022-1~exp1 + * Also install libclang-cpp in /usr/lib/llvm-X/lib/libclang-cpp.so.X + * Improve the fix-clang-path-and-build.diff patch + If this package was built with libclang-common installed on the system, + it could fail with 'use of undeclared identifier' because + #include_next was failing as it was expecting the next header to be + libstdc++ + Now, if the local build headers are found, don't include system's + * Rename libclang-cpp1-9 to libclang-cpp9 to match the soname and libllvm9 + naming (at some point, all libs should do that ...) + + -- Sylvestre Ledru Tue, 27 Aug 2019 23:38:11 +0200 + +llvm-toolchain-9 (1:9~+rc2-1~exp2) experimental; urgency=medium + + * Try to fix the mips* ftbfs + See bug 43011 + + -- Sylvestre Ledru Thu, 22 Aug 2019 18:17:32 +0200 + +llvm-toolchain-9 (1:9~+rc2-1~exp1) experimental; urgency=medium + + [ Gianfranco Costamagna ] + * Add back python-* dependencies to fix tools not really ready for python3 + * Fix missing epoch in breaks/replaces + + [ Sylvestre Ledru ] + * New snapshot release + + -- Sylvestre Ledru Wed, 14 Aug 2019 10:36:17 +0200 + +llvm-toolchain-9 (1:9~+rc1-1~exp2) experimental; urgency=medium + + [ Gianfranco Costamagna ] + * Fixed wrong shlib generation of libomp5 library + * Add python to testsuite + + [ Sylvestre Ledru ] + * Move lit-cpuid from llvm-tools to lldb (wrong package) + * Ship clangd-9 as a new package (Closes: #932432) + + [ Aurelien Jarno ] + * Add support for riscv64: + - Always link with -latomic on riscv64. + - patches/clang-riscv64-multiarch.diff: add multiarch paths for riscv64. + - patches/clang-riscv64-rv64gc.diff: default to lp64d ABI and rv64gc ISA. + - patches/libcxx/libcxx-riscv64-cycletimer.diff: backport riscv64 + cycletimer support from upstream. + + -- Sylvestre Ledru Sat, 03 Aug 2019 11:41:07 +0200 + +llvm-toolchain-9 (1:9~+rc1-1~exp1) experimental; urgency=medium + + * New snapshot release + + -- Sylvestre Ledru Mon, 29 Jul 2019 22:16:33 +0200 + +llvm-toolchain-snapshot (1:9~svn366022-1~exp1) experimental; urgency=medium + + * New snapshot release + * New symbols in libomp5 added in the symbol file + - __kmpc_omp_target_task_alloc + - __kmpc_task_allow_completion_event + - __kmpc_task_reduction_modifier_fini + - __kmpc_task_reduction_modifier_init + - __kmpc_taskred_init + - __kmpc_taskred_modifier_init + - omp_fulfill_event + - omp_fulfill_event_ + * Bring back bootstrap-fix-include-next.diff which has been removed from + an unknown reason + * Remove libc++experimental.a (seems to be not installed) + * Install python3-setuptools as it seems that lldb moved to python 3 + Was failing with + "ModuleNotFoundError: No module named 'distutils.sysconfig'" + * liblldb.a has been removed upstream + * Ship libclang-cpp1-9 as a new package + * Ship python3-lldb-9 as a new package + + -- Sylvestre Ledru Thu, 18 Jul 2019 15:52:37 +0200 + +llvm-toolchain-snapshot (1:9~svn364913-1~exp1) experimental; urgency=medium + + [ Andreas Beckmann ] + * For now, lld doesn't generate shared libs. Removing the files + (Closes: #857653, LP: #1829677) + + [ Gianfranco Costamagna ] + * Do not enable Thin on armhf for now, it FTBFS + + [ Sylvestre Ledru ] + * Cherry-pick the recent changes from the 8 branch + + -- Sylvestre Ledru Tue, 02 Jul 2019 14:36:52 +0200 + +llvm-toolchain-snapshot (1:9~svn362869-1~exp2) experimental; urgency=medium + + * New snapshot release + * Install clang-scan-deps as part of clang-tools + + -- Sylvestre Ledru Sat, 15 Jun 2019 10:47:18 +0200 + +llvm-toolchain-snapshot (1:9~svn362869-1~exp1) experimental; urgency=medium + + * New snapshot release + * remove debian/patches/reproducible-pch.diff + done upstream + * No longer install lldb-test (disable upstream in 358574) + * Install lit-cpuid in llvm-9-tools + * libclang-X.Y: add clang_Cursor_isAnonymousRecordDecl to the list of symbols + * New snapshot release + * remove debian/patches/reproducible-pch.diff + done upstream + * No longer install lldb-test (disable upstream in 358574) + * Install lit-cpuid in llvm-9-tools + * libclang-X.Y: add clang_Cursor_isAnonymousRecordDecl and + clang_Cursor_isInlineNamespace to the list of symbols + * lldb-static-assert.diff (revert a patch failing the build) + * New snapshot release + * remove debian/patches/reproducible-pch.diff + done upstream + * No longer install lldb-test (disable upstream in 358574) + * Install lit-cpuid in llvm-9-tools + * libclang-X.Y: add clang_Cursor_isAnonymousRecordDecl and + clang_Cursor_isInlineNamespace to the list of symbols + * Install usr/lib/llvm-9/lib/{SampleAnalyzerPlugin.so, + CheckerDependencyHandlingAnalyzerPlugin.so, + CheckerOptionHandlingAnalyzerPlugin.so} + in libclang-9-dev + * Build using thinlto on non stretch, xenial and trusty + (fails with some undef symbols) + Option -DLLVM_ENABLE_LTO="Thin" added + * WebAssembly is now build by default, remove it from the + experimental list + * check-polly was executed twice + * Move the default ARM arch from arm1176jzf-s (armv6) to cortex-a7 + (Closes: #930008) + + [ John Paul Adrian Glaubitz ] + * Use dh-exec to exclude lib/LLVM*.so on powerpc and + powerpcspe from llvm-X.Y-dev.install.in + + -- Sylvestre Ledru Sat, 08 Jun 2019 11:12:47 +0200 + +llvm-toolchain-snapshot (1:9~svn358327-1~exp1) experimental; urgency=medium + + * New snapshot release + * Remove libc++fs.a (done upstream) + * add clang-doc in clang-tools + * python2.7/site-packages/readline.so removed from liblldb + * libOptRemarks.so has been renamed to libRemarks.so + * new symbol: omp_get_supported_active_levels + + [ Gianfranco Costamagna ] + * Commit Ubuntu delta to 8 and snapshot branches + + [ Matthias Klose ] + * Remove the autopkg test for a genuine LLVM bug. + + -- Sylvestre Ledru Sat, 13 Apr 2019 11:06:00 +0200 + +llvm-toolchain-snapshot (1:9~svn354105-1~exp1) experimental; urgency=medium + + * New snapshot release + + [ John Paul Adrian Glaubitz ] + * Remove usr/lib/llvm-@LLVM_VERSION@/lib/LLVM*.so + from debian/llvm-X.Y-dev.install.in and install + the files conditionally in debian/rules + + -- Sylvestre Ledru Fri, 15 Feb 2019 09:32:35 +0100 + +llvm-toolchain-snapshot (1:9~svn353106-1~exp1) experimental; urgency=medium + + * New snapshot release + * Install lldb-instr-X in lldb-X + + -- Sylvestre Ledru Mon, 04 Feb 2019 23:44:27 +0100 + +llvm-toolchain-snapshot (1:9~svn351420-1~exp2) experimental; urgency=medium + + * Remove 'Multi-Arch: same' in libclang + (Closes: #874248) + + -- Sylvestre Ledru Mon, 04 Feb 2019 23:42:28 +0100 + +llvm-toolchain-snapshot (1:9~svn351420-1~exp1) experimental; urgency=medium + + * New snapshot release + * Fix a typo in the arch declaration + * Remove patch D54677-hurd-path_max.diff (applied upstream) + * Fix debian-changelog-line-too-long + * Silent source-contains-prebuilt-windows-binary + * Silent executable-not-elf-or-script + usr/lib/llvm-8/share/clang/bash-autocomplete.sh + * Remove unapplied patches: + - D52340-rustc-debuginfo.diff + - D54379-hurd-triple-clang.diff + - hurd-cxx-paths.diff + - openmp-jessie-missing-include.diff + - rustc-aarch64-test-failure.diff + - strip-ignore-deterministic-archives.diff + * Update the list of openmp symbols (added): + - omp_get_device_num + - omp_get_initial_device + - omp_get_num_devices + - __kmpc_pause_resource (from v9) + - omp_pause_resource (from v9) + - omp_pause_resource_all (from v9) + + + -- Sylvestre Ledru Mon, 04 Feb 2019 23:42:20 +0100 + +llvm-toolchain-snapshot (1:9~svn351375-1~exp1) experimental; urgency=medium + + * New snapshot release and move to 9 as upstream branched + * Silent a source lintian warning + source: source-is-missing lldb/lit/Modules/ELF/Inputs/PT_LOAD-overlap-section.elf + * Revert patch D55434 as it is breaking the build on old version of debian/ubuntu + * Remove BugpointPasses.so & TestPlugin.so as they don't ship anymore + + -- Sylvestre Ledru Wed, 16 Jan 2019 21:59:29 +0100 + +llvm-toolchain-8 (1:8.0.1-4) unstable; urgency=medium + + * Add clangd-X => libclang-common-X-dev dependency + See https://bugs.llvm.org/show_bug.cgi?id=43152 + + -- Sylvestre Ledru Thu, 29 Aug 2019 09:42:41 +0200 + +llvm-toolchain-8 (1:8.0.1-3) unstable; urgency=medium + + * llvm-tools: depend on python2 packages too, the move to python3 was + premature and broke opt-viewer.py + + -- Gianfranco Costamagna Wed, 07 Aug 2019 15:11:36 +0200 + +llvm-toolchain-8 (1:8.0.1-2) unstable; urgency=medium + + [ Gianfranco Costamagna ] + * clangd: Fix breaks+replaces missing epoch (Closes: #934016) + * Add python to testsuite, still required by some test + + -- Gianfranco Costamagna Tue, 06 Aug 2019 09:36:11 +0200 + +llvm-toolchain-8 (1:8.0.1-1) unstable; urgency=medium + + * New stable release + * Ship python3-lldb-8 as a new package + * Ship clangd-8 as a new package (Closes: #932432) + + [ Gianfranco Costamagna ] + * Fixed wrong shlib generation of libomp5 library + + -- Sylvestre Ledru Sat, 03 Aug 2019 11:44:29 +0200 + +llvm-toolchain-8 (1:8.0.1~+rc4-2) unstable; urgency=medium + + * Compile against Python 3 + (Closes: #931029) + + -- Christian Biesinger Thu, 18 Jul 2019 14:13:56 -0500 + +llvm-toolchain-8 (1:8.0.1~+rc4-1) unstable; urgency=medium + + * New snapshot release + + -- Sylvestre Ledru Thu, 11 Jul 2019 08:39:38 +0200 + +llvm-toolchain-8 (1:8.0.1~+rc3-1) unstable; urgency=medium + + * New testing release in unstable + + [ Gianfranco Costamagna ] + * Enable thinlto everywhere except armhf + * Drop wrong exit 1 from testsuite + + [ Andreas Beckmann ] + * For now, lld doesn't generate shared libs. Removing the files + (Closes: #857653, LP: #1829677) + + + -- Sylvestre Ledru Fri, 28 Jun 2019 20:15:23 +0200 + +llvm-toolchain-8 (1:8.0.1~+rc2-1~exp1) experimental; urgency=medium + + * New testing release + * Only enable thinlto on archs with gold, should fix the ftbfs + * Add libpfm4-dev as build dep + -DLLVM_ENABLE_LIBPFM=ON as it is + needed for llvm-exegesis https://bugs.llvm.org/show_bug.cgi?id=42187 + * Improve the rendering of the qualify-clang.sh testsuite + + -- Sylvestre Ledru Sat, 08 Jun 2019 11:11:39 +0200 + +llvm-toolchain-8 (1:8.0.1~+rc1-1~exp2) experimental; urgency=medium + + * Build using thinlto on non stretch, xenial and trusty + (fails with some undef symbols) + Option -DLLVM_ENABLE_LTO="Thin" added + * WebAssembly is now build by default, remove it from the + experimental list + * check-polly was executed twice + * Move the default ARM arch from arm1176jzf-s (armv6) to cortex-a7 + (Closes: #930008) + + [ John Paul Adrian Glaubitz ] + * Use dh-exec to exclude lib/LLVM*.so on powerpc and + powerpcspe from llvm-X.Y-dev.install.in + + -- Sylvestre Ledru Sun, 19 May 2019 13:31:37 +0200 + +llvm-toolchain-8 (1:8.0.1~+rc1-1~exp1) experimental; urgency=medium + + * New testing release + + -- Sylvestre Ledru Fri, 17 May 2019 08:33:53 +0200 + +llvm-toolchain-8 (1:8-5) unstable; urgency=medium + + * Try another way to address the mips64el issue + + -- Sylvestre Ledru Mon, 13 May 2019 11:36:47 +0200 + +llvm-toolchain-8 (1:8-4) unstable; urgency=medium + + * Try to disable mips64el-fix.diff (struct_kernel_stat_sz) + to workaround a mips issue with some new C{XX}FLAGS + see https://reviews.llvm.org/D59702 + + [ Gianfranco Costamagna ] + * Add Ubuntu eoan to supported ubuntu distro + + -- Sylvestre Ledru Mon, 29 Apr 2019 08:58:57 +0200 + +llvm-toolchain-8 (1:8-3) unstable; urgency=medium + + * Fix the FTBFS on mips (introduced by my previous change) + + -- Sylvestre Ledru Tue, 02 Apr 2019 11:57:08 +0200 + +llvm-toolchain-8 (1:8-2) unstable; urgency=medium + + * Fix the search path on mips64el (which is causing the stage2 + build of mips64el to fail + See https://bugs.llvm.org/show_bug.cgi?id=41204 + + [ Timo Aaltonen ] + * import patches for intel-opencl-clang: they fix various issues + with opengl and clang-8, and are taken from llvm master branch. + - Fix pointer blocks on OpenCL functions, that never pointed to real + functions + - Fix assertion errors on some OpenCL functions + - Refactor a little bit OpenCL calls, by emitting direct block calls. + + -- Gianfranco Costamagna Wed, 20 Mar 2019 14:36:40 +0100 + +llvm-toolchain-8 (1:8-1) unstable; urgency=medium + + * New upstream release + + -- Sylvestre Ledru Tue, 19 Mar 2019 21:57:02 +0100 + +llvm-toolchain-8 (1:8~+rc5-2) unstable; urgency=medium + + * Try to fix a mips64el FTBFS + Cherry-pick of https://patches-gcc.linaro.org/patch/3032/ + + -- Sylvestre Ledru Sun, 17 Mar 2019 20:18:19 +0100 + +llvm-toolchain-8 (1:8~+rc5-1) unstable; urgency=medium + + * New snapshot release + + -- Sylvestre Ledru Tue, 12 Mar 2019 12:27:41 +0100 + +llvm-toolchain-8 (1:8~+rc4-1) unstable; urgency=medium + + * New snapshot release + + -- Sylvestre Ledru Sun, 10 Mar 2019 11:06:14 +0100 + +llvm-toolchain-8 (1:8~+rc3-1~exp1) unstable; urgency=medium + + * New snapshot release + * Activate -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN for all + gcc + + -- Sylvestre Ledru Thu, 28 Feb 2019 12:33:57 +0100 + +llvm-toolchain-8 (1:8~+rc2-1~exp3) UNRELEASED; urgency=medium + + [ Gianfranco Costamagna ] + * Commit Ubuntu delta to 8 and snapshot branches + + [ Matthias Klose ] + * Remove the autopkg test for a genuine LLVM bug. + + -- Gianfranco Costamagna Wed, 06 Mar 2019 10:16:17 +0100 + +llvm-toolchain-8 (1:8~+rc2-1~exp1) unstable; urgency=medium + + * New snapshot release + * Add support for kfreebsd (Closes: #921246) + Many thanks to Svante Signell for all patches + + -- Sylvestre Ledru Thu, 07 Feb 2019 17:09:15 +0100 + +llvm-toolchain-8 (1:8~+rc1-1~exp1) experimental; urgency=medium + + * New snapshot release + * Remove 'Multi-Arch: same' in libclang + (Closes: #874248) + + -- Sylvestre Ledru Thu, 24 Jan 2019 08:49:34 +0100 + +llvm-toolchain-8 (1:8~svn351401-1~exp1) experimental; urgency=medium + + * New snapshot release (branch 8 created) + * Silent a source lintian warning + source: source-is-missing + lldb/lit/Modules/ELF/Inputs/PT_LOAD-overlap-section.elf + * Revert patch D55434 as it is breaking the build on old version of + debian/ubuntu + * Remove BugpointPasses.so & TestPlugin.so as they don't ship anymore + + -- Sylvestre Ledru Thu, 17 Jan 2019 08:24:19 +0100 + +llvm-toolchain-8 (1:8~svn350834-1~exp2) UNRELEASED; urgency=medium + + * Remove patch D55434-revert.diff as the regression has been fixed upstream + + -- Sylvestre Ledru Thu, 17 Jan 2019 09:16:03 +0100 + +llvm-toolchain-snapshot (1:8~svn348749-1~exp2) experimental; urgency=medium + + * New symbols in openmp: + - OMP_NULL_ALLOCATOR + - __kmpc_alloc + - __kmpc_free + - __kmpc_get_default_allocator + - __kmpc_omp_reg_task_with_affinity + - __kmpc_set_default_allocator + - omp_alloc + - omp_capture_affinity + - omp_cgroup_mem_alloc + - omp_const_mem_alloc + - omp_default_mem_alloc + - omp_display_affinity + - omp_free + - omp_get_affinity_format + - omp_get_default_allocator + - omp_high_bw_mem_alloc + - omp_large_cap_mem_alloc + - omp_low_lat_mem_alloc + - omp_pteam_mem_alloc + - omp_set_affinity_format + - omp_set_default_allocator + - omp_thread_mem_alloc + - ompc_capture_affinity + - ompc_display_affinity + - ompc_get_affinity_format + - ompc_set_affinity_format + + -- Sylvestre Ledru Tue, 18 Dec 2018 18:09:48 +0100 + +llvm-toolchain-7 (1:7.0.1-4) unstable; urgency=medium + + * On old Debian/Ubuntu, run dh_strip using fakeroot to mitigate + a permission issue + * Remove dbgsym packages from debci because of bug #917528 + + [ Gianfranco Costamagna ] + * Ignore a test result on i386, due to upstream bug 26580#c18 + + -- Sylvestre Ledru Wed, 02 Jan 2019 12:37:45 +0100 + +llvm-toolchain-7 (1:7.0.1-4) unstable; urgency=medium + + * New snapshot release + * Merge changes from 7 into snapshot + + -- Sylvestre Ledru Mon, 10 Dec 2018 10:56:16 +0100 + +llvm-toolchain-snapshot (1:8~svn346586-1~exp1) experimental; urgency=medium + + * New snapshot release + * Also install libOptRemarks.so + * Merge all the recent 7 changes into snapshot + (Closes: #913058) the co install issue with libc++ & openmp + + -- Sylvestre Ledru Sat, 10 Nov 2018 15:14:15 +0100 + +llvm-toolchain-snapshot (1:8~svn345569-1~exp1) experimental; urgency=medium + + [ Sylvestre Ledru ] + * Remove bat files https://bugs.llvm.org/show_bug.cgi?id=30755 + * Fix the autopkgtest script (no gcc in the test) + * remove dep from lld to llvm-8-dev because lld + doesn't use LLVM LTO + * remove old Replaces/Breaks + * Standards-Version: 4.2.1 + * Backport a fix to improve scan-build code error. + Thanks to Roman Lebedev for the fix(Closes: #909662) + * Remove bat files https://bugs.llvm.org/show_bug.cgi?id=30755 + * Install bash-completion for clang + * Disable ocaml on armel + + [ Gianfranco Costamagna ] + * Take option two in bug #877567 to fix FTBFS on mips and mipsel + + [ Sylvestre Ledru ] + * New snapshot release + + -- Sylvestre Ledru Tue, 30 Oct 2018 08:31:14 +0100 + +llvm-toolchain-7 (1:7.0.1-3) unstable; urgency=medium + + * Also install clang-7-dbgsym libclang1-7-dbgsym in autopkgtest + to verify that debug symbols are present + * Cherry-pick upstream fix D52340 to address a rustc debuginfo + (Closes: #917209) + * Change the jit debug path from $HOME/.debug/jit/ to + $TMPDIR/.debug/jit/ (Closes: #916393) + * Document in README.source some Debian/Ubuntu specific changes + + -- Sylvestre Ledru Wed, 26 Dec 2018 22:57:45 +0100 + +llvm-toolchain-7 (1:7.0.1-2) unstable; urgency=medium + + * Enable -DENABLE_LINKER_BUILD_ID:BOOL=ON as, unlike gcc, isn't enabled + by default in clang. Thanks to Adrian Bunk for the patch. + Once more, thanks to Rebecca Palmer (Closes: #916975) + * Build with -g1 also on 64bit architectures (thanks to Adrian too) + + -- Sylvestre Ledru Fri, 21 Dec 2018 17:07:44 +0100 + +llvm-toolchain-7 (1:7.0.1-1) unstable; urgency=medium + + * New release + * Remove the dbg workaround. Hopefully, the new version of + binutils will fix it (Closes: #913946) + + -- Sylvestre Ledru Sun, 16 Dec 2018 13:07:54 +0100 + +llvm-toolchain-7 (1:7.0.1~+rc3-2) unstable; urgency=medium + + * Fix llvm-config by stripping unnecessary flags + See also https://bugs.llvm.org/show_bug.cgi?id=8220 + (Closes: #697755, #914838) + * Try to workaround the debug issues by adding -fno-addrsig to the *FLAGS + One more time, thanks to Rebecca Palmer (Closes: #913946) + The goal is to provide correct debug packages. + Workaround https://sourceware.org/bugzilla/show_bug.cgi?id=23788 + * Force the chmod +x on llvm-X/bin/* because it was sometimes removed + by the strip process + * Force the link to atomic also for i386 as it fails on Debian jessie too + * Improved the debian/patches/series presentation by creating categories + * Improve the separation between *FLAGS for gcc and clang. + This is done for -fno-addrsig as it doesn't exit for gcc + This can be done with the BOOTSTRAP_CMAKE_CXX_FLAGS option + + -- Sylvestre Ledru Mon, 10 Dec 2018 03:49:59 -0500 + +llvm-toolchain-7 (1:7.0.1~+rc3-1) unstable; urgency=medium + + * New testing release + * disable the llvm-strip as it created too big llvm lib + + [ John Paul Adrian Glaubitz ] + * Add patch to add powerpcspe support to clang + * Add patch to fix register spilling on powerpcspe + * Add patch to optimize double parameter calling setup on powerpcspe + + -- Sylvestre Ledru Sat, 08 Dec 2018 07:29:59 +0100 + +llvm-toolchain-7 (1:7.0.1~+rc2-8) unstable; urgency=medium + + * Use llvm-strip instead of binutils strip. + Two reasons: + - with clang stage2, the dbg packages were not generated + - strip fails on stretch and other ubuntu on some archives + For this, I had to silent the --enable-deterministic-archives + option (https://bugs.llvm.org/show_bug.cgi?id=39789). + Thanks to Rebecca Palmer for the idea + (Closes: #913946) + * Change the i386 base line to avoid using sse2 extension + This is more important now that llvm is built with clang + instead of gcc. + Thanks to Fanael Linithien for the patch + (Closes: #914770, #894840) + + -- Sylvestre Ledru Sat, 01 Dec 2018 11:18:39 +0100 + +llvm-toolchain-7 (1:7.0.1~+rc2-7) unstable; urgency=medium + + * Bring back mips-rdhwr.diff as it isn't in rc2 + + -- Sylvestre Ledru Sun, 25 Nov 2018 17:00:31 +0100 + +llvm-toolchain-7 (1:7.0.1~+rc2-6) unstable; urgency=medium + + [ Samuel Thibault ] + * D53557-hurd-self-exe-realpath.diff: Fix paths returned by + llvm-config (See Bug#911817). + + [ Sylvestre Ledru ] + * Fix the FTBFS on armhf for real! Thanks to Adrian Bunk + Force the activation of FeatureVFP3 & FeatureD16 + + -- Sylvestre Ledru Sat, 24 Nov 2018 09:12:26 +0100 + +llvm-toolchain-7 (1:7.0.1~+rc2-5) unstable; urgency=medium + + [ Samuel Thibault ] + * D54079-hurd-openmp.diff, D54338-hurd-libcxx-threads-build.diff, + D54339-hurd-libcxx-threads-detection.diff, D54378-hurd-triple.diff, + D54379-hurd-triple-clang.diff, D54677-hurd-path_max.diff, + hurd-cxx-paths.diff: New patches to fix hurd build. + + [ Sylvestre Ledru ] + * Remove mips-rdhwr.diff as it has been applied upstream + * Fix a baseline violation on armhf (Closes: #914268) + clang-arm-default-vfp3-on-armv7a.patch has been updated to disable + neon in another place + + -- Sylvestre Ledru Wed, 21 Nov 2018 09:45:00 +0100 + +llvm-toolchain-7 (1:7.0.1~+rc2-4) unstable; urgency=medium + + * Workaround the build issues on armhf + Thanks to Adrian Bunk for the idea + * Remove useless symlink /usr/include/c++ -> ../lib/llvm-7/include/c++ + (Closes: #913400) + + -- Sylvestre Ledru Fri, 16 Nov 2018 22:46:29 +0100 + +llvm-toolchain-7 (1:7.0.1~+rc2-3) unstable; urgency=medium + + * Disable gold for sparc* (Closes: #913260) + * Hide a symbol in openmp for mips64el + * Try to integrate a patch to make pch reproducible + Thanks to Rebecca Palmer for the patch + (Closes: #877359) + * Fix the misscompilation issue causing rustc to crash (Closes: #913271) + Might cause some ABI issues but no real good solution. + See https://bugs.llvm.org/show_bug.cgi?id=39427 + + -- Sylvestre Ledru Thu, 08 Nov 2018 20:50:39 +0100 + +llvm-toolchain-7 (1:7.0.1~+rc2-2) unstable; urgency=medium + + * Fix a non-break space in a patch (Closes: #913213) + + -- Sylvestre Ledru Thu, 08 Nov 2018 09:28:36 +0100 + +llvm-toolchain-7 (1:7.0.1~+rc2-1) unstable; urgency=medium + + * Upload of 7.0.1 rc2 into unstable + * New testing release + * Enable the stage2 bootstrap: + - stage1 = build clang with gcc + - stage2 = clang building itself + (Closes: #909234) + * Bring back the Disable NEON generation on armhf patch which was gone + Should fix the FTBFS on armhf + (Closes: #842142) + * Update the clang manpage to remove osx specific options + and to add -arch (Closes: #743133) + * Bring back usr/lib/@DEB_HOST_MULTIARCH@/{libiomp5.so, libomp5.so} + symlink for gcc (Closes: #912641) + + -- Sylvestre Ledru Wed, 07 Nov 2018 15:17:41 +0100 + +llvm-toolchain-7 (1:7.0.1~+rc2-1~exp1) experimental; urgency=medium + + * New testing release + + -- Sylvestre Ledru Mon, 05 Nov 2018 23:38:34 +0100 + +llvm-toolchain-7 (1:7-9) unstable; urgency=medium + + * Remove the dump of cmake error file (too confusing) + * Try to fix the bootstrap FTBFS : + - on armel by forcing the link to -latomic + - mips-rdhwr.diff: backport D51773 to fix an + assembly issue on mips. + Thanks to jrtc27 for finding the issue. + + -- Sylvestre Ledru Sun, 04 Nov 2018 18:07:23 +0100 + +llvm-toolchain-7 (1:7-8) unstable; urgency=medium + + * Update the watch file to display the right version + (even if the download will fail) + * clang-7 suggests libomp-7-dev instead of libomp-dev + * Make sure that we don't conflict openmp & libc++ with llvm-defaults's + (Closes: #912544) + * Handle better the non coinstability of openmp & libc++ (like we are doing + with python-clang-*) + * Backport upstream fix D51749 to address a rust aarch64 issues + (Closes: #909705) + * Add tests from old bugs to make sure they don't come back + (Closes: #889832, #827866) + * The sanitizers use the versioned llvm-symbolizer provided by the + llvm-X package (Closes: #753572) + + -- Sylvestre Ledru Sat, 20 Oct 2018 16:00:58 +0200 + +llvm-toolchain-7 (1:7-7~exp2) experimental; urgency=medium + + * clangd-atomic-cmake.patch: Link against atomic for clangd in i386 + * When the cmake configure of the stage2 is failing, dump the cmake error log + * Declare some variables (-Wno-*) for all platforms (was failing on mips) + * Update the watch file to display the right version + (even if the download will fail) + * clang-7 suggests libomp-7-dev instead of libomp-dev + * Make sure that we don't conflict openmp & libc++ with llvm-defaults's + (Closes: #912544) + * Handle better the non coinstability of openmp & libc++ (like we are doing + with python-clang-*) + * Backport upstream fix D51749 to address a rust aarch64 issues + (Closes: #909705) + * Add tests from old bugs to make sure they don't come back + (Closes: #889832, #827866) + * The sanitizers use the versioned llvm-symbolizer provided by the + llvm-X package (Closes: #753572) + + -- Sylvestre Ledru Sun, 21 Oct 2018 18:34:20 +0200 + +llvm-toolchain-7 (1:7-7~exp1) experimental; urgency=medium + + * Experiment the clang bootstrap + * Try to bootstrap clang using clang + + -- Sylvestre Ledru Wed, 17 Oct 2018 20:15:57 +0200 + +llvm-toolchain-7 (1:7-7) unstable; urgency=medium + + [ Samuel Thibault ] + * Apply hurd fixes (Closes: #908847). + - hurd-lib_Support_Unix_Path.inc.diff + - hurd-pathmax.diff + - hurd-tools_llvm-shlib_CMakeLists.txt.diff + + -- Sylvestre Ledru Thu, 18 Oct 2018 16:50:58 +0200 + +llvm-toolchain-7 (1:7-6) unstable; urgency=medium + + * Team upload + * Upload to unstable + + -- Gianfranco Costamagna Wed, 17 Oct 2018 11:00:09 +0200 + +llvm-toolchain-7 (1:7-6~exp2) experimental; urgency=medium + + * Disable for now the bootstrapping clang patches + + -- Gianfranco Costamagna Tue, 16 Oct 2018 15:00:46 +0200 + +llvm-toolchain-7 (1:7-6~exp1) experimental; urgency=medium + + * Try to bootstrap (currently in a different branch) + * Split the builds in different make target + * Add python-pygments as dep of llvm-7-tools because + opt-viewer.py needs it + * Add back libomp5-X.Y.symbols.in (untested) + * Fix the install of clang bash completion + * Start the work on bootstraping clang + - bootstrap-with-openmp-version-export-missing.diff: fix a link issue + https://bugs.llvm.org/show_bug.cgi?id=39200 + - bootstrap-fix-include-next.diff: Fix an include issue at bootstrap phase + https://bugs.llvm.org/show_bug.cgi?id=39162 + + [ Gianfranco Costamagna ] + * Take option two in bug #877567 to fix FTBFS on mips and mipsel + + -- Sylvestre Ledru Sat, 06 Oct 2018 23:04:24 +0200 + +llvm-toolchain-7 (1:7-5) unstable; urgency=medium + + * In debci, run qualify-clang.sh in verbose mode + * Only run the g++ test if g++ exist + + [ Reshabh Sharma ] + * Run check-openmp to test OpenMP + + -- Sylvestre Ledru Sat, 06 Oct 2018 08:25:48 +0200 + +llvm-toolchain-7 (1:7-4) unstable; urgency=medium + + * Backport a fix to improve scan-build code error. + Thanks to Roman Lebedev for the fix(Closes: #909662) + * Remove bat files https://bugs.llvm.org/show_bug.cgi?id=30755 + * Install bash-completion for clang + * Disable ocaml on armel + + -- Sylvestre Ledru Wed, 26 Sep 2018 14:32:41 +0100 + +llvm-toolchain-7 (1:7-3) unstable; urgency=medium + + * Fix a syntax issue in a scan-build patch + * Fix the autopkgtest script (no gcc in the test) + * remove dep from lld to llvm-7-dev because lld + doesn't use LLVM LTO + * remove old Replaces/Breaks + * Standards-Version: 4.2.1 + + -- Sylvestre Ledru Fri, 21 Sep 2018 22:48:47 +0200 + +llvm-toolchain-7 (1:7-2) unstable; urgency=medium + + * Fix the ftbfs under armel on libc++ and enable openmp on armel. + Thanks to Adrian Bunk for the patch + * Make libc++, libc++abi & openmp NOT co-installable + Rational: the benefits are limited compared to the drawback. + We should have issues like: + - built with libc++-8-dev + - run with libc++1-7 + (Closes: #903802) + * Remove circular dependency by removing python-lldb-7: Depends: liblldb-7-dev + (Closes: #888889) + + -- Sylvestre Ledru Wed, 19 Sep 2018 14:12:34 +0200 + +llvm-toolchain-snapshot (1:8~svn342269-1) unstable; urgency=medium + + [ Sylvestre Ledru ] + * libc++-8-dev doesn't provide libstdc++-dev anymore (Closes: #908738) + * Build llvm using -DLLVM_USE_PERF=yes (Closes: #908707) + * Only rename libomp when openmp is built + + [ Gianfranco Costamagna ] + * Force polly cmake removal on arch:all because of --fail-missing + + [ Reshabh Sharma ] + * Make OpenMP packages coinstallable from version 7 + * Make libc++ packages coinstallable from version 7 + + [ John Paul Adrian Glaubitz ] + * Add patch to fix missing MultiArch include dir + on powerpcspe (Closes: #908791) + * Disable LLDB on riscv64 + * Fix inverted logic in ifeq statement for POLLY_ENABLE + and OPENMP_ENABLE (Closes: #908646) + * Disable OpenMP on unsupported architecture x32 + * Add patch to fix missing include and library paths on x32 + + [ Gianfranco Costamagna ] + * Install polly only on arch:all packages + * Drop gnustep and gnustep-devel suggestions (Closes: #902847) + * Enable polly on s390x + * Disable omp on armel mips and mipsel for now + + -- Sylvestre Ledru Fri, 14 Sep 2018 21:56:57 +0200 + +llvm-toolchain-snapshot (1:8~svn340819-1) unstable; urgency=medium + + * New snapshot release + * Force sphinx to be >> 1.2.3 + * also ignore libc++experimental.a on dh_strip (fails on stretch) + * Make libc++-8-dev & libc++abi-8-dev coinstallable + * Remove libtool flex, bison, dejagnu, tcl, expect, + and perl from the build deps (testing) + * Disable force-gcc-header-obj.diff as it is introducing + some regressions in the search headers + (Closes: #903709) + * branching to version 8 + - New symbols in libclang: + clang_Cursor_getObjCPropertyGetterName + clang_Cursor_getObjCPropertySetterName + clang_Type_getModifiedType + clang_Type_getNullability + clang_Type_getNumObjCProtocolRefs + clang_Type_getNumObjCTypeArgs + clang_Type_getObjCObjectBaseType + clang_Type_getObjCProtocolDecl + clang_Type_getObjCTypeArg + * python-recommonmark is a new build dep for the sphinx doc + * dh_strip should be verbose + * On Stretch (binutils 2.28), do not run strip on libFuzzer.a, libc++.a + & libc++abi.a because it segfaults + * Fixed "weak-library-dev-dependency libc++-7-dev on libc++-7-helpers" + * Fixed "libomp5-7: shlibs-declares-dependency-on-other-package + libomp5-7) (>= 1:7~svn298832-1~)" + * Also use the local cmake binary if available (for trusty) + and take in account the PRE_PROCESS_CONF option + * Try to fix a FTBFS on jessie with openmp + + [ Gianfranco Costamagna ] + * Add liblldb-8-dev to python-lldb runtime dependencies, needed to import it + * Enable lld on arm64, mips64el + * Enable lldb on mips64el + * Enable lld on ppc64el + + [ John Paul Adrian Glaubitz ] + * Don't build with ld.gold on powerpcspe + * Disable polly on powerpcspe + * Add upstream patch to make rustc build on powerpc + + [ Reshabh Sharma ] + * Integrate opemp as part of the llvm-toolchain packages (Closes: #813672) + As part of this work, the transition libiomp packages have been removed. + + -- Sylvestre Ledru Tue, 28 Aug 2018 16:28:24 +0200 + +llvm-toolchain-7 (1:7.1.0~svn353565-1~exp1) UNRELEASED; urgency=medium + + * New stable release. + To be clear, this is the same as release 7.0.1 + To be ABI compliant in Debian between 7 and 7.0.1, + I took the pr39427-misscompile.diff. + 7.1.0 is an official release for downstream users to bring + back the ABI comptability. + I am uploading this new version in the archive to: + - avoid question like "why we don't have 7.1.0 in the archive?" + - align with upstream + - clearly show that we kept the ABI + Upstream decided to rename the library from 7 to 7.1.0 + As I kept the ABI, I reverted the patches (debian/patches/7.1.0/*) + More info on https://bugs.llvm.org/show_bug.cgi?id=39427 + and https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=913271 + + -- Sylvestre Ledru Sat, 09 Feb 2019 16:34:12 +0100 + +llvm-toolchain-7 (1:7.0.1-7) unstable; urgency=medium + + * kfreebsd/kfreebsd-triple-clang.diff: update of the patch to fix + the kfreebsd FTBFS (Closes: #921246) + * Enable ld gold for kfreebsd-amd64 and kfreebsd-i386 + Many thanks to Svante Signell for the two updates + + -- Sylvestre Ledru Thu, 07 Feb 2019 17:17:40 +0100 + +llvm-toolchain-7 (1:7.0.1-6) unstable; urgency=medium + + * Add support for kfreebsd (Closes: #921246) + Many thanks to Svante Signell for all patches + + -- Sylvestre Ledru Sun, 03 Feb 2019 17:27:51 +0100 + +llvm-toolchain-7 (1:7.0.1-5) unstable; urgency=medium + + * Add 'Rules-Requires-Root: no' in debian/control + * llvm-7-examples: Force the same version of llvm-7-dev to mitigate + a debci issue + https://ci.debian.net/data/autopkgtest/unstable/amd64/l/llvm-toolchain-7/1635547/log.gz + * Add 'Rules-Requires-Root: no' in debian/control + * Because more and more tools in clang-tools are in python, add + the dependency + + -- Sylvestre Ledru Fri, 04 Jan 2019 16:00:41 +0100 + +llvm-toolchain-7 (1:7.0.1-4) unstable; urgency=medium + + * On old Debian/Ubuntu, run dh_strip using fakeroot to mitigate + a permission issue + + [ Gianfranco Costamagna ] + * Ignore a test result on i386, due to upstream bug 26580#c18 + + * Stable release + * Also manages clang-X as tool for scan-build + see https://reviews.llvm.org/D52151 + + -- Sylvestre Ledru Mon, 17 Sep 2018 13:51:03 +0200 + +llvm-toolchain-7 (1:7~+rc3-5) unstable; urgency=medium + + [ John Paul Adrian Glaubitz ] + * Add patch to fix missing include and library paths on x32 + + [ Sylvestre Ledru ] + * Only rename libomp when openmp is built + + -- John Paul Adrian Glaubitz Fri, 14 Sep 2018 19:54:38 +0200 + +llvm-toolchain-7 (1:7~+rc3-4) unstable; urgency=medium + + [ Sylvestre Ledru ] + * libc++-7-dev doesn't provide libstdc++-dev anymore (Closes: #908738) + + [ Gianfranco Costamagna ] + * Force polly cmake removal on arch:all because of --fail-missing + + [ Reshabh Sharma ] + * Make OpenMP packages coinstallable from version 7 + * Make libc++ packages coinstallable from version 7 + + [ John Paul Adrian Glaubitz ] + * Add patch to fix missing MultiArch include dir + on powerpcspe (Closes: #908791) + * Disable LLDB on riscv64 + + -- Sylvestre Ledru Fri, 14 Sep 2018 11:27:28 +0200 + +llvm-toolchain-7 (1:7~+rc3-3) unstable; urgency=medium + + [ John Paul Adrian Glaubitz ] + * Disable OpenMP on unsupported architecture x32 + + [ Sylvestre Ledru ] + * Build llvm using -DLLVM_USE_PERF=yes (Closes: #908707) + + [ Gianfranco Costamagna ] + * Install polly only on arch:all packages + + -- Gianfranco Costamagna Thu, 13 Sep 2018 09:31:29 +0200 + +llvm-toolchain-7 (1:7~+rc3-2) unstable; urgency=medium + + [ John Paul Adrian Glaubitz ] + * Fix inverted logic in ifeq statement for POLLY_ENABLE + and OPENMP_ENABLE (Closes: #908646) + + [ Gianfranco Costamagna ] + * Drop gnustep and gnustep-devel suggestions (Closes: #902847) + * Enable polly on s390x + * Disable omp on armel mips and mipsel for now + + -- Gianfranco Costamagna Wed, 12 Sep 2018 10:58:12 +0200 + +llvm-toolchain-7 (1:7~+rc3-1) unstable; urgency=medium + + [ John Paul Adrian Glaubitz ] + * Disable OpenMP on unsupported architectures powerpc, + powerpcspe, riscv64 and sparc64 (Closes: #907912) + + [ Sylvestre Ledru ] + * New snapshot release + + -- Sylvestre Ledru Mon, 10 Sep 2018 17:01:25 +0200 + +llvm-toolchain-7 (1:7~+rc2-1~exp3) experimental; urgency=medium + + * Remove libtool flex, bison, dejagnu, tcl, expect, + and perl from the build deps (testing) + * Disable force-gcc-header-obj.diff as it is introducing + some regressions in the search headers + (Closes: #903709) + + [ Gianfranco Costamagna ] + * Fix build on armhf, by removing some installed package + * Fix build on s390x, by disabling OpenMP + * Add liblldb-7-dev to python-lldb runtime dependencies, needed to import it + * Enable lld on arm64, mips64el + * Enable lldb on mips64el + + [ Reshabh Sharma ] + * Add version for libc++ and OpenMP packages breaks/replaces + * Remove libc++-helpers package + - No real value + - Just two scripts + - Command line arguments aren't that complex + * Fix autopkgtest support + + -- Sylvestre Ledru Mon, 03 Sep 2018 09:16:22 +0200 + +llvm-toolchain-7 (1:7~+rc2-1~exp2) experimental; urgency=medium + + * Force sphinx to be >> 1.2.3 + * Also ignore libc++experimental.a on dh_strip (fails on stretch) + * Make libc++-7-dev & libc++abi-7-dev coinstallable + + [ John Paul Adrian Glaubitz ] + * Don't build with ld.gold on powerpcspe + * Disable polly on powerpcspe + * Add upstream patch to make rustc build on powerpc + + [ Gianfranco Costamagna ] + * Enable lld on ppc64el + + -- Sylvestre Ledru Mon, 27 Aug 2018 10:57:41 +0200 + +llvm-toolchain-7 (1:7~+rc2-1~exp1) experimental; urgency=medium + + * New snapshot release + * dh_strip should be verbose + * On Stretch (binutils 2.28), do not run strip on libFuzzer.a, libc++.a + & libc++abi.a because it segfaults + * Fixed "weak-library-dev-dependency libc++-7-dev on libc++-7-helpers" + * Fixed "libomp5-7: shlibs-declares-dependency-on-other-package + libomp5-7) (>= 1:7~svn298832-1~)" + * Also use the local cmake binary if available (for trusty) + and take in account the PRE_PROCESS_CONF option + + [ Reshabh Sharma ] + * Fixed "Lintian warnings for libc++abi-7-dev package" + - Warning: libc++abi-7-dev: breaks-without-version libc++-dev + - Warning: libc++abi-7-dev: breaks-without-version libc++abi-dev + - Warning: llvm-toolchain-7 source: binaries-have-file-conflict + libc++abi-7-dev libc++abi1-7 usr/lib/llvm-7/lib/libc++abi.so + + -- Sylvestre Ledru Thu, 16 Aug 2018 17:49:31 +0200 + +llvm-toolchain-7 (1:7~+rc1-1~exp2) experimental; urgency=medium + + * Disable force-gcc-header-obj.diff as it is introducing + some regressions in the search headers + (Closes: #903709) + * libc++-7-dev should depend on libc++-7-helpers (and not + libc++-helpers) + * Fix the links in the helper package + + [ Reshabh Sharma ] + * Fix the path to libc++ header + * libc++.so was in two packages + + -- Sylvestre Ledru Wed, 15 Aug 2018 15:27:57 +0200 + +llvm-toolchain-7 (1:7~+rc1-1~exp1) experimental; urgency=medium + + * First testing release of 7 + - Rename packages + - Update the VCS-* URL + * Standards-Version to 4.2.0 + + [ Dimitri John Ledkov ] + * Enable lldb on ppc64el LP: #1777136 + + [ Reshabh Sharma ] + * Integrate libcxx and libcxxabi as part of the llvm-toolchain packages + Very similar to the previous packages + except that libc++abi-7-test & libc++-7-test are no longer shipped + Outcome of the LLVM GSoC 2018 + (Closes: #813673) + + -- Sylvestre Ledru Tue, 07 Aug 2018 19:25:09 +0200 + +llvm-toolchain-snapshot (1:7~svn336894-1~exp1) experimental; urgency=medium + + [ Reshabh Sharma ] + * Integrate opemp as part of the llvm-toolchain packages (Closes: #813672) + As part of this work, the transition libiomp packages have been removed. + + [ Sylvestre Ledru ] + Bravo to Reshabh Sharma for his work + * Also ship diagtool in clang-tools-X + * Also ship hmaptool in clang-tools-X + * Enable WebAssembly & AVR as experimental archs (Closes: #899202) + * d/p/force-gcc-header-obj.diff Fix the detection of the objc path + * clang_getCompletionFixIt, clang_getCompletionNumFixIts & getTokenclang + added as new symbols of libclang1 + * Fix the version with snapshot packages + Fixes upstream issue https://bugs.llvm.org/show_bug.cgi?id=37729 + + [ Gianfranco Costamagna ] + * Bump std-version to 4.1.5, no changes required + + [ Reshabh Sharma ] + * Updated debian/control with breaks, provides and conflicts for OpenMP + packages (Closes: #903802) + + -- Sylvestre Ledru Wed, 09 May 2018 14:23:49 +0200 + +llvm-toolchain-snapshot (1:7~svn330801-1~exp2) experimental; urgency=medium + + * d/p/force-gcc-header-obj.diff Fix the detection of the objc path + * Add python-yaml as dep for clang-tidy (Closes: #890514) + * d/p/impl-path-hurd.diff: Try to fix an issue with hurd + + [ Peter Wu ] + * Make CMake find_package(Clang) work. Fixes upstream bug + https://bugs.llvm.org/show_bug.cgi?id=37128 + - Move Clang*.cmake back to /usr/lib/llvm-X.Y/lib/cmake/clang and install a + symlink in /usr/lib/cmake/clang-X.Y. + - Ensure that the LLVM installation prefix is correctly discovered despire + symlinks (replaces fix-cmake-config-prefix.diff). + - Create /usr/lib/llvm-X.Y/bin/clang-X.Y symlink as required by + ClangTargets-relwithdebinfo.cmake. + - Remove useless LLVM_CMAKE_DIR sed command that did not match anything. + - Ignore missing binaries in ClangTargets-relwithdebinfo.cmake. + + -- Sylvestre Ledru Mon, 07 May 2018 23:27:26 +0200 + +llvm-toolchain-6.0 (1:6.0.1~+rc1-1~exp1) experimental; urgency=medium + + * New snapshot release + * Fix a typo in the debci + + -- Sylvestre Ledru Thu, 26 Apr 2018 08:02:09 +0200 + +llvm-toolchain-6.0 (1:6.0-3) unstable; urgency=medium + + * Remove sysconf_interceptor_bypass_test.cc because it makes + Debian unstable and Ubuntu bionic freeze + * Remove the info text from the manpages (Closes: #894734) + * Remove a bunch of old unused patches + * Fix debian-watch-uses-insecure-uri as upstream has now https + * Standards-Version updated to 4.1.3 + * llvm-dsymutil has been renamed to dsymutil + * Remove sysconf_interceptor_bypass_test.cc because it makes + Debian unstable and Ubuntu bionic freeze + * library-binary-filename.diff removed (applied upstream) + * Add clang_File_tryGetRealPathName as new symbol in libclang + + [ Reshabh Sharma ] + * Enable autopkgtest for amd64 & i386 on the llvm test suite + (Closes: #774294) + + [ Nicholas D Steeves ] + * Fix the lintian error 'privacy-breach-uses-embedded-file' + (Closes: #829361) + + [ Athos Ribeiro ] + * Create symlink to run-clang-tidy-X.Y.py to remove its .py extension + (Closes: #892089) + + [ David Tenty ] + * Migrate to automatic debug packages (Closes: #893267) + + [ Sylvestre Ledru ] + * New snapshot release + + -- Sylvestre Ledru Wed, 25 Apr 2018 10:59:20 +0200 + +llvm-toolchain-snapshot (1:7~svn327768-1) unstable; urgency=medium + + * New snapshot release + * create the directory for the mips stuff + * Fail the build when new symbols are added + * 5 new symbols: + - clang_PrintingPolicy_dispose + - clang_PrintingPolicy_getProperty + - clang_PrintingPolicy_setProperty + - clang_getCursorPrettyPrinted + - clang_getCursorPrintingPolicy + * Use upstream ld.lld manpage instead of help2man + * Move the VCS to git. + Many thanks to James Clarke for doing the conversion + * Create the directory before having the manpages generated + * clang-tidy-7 also depends on clang-tools-7 for, at least + clang-apply-replacements + * Automatically update the debian/README + * clang-tidy-7: depends on libclang-common-7-dev + (Closes: #891999) + + [ James Clarke ] + * Disable LLDB on powerpcspe + + -- Sylvestre Ledru Sat, 17 Mar 2018 14:56:19 +0100 + +llvm-toolchain-snapshot (1:7~svn323616-1~exp1) experimental; urgency=medium + + * New snapshot release + * Fix llvm-config with the change of versioning (Closes: #888592) + * Update the creation of the README to unbreak the mips* FTBFS + * Update of the clang-tools-X.Y description + * ignore source: source-is-missing lldb/unittests/ + + -- Sylvestre Ledru Sun, 28 Jan 2018 13:43:37 +0100 + +llvm-toolchain-snapshot (1:7~svn322880-1) unstable; urgency=medium + + * Change the versioning from X.Y to X as upstream is using + X.Y.Z and X + I am keeping the epoch because it would be too complex to manage + with the various updates scenario + * Two new symbols in libclang + - clang_getFileContents + - clang_isInvalidDeclaration + * Fix the VCS-* tags + + -- Sylvestre Ledru Thu, 18 Jan 2018 20:50:03 +0100 + +llvm-toolchain-6.0 (1:6.0.1-11) unstable; urgency=medium + + * Remove 'Multi-Arch: same' in libclang + (Closes: #874248) + * Cherry-pick various llvm fixes for Julia + (Closes: #919628) + + -- Sylvestre Ledru Sat, 09 Feb 2019 17:22:59 +0100 + +llvm-toolchain-6.0 (1:6.0.1-10) unstable; urgency=medium + + * Fix a baseline violation on armhf (Closes: #914268) + Thanks to Adrian Bunk + doing that for the Julia package. + + [ John Paul Adrian Glaubitz ] + * Add patch to fix missing include and library paths on x32 + + -- Sylvestre Ledru Wed, 23 Jan 2019 23:25:50 +0100 + +llvm-toolchain-6.0 (1:6.0.1-9.2) unstable; urgency=medium + + * Non-maintainer upload. + * debian/patches/D53557-hurd-self-exe-realpath.diff: Fix paths returned by + llvm-config (Closes: Bug#911817). + + -- Samuel Thibault Wed, 24 Oct 2018 22:44:54 +0000 + +llvm-toolchain-6.0 (1:6.0.1-9.1) unstable; urgency=medium + + * Non-maintainer upload. + * Apply hurd fixes (Closes: #908847). + - hurd-lib_Support_Unix_Path.inc.diff + - hurd-pathmax.diff + - hurd-tools_llvm-shlib_CMakeLists.txt.diff + + -- Samuel Thibault Tue, 16 Oct 2018 20:18:39 +0000 + +llvm-toolchain-6.0 (1:6.0.1-8) unstable; urgency=medium + + [ John Paul Adrian Glaubitz ] + * Fix inverted logic in ifeq statement for POLLY_ENABLE (Closes: #908646) + + [ Gianfranco Costamagna ] + * Fixup the polly installation failure where polly is not built + * Add s390x to polly architectures + * Fix typo in rules file + + [ Sylvestre Ledru ] + * Disable sse2 on pentium4 arch (Closes: #632472) + + -- Sylvestre Ledru Thu, 13 Sep 2018 10:04:42 +0200 + +llvm-toolchain-snapshot (1:6.0~svn321385-1) unstable; urgency=medium + + * Snapshot upload before rc1 (January) + * Create clang-tools-6.0 and move the various clang tools into it + clang-tools-6.0 depends on clang-6.0. This might affect some packages. + (Closes: #836397) + * Bring back the libedit support in lldb + Fix upstream bug https://bugs.llvm.org/show_bug.cgi?id=35291 + * Also ship ld64.lld and wasm-ld in the lld-X.Y package + * Update d/rules to reflect the move of libfuzzer into compiler-rt + * Update of the copyright file (Closes: #878502) + Thanks to Nicholas D Steeves for the work + * Try to fix the mipsel FTBFS (Closes: #877567) + I am trying the first option from the bug: + - gsplit-dward on 32 bits archs + - -g everywhere + Many thanks to Adrian Bunk for that + * Use ?= for some variables declarations + * Remove the hardcoded declarations of llvm version in debian/rules + * add /usr/lib/cuda to the CUDA toolkit search paths + Thanks to Andreas Beckmann for the patch (Closes: #882505) (LP: #1706326) + * Fix the fix-scan-view-path.diff path + * Move libomp-dev from Suggests to Recommends (Closes: #882781) + * Add a symlink to fix lldb-X.Y (Closes: #881993) + * Remove update-cuda-search-path.patch (applied upstream) + * Also install usr/bin/lldb-test-6.0 + * liblld-6.0-dev depends on liblld-6.0 (Closes: #856545) + * Add new symbols for libclang1: + - clang_CXIndex_setInvocationEmissionPathOption + - clang_CXXRecord_isAbstract + - clang_Cursor_getObjCManglings + - clang_getCursorTLSKind + * add test-keep-alive.diff to improve the keep alive for some + archs like mips* + * Standards-Version: 4.1.1 + * remove liblld-6.0-dbg for now + + -- Sylvestre Ledru Fri, 22 Dec 2017 21:41:17 +0100 + +llvm-toolchain-snapshot (1:6.0~svn315736-1) unstable; urgency=medium + + * New snapshot + * Ship liblldMinGW lld lib + * Ship clang-refactor & clang-func-mapping in clang-X.Y + * Remove the -Wl option to call gold instead of the normal linker + (Closes: #876787) + * Force the deactivation of ocaml until the transition is done + * Standards Version 4.1.0 + + [ Gianfranco Costamagna ] + * Enable ocaml on release architectures. + * Add NDEBUG flag, lost in the -g -> -g1 switch + + [ Matthias Klose ] + * Link with --no-keep-files-mapped --no-map-whole-files when using gold. + * build using gold on arm64 and s390x. For backports, arm64 might still + need the BFD linker, and building with only one or two processes in + parallel. + * On amd64, s390x, arm64 and ppc64el, build with -g1 instead of -g. + * Set CMAKE_CXX_FLAGS_RELWITHDEBINFO and pass opt_flags. + + -- Sylvestre Ledru Mon, 11 Sep 2017 22:27:20 +0200 + +llvm-toolchain-snapshot (1:6.0~svn311834-2) unstable; urgency=medium + + * Fix the FTBFS because of -gsplit-dwarf: + - Only enable it on archs which needs it + - Only enable it when gcc supports it correctly + * Fail the build if the arch + gcc has a broken gsplit-dwarf support + + -- Sylvestre Ledru Thu, 31 Aug 2017 19:14:53 +0200 + +llvm-toolchain-snapshot (1:6.0~svn311834-1) unstable; urgency=medium + + * Link LLDB with -latomic on powerpcspe (Closes: #872267) + * Fix the C++ include path order (Closes: #859083) + * Disable -gsplit-dwarf when using gcc 7 for causing a linking issue + See https://bugs.llvm.org/show_bug.cgi?id=34140 + (Closes: #853525) + * clang was producing unusable binaries on armv5tel (Closes: #873307) + Thanks to Adrian Bunk for the patch + * With Ubuntu Trusty (for apt.llvm.org), the build fails + on internal compiler error: in output_index_string, at dwarf2out.c:218 + force the usage of gcc 4.9 + + -- Sylvestre Ledru Sat, 26 Aug 2017 22:35:00 +0200 + +llvm-toolchain-snapshot (1:6.0~svn310776-1) unstable; urgency=medium + + * We moved from 5.0 to 6.0 + * Ship the opt-viewer new program as part of llvm-6.0 tools + * ld.lld manpage wasn't installed + * Disable the clang-fix-cmpxchg8-detection-on-i386.patch patch + because breaks the build with + 'error: 'isCmpXChg8Supported' was not declared in this scope' + * Remove usr/bin/liblldb-intel-mpxtable.so-6.0 as it seems to be removed + from usptream + * Force the usage of gcc 6 until the link issues with gcc 7 are fixed + https://bugs.llvm.org/show_bug.cgi?id=34140 + + [ Katsuhiko Nishimra ] + * Ensure /usr/bin/g++-$(GCC_VERSION) exists (Closes: #871591) + + -- Sylvestre Ledru Thu, 27 Jul 2017 23:16:06 +0200 + +llvm-toolchain-snapshot (1:5.0~svn305653-1) unstable; urgency=medium + + [ Gianfranco Costamagna ] + * Re-add clang-doc documentation + + [ Sylvestre Ledru ] + * New snapshot release + * Fix a hurd PATH_MAX issue + * Transform the lldb swig check from a error to a warning + * Add libomp-dev to the suggests of clang + * Add Provides on python-lldb-x.y & python-clang-x.y & libllvm-x.y-ocaml-dev + to avoid the recurring problem about conflicts + (Closes: #835546, #863739, #863742) + * Standards-Version => 4.0.0 + * Generate the llvm-tblgen, clang-change-namespace, clang-offload-bundler + lld, clang++, clang-check, clang-cpp & clang-import-test manpages + * Remove the --no-discard-stderr option from help2man calls + * use -DPOLLY_BUNDLED_JSONCPP=OFF & add pkg-config as a dep (to help find + the files) + + -- Sylvestre Ledru Fri, 09 Jun 2017 12:04:56 +0200 + +llvm-toolchain-snapshot (1:5.0~svn302368-1~exp1) experimental; urgency=medium + + * Only enable libfuzzer for Linux kernel. + Thanks to Pino Toscano for the patch + * Add option -DPOLLY_BUNDLED_JSONCPP=ON + to use the system lib instead of the patch d/p/use-deb-json.diff + * New symbols added in libclang + - clang_EvalResult_getAsLongLong + - clang_EvalResult_getAsUnsigned + - clang_EvalResult_isUnsignedInt + - clang_TargetInfo_dispose + - clang_TargetInfo_getPointerWidth + - clang_TargetInfo_getTriple + - clang_Type_isTransparentTagTypedef + - clang_getAllSkippedRanges + - clang_getTranslationUnitTargetInfo + + -- Sylvestre Ledru Sun, 07 May 2017 12:13:43 +0200 + +llvm-toolchain-snapshot (1:5.0~svn298899-1) unstable; urgency=medium + + * Limit the archs where the ocaml binding is built + Should fix the FTBFS + Currently amd64 arm64 armel armhf i386 + * d/p/add_symbols_versioning.patch removed (applied upstream) + * Really fix "use versioned symbols" for llvm + Thanks to Julien Cristau for the patch (Closes: #849098) + * Explicit the dep of clang-tidy on same version of llvm to avoid + undefined symbols + * Add override_dh_makeshlibs for the libllvm or liblldb versions + Thanks to Julien Cristau for the patch + * change the min version of the libclang1 symbols to 1:4.0-3~ + * Fix the symlink on scan-build-py + * add libncurses in the list of build deps (Closes: #861170) + + [ Rebecca N. Palmer ] + * Use versioned symbols (Closes: #848368) + + -- Sylvestre Ledru Sun, 09 Apr 2017 10:11:56 +0200 + +llvm-toolchain-snapshot (1:5.0~svn294583-1~exp1) experimental; urgency=medium + + * New snapshot release + * New library liblldb-intel-mpxtable.so + * Fix the incorrect symlink to scan-build-py (Closes: #856869) + * Explicit the dep of clang-format on same version of llvm to avoid + undefined symbols + + -- Sylvestre Ledru Mon, 16 Jan 2017 09:03:48 +0100 + +llvm-toolchain-snapshot (1:5.0~svn292017-1~exp1) experimental; urgency=medium + + * New snapshot release + snapshot is now 5.0 + * d/p/silent-amdgpu-test-failing.diff silent amdgpu tests failing + (see upstream bug 31610) + * d/p/lldb-server-link-issue.patch removed, merged upstream + * Also install python-lldb-5.0 when installing lldb-5.0 (Closes: #851171) + * Bring back the content of llvm-5.0-doc (Closes: #844616) + * Bring back the content of llvm-4.0-doc (Closes: #844616) + * d/p/pthread-link.diff Hardcode like to pthread which was missing for + libclang + + -- Sylvestre Ledru Sat, 14 Jan 2017 16:36:51 +0100 + +llvm-toolchain-snapshot (1:4.0~svn291344-1) unstable; urgency=medium + + * New snapshot release + * Disable libedit usage in lldb because of garbage (Closes: #846616, #850111) + * Build lld + - d/p/lld-arg-cmake-issue.diff fixes upstream bug #27685 + * ship clang-tblgen + * Run clang extra test suite + * Fix the detection of lldb-server + * Fix the run of the check-lldb target + + -- Sylvestre Ledru Sat, 07 Jan 2017 12:24:32 +0100 + +llvm-toolchain-snapshot (1:4.0~svn290810-1) unstable; urgency=medium + + * New snapshot release + * d/p/kfreebsd-support.diff removed (applied upstream) + * debian/orig-tar.sh: less verbose + * d/p/lldb-missing-install.diff: For the install + of lldb-server and lldb-argdumper as they are not always installed + * Ship new binary in clang-X.Y: clang-import-test + * New symbols in libclang1: + - clang_EvalResult_getAsLongLong + - clang_EvalResult_getAsLongLong + - clang_EvalResult_isUnsignedInt + * Fix a regression in the test run for the code coverage + * Silent ThinLTO/X86/autoupgrade.ll, fails with code coverage (and maybe others) + + -- Sylvestre Ledru Mon, 02 Jan 2017 13:51:06 +0100 + +llvm-toolchain-snapshot (1:4.0~svn286225-1) unstable; urgency=medium + + * New snapshot release + * Remove the info section from the generated manpages (Closes: #846269) + + [ Kai Wasserbäch ] + * debian/patches/{0003-Debian-version-info-and-bugreport.patch, + 0044-soname.diff,23-strlcpy_strlcat_warning_removed.diff, + 26-set-correct-float-abi.diff,atomic_library_[12].diff, + fix-clang-path-and-build.diff,fix-lldb-server-build,lldb-libname.diff, + lldb-soname.diff,mips-fpxx-enable.diff,removeduplicatedeclaration.diff}: + Refreshed. + * debian/patches/{silent-gold-utils,kfreebsd-support}.diff: Updated. + + -- Sylvestre Ledru Tue, 08 Nov 2016 12:19:55 +0100 + +llvm-toolchain-snapshot (1:4.0~svn282142-1~exp1) experimental; urgency=medium + + * The libstdc++-6-dev & libobjc-6-dev are only install with clang-X.Y + and libclang-X.Y-dev and no longer with libclang1-X.Y + (Closes: #841309) + * Fix the VCS-* fields + + [ Kai Wasserbäch ] + * debian/patches/{23-strlcpy_strlcat_warning_removed.diff, + 0003-Debian-version-info-and-bugreport.patch, atomic_library_[12].diff, + python-clangpath.diff,removeduplicatedeclaration.diff, + fix-clang-path-and-build.diff,mips-fpxx-enable.diff}: Refreshed. + * debian/patches/{silent-more-tests.diff,silent-MCJIIT-tests.diff}: Updated. + + -- Sylvestre Ledru Mon, 24 Oct 2016 10:45:07 +0200 + +llvm-toolchain-3.9 (1:3.9-6) unstable; urgency=medium + + * Fix segfaults in the memory sanitizers (Closes: #842642) + Caused by the newer glibc. Many thanks for Nobert Lange for everything + * Enable the sanitizers testsuite + + -- Sylvestre Ledru Fri, 11 Nov 2016 17:01:38 +0100 + +llvm-toolchain-3.9 (1:3.9-5) unstable; urgency=medium + + * d/p/0011-SimplifyCFG-Hoisting-invalidates-metadata.patch: Also apply bug 29163 + to fix some issues in rust (Closes: #842956) + Many thanks to Ximin Luo for the investigation + + * libclang-common-4.0-dev: missing multilib binaries for the sanitizer + libraries (Closes: #841923) + Many thanks to Norbert Lange for the changes + + [ Pauli ] + * d/p/clang-fix-cmpxchg8-detection-on-i386.patch: + libcxx atomic tests for old i386 fail with wrong Atomic inline width. + Needed for libc++ + (See https://llvm.org/bugs/show_bug.cgi?id=19355) + * d/p lldb-addversion-suffix-to-llvm-server-exec.patch: + Fix the lldb-server call in some cases + + -- Sylvestre Ledru Fri, 04 Nov 2016 17:18:07 +0100 + +llvm-toolchain-3.9 (1:3.9-4) unstable; urgency=medium + + * LLVMConfig.cmake was installed into wrong location + Install a symlink from lib/cmake/llvm to share/llvm/cmake + (Closes: #839234) + * Fix a path issue in scan-view. Thanks Riccardo Magliocchetti + (Closes: #838572) + + -- Sylvestre Ledru Mon, 31 Oct 2016 10:47:52 +0100 + +llvm-toolchain-3.9 (1:3.9-3) unstable; urgency=medium + + [ Sylvestre Ledru ] + * The libstdc++-6-dev & libobjc-6-dev are only install with clang-X.Y + and libclang-X.Y-dev and no longer with libclang1-X.Y + (Closes: #841309) + + [ Gianfranco Costamagna ] + * Team upload + * d/p/drop-wrong-hack-arm64.patch: + - drop hack that was preventing the package from building on + non-amd64 64bit architectures: + + -- Gianfranco Costamagna Thu, 27 Oct 2016 11:45:28 +0200 + +llvm-toolchain-snapshot (1:4.0~svn280796-1~exp1) experimental; urgency=medium + + * Merge clang-include-fixer-4.0 into clang-4.0. Don't think + it deserves it own package + * python-lldb-4.0 archs "any" to a list like others pkg + * Fix a version issue with run-clang-tidy-4.0.py + * Also install clang-change-namespace-4.0 + + [ Kai Wasserbäch ] + * debian/clang-X.Y.install.in: Added clang-cpp. + * debian/patches: Refreshed. + + -- Sylvestre Ledru Fri, 02 Sep 2016 13:11:56 +0200 + +llvm-toolchain-3.9 (1:3.9-1) unstable; urgency=medium + + * New stable release + * Port to kfreebsd. Many thanks to Pino Toscano + (Closes: #835665) + * clang_getAllSkippedRanges in the list of libclang1 symbols + * Try to disable the execution of the testsuite for scan-build & coverity + for real + * Also ship clang-reorder-fields as part of the clang-4.0 package + * Build lldb on arm64. Hopefully, works. + * New snapshot release + * Tentative fix for lldb-server build + + -- Sylvestre Ledru Wed, 07 Sep 2016 12:02:12 +0200 + +llvm-toolchain-snapshot (1:4.0~svn279916-1) unstable; urgency=medium + + * Snapshot is now 4.0 + * Introduce clang-include-fixer-4.0 + * Fix the usage of jsoncpp in polly. Thanks to James Clarke for the patch + (Closes: #835607) + * Fix the renaming of the manpages (Closes: #834077) + * Use the manpage from clang.rst instead of help2man + * Disable the build of lldb on mips64el, ppc64 and s390x for real + * Add symlink from ./build to ../share and ../lib etc + Thanks to Ximin Luo for the patch (Closes: #834144) + * Sync the 3.9 changes into 4.0 + * Fix the cmake paths in llvm-4.0-dev deb package. Thanks to Brad King + for the patch (Closes: #819072) + * Bring back the lto (gone with the cmake migration) + (Closes: #819333) (upstream: #27223) + * LLVMConfig.cmake is now installed to /lib/cmake/llvm instead of + /share/llvm/cmake + Thanks to Brad King of the fix + * Disable lldb on sparc64 (Closes: #832371) + * Also install clang-rename.el & clang-rename.py in clang-4.0 + * scan-build llvm results are built using --show-description + * Generate manpages for lli, lldb-mi & git-clang-format + * Fix some lintian overrides + * Generate more manpages + * Remove some garbage from the manpages (Closes: #815991, #804347) + * Disable -gsplit-dwarf on Ubuntu precise + * Update the coverity configuration (Debian has moved to gcc 6) + * remove compiler-rt-path.diff (file removed upstream, probably because + we moved to cmake) + * Ship clang-offload-bundler in clang 4.0 + * Set the correct Conflicts for python-clang-4.0, python-lldb-4.0 + (Closes: #832410) + + -- Sylvestre Ledru Sat, 27 Aug 2016 14:19:41 +0200 + +llvm-toolchain-snapshot (1:4.0~svn275970-1~exp1) experimental; urgency=medium + + * New snapshot release + * Bring back llvm-4.0-tools to life + * ship clang-tblgen & yaml-bench as part of the libclang-common-X.Y-dev + package + + * amd64 llvm testsuite is green, bring back the failure in case of error + * Fix the cmake paths in llvm-3.9-dev deb package. Thanks to Brad King + for the patch (Closes: #819072) + + -- Sylvestre Ledru Mon, 25 Jul 2016 12:18:52 +0200 + +llvm-toolchain-3.9 (1:3.9~svn275918-1~exp1) experimental; urgency=medium + + * New snapshot release + * Silent test CodeGen/SPARC/LeonInsertNOPsDoublePrecision.ll + * ship lli-child-target as part of the llvm-X.Y-runtime package + * Bring back llvm-3.9-tools to life + * ship clang-tblgen & yaml-bench as part of the libclang-common-X.Y-dev + package + * ship lli-child-target as part of the llvm-X.Y-runtime package + + -- Sylvestre Ledru Tue, 19 Jul 2016 15:34:08 +0200 + +llvm-toolchain-snapshot (1:3.9~svn274438-1) unstable; urgency=medium + + * Remove the autoconf section + * Bring back the removal of the build dir + * Fix the coverage builds (didn't allow several cflags) + * Set the correct conflicts on python-lldb-3.8 (Closes: #817873) + * Set the correct conflicts on python-clang-3.8 (Closes: #817872) + * remove llvm26003-sanitizer-check-env.diff (merged upstream) + * Do not fail the build if the manpages cannot be built (failing on + Ubuntu precise) + * Install libfindAllSymbols.a as part of libclang-X.Y-dev + * Ship scan-build-py + * Use the libjsoncpp library embedded (fails to link otherwise) + * Standards-Version 3.9.8 + * cmake files moved from usr/lib/llvm-3.9/share/llvm/cmake/ + to usr/lib/llvm-3.9/lib/cmake/llvm/ + (upstream change) + * Add a symlink from usr/lib/llvm-3.9/share/llvm/cmake + pointing to usr/share/llvm-3.9/cmake + * Disable the run of lldb testsuite because of LLVM_LINK_LLVM_DYLIB=ON: + https://llvm.org/bugs/show_bug.cgi?id=28127 + * Add -gsplit-dwarf to CXXFLAGS to workaround the memory allocation + issue on i386 + * Ignore the lintian override about embedded-library for json. + Doesn't link otherwise + * Fix the soname of libclang and libLLVM. Might cause some breakage with + existing app but no choice... + + [ Pablo Oliveira ] + * Add python-six as a dependency of python-lldb (Closes: #825371) + (thanks to Askar Safin) + * Fix lldb symlinks + * Fix missing _lldb.so import during lldb testsuite + + [ Ed Schouten ] + * Preparation of the support of lld (not ready yet) + + [ Kai Wasserbäch ] + * debian/rules: + - Ensure ld-gold is used. CMake invokes the linker through g++ most of the + time, therefore we need to set -Wl,-fuse-ld=gold. + - Remove unused variable "confargs". + + [ Brad King ] + * Install cmake files in usr/share/llvm-@LLVM_VERSION@/cmake/ instead of + usr/share/llvm-@LLVM_VERSION@/cmake/ + * Also install libLLVM-3.8.so.1 as a symlink + * debian/patches/fix-cmake-config-prefix.diff: + cover the CMake build system too + (Closes: #819072) + + [ Alexis La Goutte ] + * Fix an issue with scan-view (Closes: #825101) + + [ YunQiang Su ] + * Enable FPXX by default on mips/mipsel (Closes: #826749) + + -- Sylvestre Ledru Sat, 02 Jul 2016 20:46:05 +0200 + +llvm-toolchain-snapshot (1:3.9~svn260851-1) unstable; urgency=medium + + * New snapshot + * Switch to 3.9 (remove lldb-3.9-dev as it was a transitionnal pkg) + * Update the clang description for something more accurate (C++-11, 14, etc) + * Cmake migration. Done by Andrew Wilkins. Many thanks to him + - Update patches to set SONAME in CMake build + - Create symlinks with ".links", don't install from build tree + - Remove LLVM-internal tools (lit, FileCheck, not, tblgen, etc.) + - Remove llvm-X.Y-tools package, because it contained only + internal tools that are not intended for distribution. + - Remove autotools-specific artifacts from packages. + - Remove "dummy" documentation artifacts from llvm-X.Y-docs + package. Not built/installed by CMake, not useful. + - Update control/rules to support CMake + - Patch LLDB SWIG interfaces to workaround a bug in SWIG + See https://llvm.org/bugs/show_bug.cgi?id=25468 + - add missing files to clang-format + - Add patch to fix sanitizer lit invocation + - removed LLVM-internal tools (lit, FileCheck, not, *-tblgen, etc.); + not installed by CMake, not intended for distribution + - removed llvm-X.Y-tools (contained only internal tools) + - removed autotools-specific artifacts (configure, Makefile, etc.) + - removed dummy documentation files + * Sync against 3.8 + * Disable "Sphinx warnings treated as errors" + + -- Sylvestre Ledru Tue, 08 Mar 2016 09:50:29 +0100 + +llvm-toolchain-3.8 (1:3.8-1) unstable; urgency=medium + + * New upstream release + * Install a missing library to unbreak lldb (Closes: #815809) + + -- Sylvestre Ledru Thu, 03 Mar 2016 21:16:21 +0100 + +llvm-toolchain-3.8 (1:3.8~+rc3-1~exp1) experimental; urgency=medium + + * New snapshot release + * Update the clang description for something more accurate (C++-11, 14, etc) + * Update debian/orig-tar.sh to remove autoconf/config.sub autoconf/config.guess + in polly + + [ Matthias Klose ] + * clang-tidy-3.8: Remove Breaks/Replaces on clang-modernize-3.8. + * Disable lldb on s390x. + + -- Sylvestre Ledru Thu, 25 Feb 2016 14:26:14 +0100 + +llvm-toolchain-3.8 (1:3.8~+rc2-1~exp1) experimental; urgency=medium + + * New snapshot release + * Remove build-llvm/ after the install step to save space. + Most of the rc1 builds failed because of hd space. + + -- Sylvestre Ledru Wed, 03 Feb 2016 08:59:32 +0100 + +llvm-toolchain-3.8 (1:3.8~+rc1-1~exp1) experimental; urgency=medium + + * New snapshot release + * Cmake migration. Done by Andrew Wilkins. Many thanks to him + - Update patches to set SONAME in CMake build + - Create symlinks with ".links", don't install from build tree + - Remove LLVM-internal tools (lit, FileCheck, not, tblgen, etc.) + - Remove llvm-X.Y-tools package, because it contained only + internal tools that are not intended for distribution. + - Remove autotools-specific artifacts from packages. + - Remove "dummy" documentation artifacts from llvm-X.Y-docs + package. Not built/installed by CMake, not useful. + - Update control/rules to support CMake + - Patch LLDB SWIG interfaces to workaround a bug in SWIG + See https://llvm.org/bugs/show_bug.cgi?id=25468 + - add missing files to clang-format + - Add patch to fix sanitizer lit invocation + - removed LLVM-internal tools (lit, FileCheck, not, *-tblgen, etc.); + not installed by CMake, not intended for distribution + - removed llvm-X.Y-tools (contained only internal tools) + - removed autotools-specific artifacts (configure, Makefile, etc.) + - removed dummy documentation files + + -- Sylvestre Ledru Wed, 20 Jan 2016 16:09:01 +0100 + +llvm-toolchain-3.8 (1:3.8.1-8) unstable; urgency=medium + + * Disable the usage of ld gold on powerpc (Closes: #833583) + * Revert drop-avx512-from-skylake.diff, it is causing some regressions in the + testsuite + * Disable lldb on ppc64 + * libfuzzer depends on the same version of clang (Closes: #833564) + * Use filter into of findstring in the gold usage. Thanks Doko for the + suggestion + + -- Sylvestre Ledru Sun, 07 Aug 2016 14:10:09 +0200 + +llvm-toolchain-3.8 (1:3.8.1-7) unstable; urgency=medium + + * Fix the detection of gcc. This broke the build on the latest unstable + + -- Sylvestre Ledru Fri, 05 Aug 2016 09:55:15 +0200 + +llvm-toolchain-3.8 (1:3.8.1-6) unstable; urgency=medium + + * Ship libFuzzer in its own package (libfuzzer-X.Y-dev) (Closes: #820159) + * Sync from Ubuntu. Many thanks to Matthias Klose + - drop-avx512-from-skylake.diff: Don't enable AVX512 on Skylake, as it's + a server cpu feature and breaks llvmpipe on workstations. + - Remove the build tree before calling dh_strip; at least the amd64 buildd + runs out of diskspace at this step. + - Add support for gcc's attribute abi_tag (needed for compatibility with + GCC 5's libstdc++); taken from the trunk (Closes: #797038) + (LP: #1510042, #1488254) + D17567-PR23529-Sema-part-of-attrbute-abi_tag-support.diff + D18035-PR23529-Mangler-part-of-attrbute-abi_tag-support.diff + + -- Sylvestre Ledru Thu, 28 Jul 2016 11:15:04 +0200 + +llvm-toolchain-3.8 (1:3.8.1-5) unstable; urgency=medium + + [ Gianfranco Costamagna ] + * Try to fix mips64el build, by enabling the same + packages as the mips and mipsel versions + * Link mips* with latomic. + + [ Sylvestre Ledru ] + * Disable lldb on sparc64 (Closes: #832371) + * Hopefully fix the FTBFS on armel + + -- Sylvestre Ledru Wed, 27 Jul 2016 22:49:09 +0200 + +llvm-toolchain-3.8 (1:3.8.1-4) unstable; urgency=medium + + * Fix the FTBFS under mips/mipsel? (enable the link against atomic) + (Closes: #820537) + * Bring back llvm-3.8-tools to life + * ship clang-tblgen & yaml-bench as part of the libclang-common-X.Y-dev + package + + -- Sylvestre Ledru Wed, 20 Jul 2016 10:20:46 +0200 + +llvm-toolchain-3.8 (1:3.8.1-3) unstable; urgency=medium + + * Add -gsplit-dwarf to CXXFLAGS to workaround the memory allocation + issue on i386 (hopefully) + + -- Sylvestre Ledru Sat, 02 Jul 2016 20:59:08 +0200 + +llvm-toolchain-3.8 (1:3.8.1-2) unstable; urgency=medium + + [ Sylvestre Ledru ] + * Add a symlink from usr/lib/llvm-3.8/share/llvm/cmake + pointing to usr/share/llvm-3.8/cmake + + [ Gianfranco Costamagna ] + * Remove python-lldb-3.8 where liblldb-3.8-dev is not built + + -- Sylvestre Ledru Tue, 28 Jun 2016 14:44:48 +0200 + +llvm-toolchain-3.8 (1:3.8.1-1) unstable; urgency=medium + + * New maintenance release + + [ Kai Wasserbäch ] + * debian/rules: Ensure ld-gold is used. CMake invokes the linker through + g++ most of the time, therefore we need to set -Wl,-fuse-ld=gold. + + [ Brad King ] + * Followup to fix the cmake install (Closes: #819072) + + [ YunQiang Su ] + * Enable FPXX by default on mips/mipsel (Closes: #826749) + + -- Sylvestre Ledru Thu, 23 Jun 2016 08:49:29 +0200 + +llvm-toolchain-3.8 (1:3.8.1~+rc1-1~exp1) experimental; urgency=medium + + * New RC release + * Improve the cmake detection (used for llvm.org/apt) + * Standards-Version updated to 3.9.8 + * Ignore outdated-autotools-helper-file + + [ Brad King ] + * Install cmake files in usr/share/llvm-@LLVM_VERSION@/cmake/ instead of + usr/share/llvm-@LLVM_VERSION@/cmake/ + * Also install libLLVM-3.8.so.1 as a symlink + * debian/patches/fix-cmake-config-prefix.diff: + cover the CMake build system too + (Closes: #819072) + + [ Pablo Oliveira ] + * Fix python-lldb dependencies and make proper symlinks to libLLVM + and liblldb as suggested by Graham Inggs (Closes: #821022) + * Fix liblldb suffix in lldb/scripts/Python/finishSwigPythonLLDB.py + (Closes: #813798) + * Fix LLVM bug 26158 - clang packages don't provide man pages + * Add python-six as a dependency of python-lldb (thanks to Askar Safin). + + [ Gianfranco Costamagna ] + * Make python-lldb-3.8 depend on lldb-3.8-dev, to pick all + the required dependencies + * Unbreak circular dependency by Suggesting the python binding from + liblldb-3.8-dev + + [ Alexis La Goutte ] + * Fix an issue with scan-view (Closes: #825101) + + -- Sylvestre Ledru Thu, 26 May 2016 17:30:00 +0200 + +llvm-toolchain-3.8 (1:3.8-2) unstable; urgency=medium + + * Team upload. + * Disable polly on s390x and fix polly check. + * Fix VCS fields. + + [ Sylvestre Ledru ] + * Fix txt file installation issue, by putting a README.txt file + with some explanation. + + [ Graham Inggs ] + * Tighten llvm dev dependency (Closes: #814142). + + -- Gianfranco Costamagna Mon, 07 Mar 2016 10:56:05 +0100 + +llvm-toolchain-3.8 (1:3.8-1) unstable; urgency=medium + + * New upstream release + * Install a missing library to unbreak lldb (Closes: #815809) + + -- Sylvestre Ledru Thu, 03 Mar 2016 21:16:21 +0100 + +llvm-toolchain-3.8 (1:3.8~+rc3-1~exp1) experimental; urgency=medium + + * New snapshot release + * Update the clang description for something more accurate (C++-11, 14, etc) + * Update debian/orig-tar.sh to remove autoconf/config.sub autoconf/config.guess + in polly + + [ Matthias Klose ] + * clang-tidy-3.8: Remove Breaks/Replaces on clang-modernize-3.8. + * Disable lldb on s390x. + + -- Sylvestre Ledru Thu, 25 Feb 2016 14:26:14 +0100 + +llvm-toolchain-3.8 (1:3.8~+rc2-1~exp1) experimental; urgency=medium + + * New snapshot release + * Remove build-llvm/ after the install step to save space. + Most of the rc1 builds failed because of hd space. + + -- Sylvestre Ledru Wed, 03 Feb 2016 08:59:32 +0100 + +llvm-toolchain-3.8 (1:3.8~+rc1-1~exp1) experimental; urgency=medium + + * New snapshot release + * Cmake migration. Done by Andrew Wilkins. Many thanks to him + - Update patches to set SONAME in CMake build + - Create symlinks with ".links", don't install from build tree + - Remove LLVM-internal tools (lit, FileCheck, not, tblgen, etc.) + - Remove llvm-X.Y-tools package, because it contained only + internal tools that are not intended for distribution. + - Remove autotools-specific artifacts from packages. + - Remove "dummy" documentation artifacts from llvm-X.Y-docs + package. Not built/installed by CMake, not useful. + - Update control/rules to support CMake + - Patch LLDB SWIG interfaces to workaround a bug in SWIG + See https://llvm.org/bugs/show_bug.cgi?id=25468 + - add missing files to clang-format + - Add patch to fix sanitizer lit invocation + - removed LLVM-internal tools (lit, FileCheck, not, *-tblgen, etc.); + not installed by CMake, not intended for distribution + - removed llvm-X.Y-tools (contained only internal tools) + - removed autotools-specific artifacts (configure, Makefile, etc.) + - removed dummy documentation files + + -- Sylvestre Ledru Wed, 20 Jan 2016 16:09:01 +0100 + +llvm-toolchain-snapshot (1:3.8~svn255217-1~exp1) experimental; urgency=medium + + * New snapshot release + * Fix an install issue with clang-tidy + * clang-modernize has been removed. Long live to clang-tidy, its + replacement + + -- Sylvestre Ledru Thu, 10 Dec 2015 05:18:29 +0100 + +llvm-toolchain-snapshot (1:3.8~svn254193-2) UNRELEASED; urgency=medium + + * disable lldb and polly on powerpc, currently ftbfs. + setting the lldb archs in debian/control in just one + place would be appreciated. + * quoting fixes in debian/rules, when make macros + are empty + Thanks to Doko for the two previous changes (Closes: #806729) + + -- Sylvestre Ledru Mon, 30 Nov 2015 15:34:12 +0100 + +llvm-toolchain-snapshot (1:3.8~svn254193-1) unstable; urgency=medium + + * New snapshot release + * Remove some warnings in the manpages generation (Closes: #795310) + * Also ship sancov in clang-3.8 + * Fix the links to scan-build-3.8 & scan-view-3.8 + + -- Sylvestre Ledru Tue, 20 Oct 2015 14:07:06 +0200 + +llvm-toolchain-snapshot (1:3.8~svn250696-1) unstable; urgency=medium + + * Remove macho-dump from LLVM (removed by upstream r248302) + * Introduce clang-tidy-3.8 as a separate package. Replaces clang-modernize + * Ship run-clang-tidy.py & clang-tidy-diff.py in clang-tidy-3.8 + * Remove cpp11-migrate-3.8 package. Has been replaced by clang-modernize + for a while (which will be replaced by clang-tidy) + * Add three new symbols in libclang1 + - clang_CompileCommand_getFilename@Base + - clang_CompileCommand_getMappedSourceContent@Base 3.8 + - clang_CompileCommand_getMappedSourcePath@Base 3.8 + + -- Sylvestre Ledru Mon, 21 Sep 2015 13:16:35 +0200 + +llvm-toolchain-snapshot (1:3.8~svn247576-1) unstable; urgency=medium + + [ Sylvestre Ledru ] + * New snapshot release + * Remove CVE-2015-2305.patch. Already fixed upstream in a different + way + * remove patches merge upstream + - lit-lang.diff + - locale-issue-ld.diff + * Also generate liblldb-3.8-dbg + * Select LLVM OpenMP as the default backend + + [ Gianfranco Costamagna ] + * d/control: Add more conflicting packages (python-clang and python-lldb) + (Closes: #796811, #796843) + * Remove an obsolete declaration about dragonegg + (cherry-pick from 3.7 branch) + + [ James Price ] + * d/p/fix-cmake-config-prefix.diff: fix cmake path, + needs a change after upstream revision r241080 + (Addresses: #794905) + + -- Sylvestre Ledru Mon, 14 Sep 2015 18:29:09 +0200 + +llvm-toolchain-snapshot (1:3.8~svn245286-1) unstable; urgency=medium + + * New snapshot release (3.7 => 3.8) + No need to rename libllvm as 3.8 was not part of the debian archive + + [ Gianfranco Costamagna ] + * Fix VCS fields. + * d/p/CVE-2015-2305.patch, fix security issue on regcomp.c + * Fix many lintian warning/errors + - copyright fixes + - control files + - disabled ocaml documentation + + -- Sylvestre Ledru Tue, 18 Aug 2015 14:28:36 +0200 + +llvm-toolchain-snapshot (1:3.7~svn231060-1~exp2) UNRELEASED; urgency=medium + + * Reflect upstream changes wrt vim package. Split the files into different + directories + * Disable the patch force-gcc-header-obj.diff. Seems to cause bug #23556 + * Fix the CMake build. thanks to Paweł Bylica for the fix. + Fix upstream bug #23352 + * No longer building some clang help page, removing them + + -- Sylvestre Ledru Tue, 21 Apr 2015 09:41:41 +0200 + +llvm-toolchain-snapshot (1:3.7~svn231060-1~exp1) experimental; urgency=medium + + * New snapshot release + * Force the version of clang in the analyzer scripts + clang-analyzer-force-version.diff + + -- Sylvestre Ledru Tue, 03 Mar 2015 09:19:38 +0100 + +llvm-toolchain-snapshot (1:3.7~svn230857-1) unstable; urgency=medium + + * New snapshot release + * Support of gcc 5.0 (Closes: #777988) + * compiler-rt-i586.diff: fix a build issue of compiler-rt under i386 + * lldb-gdbserver & lldb-platform have been merged into lldb-server + * Bring back polly and remove libcloog-isl-dev & libisl-dev as build deps + (shipped in the polly source tree) + * Set the correct conflicts (Closes: #777580, #777581, #777582) + * lit-lang.diff: Force the call to ld to be in english + (was failing with a french locale) + * silent-MCJIIT-tests.diff: enable some tests and silents some other + + -- Sylvestre Ledru Sat, 28 Feb 2015 18:44:59 +0100 + +llvm-toolchain-snapshot (1:3.7~svn227076-1) unstable; urgency=medium + + * New snapshot release + * Switch to version 3.7 + * Standards-Version updated to 3.9.6 + + -- Sylvestre Ledru Mon, 26 Jan 2015 09:23:41 +0100 + +llvm-toolchain-snapshot (1:3.6~svn224810-1) unstable; urgency=medium + + * New snapshot release + * Update library filename declaration 3.5 => 3.6 (Closes: #772006) + + -- Sylvestre Ledru Fri, 05 Dec 2014 17:46:56 -0800 + +llvm-toolchain-snapshot (1:3.6~svn221998-1~exp1) experimental; urgency=medium + + * Disable ocaml binding. Needs libctypes-ocaml 0.3.3 which is not available + * libllvm*.a is not longer built + * Update of the libclang symbols + * Improve the copyright file. Thanks to Dann Frazier (Closes: #766778) + + -- Sylvestre Ledru Tue, 04 Nov 2014 14:43:28 +0100 + +llvm-toolchain-snapshot (1:3.6~svn218612-1) unstable; urgency=medium + + * Fix my screw up. Add .1 to the libclang soname to make + dpkg-shlibdeps happy + * Remove useless dependency on doxygen + * scan-build could not find clang binary (Closes: #758998) + + -- Sylvestre Ledru Fri, 26 Sep 2014 17:05:26 +0200 + +llvm-toolchain-snapshot (1:3.6~svn218446-1) unstable; urgency=medium + + * New snapshot release + * Upload in unstable + * Disable the co-instability of lldb & python-lldb + (Python stuff conflicts) + * Fix bad dependencies on lldb 3.6 + * Refresh of the list of symbol in libclang + * Try to workaround the FTBFS under ppc64el (create an empty directory) + + -- Sylvestre Ledru Wed, 24 Sep 2014 14:20:49 +0200 + +llvm-toolchain-snapshot (1:3.6~svn216933-1~exp1) experimental; urgency=medium + + * New snapshot release + * sync from 1:3.5~+rc4-2~exp1 + * libclang-3.6.so should be used instead libclang.so. Update the soname + to match the new lib name (Closes: #759538) + * Rename liblldb.so to liblldb-3.6.so + update of the soname. + * python-clang-3.6 description updated + * liblldb-3.6 and python-lldb-3.6 added + * lldb-3.6-dev renamed to liblldb-3.6-dev to match the previous changes + * Manpages for llvm-ranlib, clang-apply-replacements, pp-trace and clang-tidy + added + * clang-3.6 should depends on binutils (for ld, at least) + (Closes: #751030) + * clang/www/analyzer/scripts/dbtree.js removed + + -- Sylvestre Ledru Sat, 30 Aug 2014 18:09:20 +0200 + +llvm-toolchain-snapshot (1:3.6~svn215195-3) unstable; urgency=medium + + * Just like in 3.4 & 3.5, bring back lldb & lldb-dev under mips & mipsel + * Ship clang-rename/clang-rename-3.6 + * Disable libstdc++-header-i386.diff & include-target.diff (merged upstream) + + -- Sylvestre Ledru Mon, 18 Aug 2014 09:02:30 +0200 + +llvm-toolchain-snapshot (1:3.6~svn215195-2) unstable; urgency=medium + + * try to build lldb-mi under kfreebsd (kfreebsd-lldb-mi.diff) + * kfreebsd-lldb-gdbserver.diff removed (applied upstream) + + -- Sylvestre Ledru Mon, 11 Aug 2014 08:44:13 +0200 + +llvm-toolchain-snapshot (1:3.6~svn215195-1) unstable; urgency=medium + + * Upload in unstable + * Enable compressed debug sections (Closes: #757002) + * Force scan-build to use the same version of clang + * Old JIT has been removed. 0050-powerpcspe-fp.diff is useless + * try to build lldb-gdbserver under kfreebsd (kfreebsd-lldb-gdbserver.diff) + * Second try to fix build under HURD (hurd-EIEIO-undef.diff) + + -- Sylvestre Ledru Mon, 04 Aug 2014 13:36:15 +0200 + +llvm-toolchain-3.4 (1:3.4.2-8) unstable; urgency=medium + + * Try to bring back lldb-3.4-dev on mips & mipsel (Closes: #758314) + + -- Sylvestre Ledru Sat, 16 Aug 2014 22:39:13 +0200 + +llvm-toolchain-3.4 (1:3.4.2-7) unstable; urgency=medium + + * Upload in unstable + * Try to bring back lldb on mips & mipsel + * Force scan-build to use the same version of clang + * Try to fix hurd (hurd-EIEIO-undef.diff) + + -- Sylvestre Ledru Tue, 05 Aug 2014 14:40:05 +0200 + +llvm-toolchain-3.5 (1:3.5~+rc4-1) unstable; urgency=medium + + * New snapshot release + + -- Sylvestre Ledru Wed, 27 Aug 2014 23:09:59 +0200 + +llvm-toolchain-3.5 (1:3.5~+rc3-1) unstable; urgency=medium + + * New snapshot release + * Cherry-pick to commit from upstream (revisions 214906 214907) + to improve the gcc compat + * Remove scan-build-clang-path.diff (applied upstream) + * Just like in 3.4, bring back lldb & lldb-dev under mips & mipsel + + -- Sylvestre Ledru Wed, 20 Aug 2014 23:43:06 +0200 + +llvm-toolchain-3.5 (1:3.5~+rc2-1) unstable; urgency=medium + + * Fix the version + * try to build lldb-gdbserver under kfreebsd (kfreebsd-lldb-gdbserver.diff) + * Second try to fix build under HURD (hurd-EIEIO-undef.diff) + + -- Sylvestre Ledru Fri, 08 Aug 2014 10:42:13 +0200 + +llvm-toolchain-3.5 (1:3.5~+rc2-1~exp1) unstable; urgency=medium + + * New snapshot release + * Enable compressed debug sections (Closes: #757002) + * Force scan-build to use the same version of clang + * Bring back scan-build-search-path.diff (Closes: #757219) + + -- Sylvestre Ledru Mon, 04 Aug 2014 13:35:35 +0200 + +llvm-toolchain-snapshot (1:3.6~svn214630-1~exp1) experimental; urgency=medium + + * New snapshot release (3.5 => 3.6) + * Co installation of clang (Closes: #736057) + - scan-build => scan-build-3.6 + - scan-view => scan-view-3.6 + - asan_symbolize => asan_symbolize-3.6 + * Refresh of the patches + * Install yaml2obj, obj2yaml & verify-uselistorder in llvm-3.6 + * Remove of pollycc + * clang alternatives are managed by llvm-defaults + + -- Sylvestre Ledru Thu, 31 Jul 2014 18:12:59 +0200 + +llvm-toolchain-3.5 (1:3.5~+rc1-2) unstable; urgency=medium + + * Sync with 3.4 svn to retrieve some changes: + * Replace $(CURDIR)/debian/tmp by a variable + * Move the polly installation in the dh_auto_install rules instead + of using *.install files. In llvm.org/apt/, I have to sometime disable + polly + * hurd-EIEIO-undef.diff: try to undef an errno.h to fix the ftbfs + * clang-X suggests clang-X-doc (Closes: #755922) + * Manage all files using .in mechanism. It will simplify the upgrade of + version + * Disable lldb for ppc64el. Thanks to Dimitri John Ledkov (Closes: #756380) + * Fix the FTBFS under PowerPC. Thanks to Dimitri John Ledkov for the patch + + -- Sylvestre Ledru Thu, 24 Jul 2014 11:42:56 +0200 + +llvm-toolchain-3.5 (1:3.5~+rc1-1) unstable; urgency=medium + + * First RC release of the 3.5 llvm toolchain + * Apply lldb-kfreebsd.diff patch to fix FTBFS under KFreeBSD + Thanks to Ed Maste + + -- Sylvestre Ledru Wed, 23 Jul 2014 08:57:59 +0200 + +llvm-toolchain-snapshot (1:3.5~svn213451-1) unstable; urgency=medium + + * New snapshot release + * If the version of gcc is too old, force the usage of gcc 4.8 + * Clang will now show the full version. Example: 3.5.0-svn213052-1~exp1 + + -- Sylvestre Ledru Sat, 19 Jul 2014 15:27:11 +0200 + +llvm-toolchain-snapshot (1:3.5~svn211669-2) unstable; urgency=medium + + * Remove useless dependency on g++ + * Use the option stable '-analyzer-config stable-report-filename=true' + to the llvm scan-build reports + + -- Sylvestre Ledru Sun, 29 Jun 2014 19:13:05 +0200 + +llvm-toolchain-snapshot (1:3.5~svn211669-1) unstable; urgency=medium + + * New snapshot release + * Fix CVE-2014-2893 (Closes: #744817) + * Merge with 3.4/debian + * Ship lldb-mi in lldb + * Remove scan-build-fix-clang-detection.diff (applied upstream) + * Ship the compiler-rt static libraries + * Running tests respect DEB_BUILD_OPTIONS=parallel=X + (Closes: #751943) + * Fix FTBFS on powerpc and powerpcspe (Closes: #733890) + * Broken library symlink fixed in lldb-3.5 (Closes: #715130) + * Fix --use-cc when no absolute path is provided (Closes: #748777) + + -- Sylvestre Ledru Wed, 25 Jun 2014 07:58:03 +0200 + +llvm-toolchain-snapshot (1:3.5~svn209039-2) unstable; urgency=medium + + * Provide a link as compatibility with previous lib name (Closes: #748569) + * Be less permissive when installing lldb. Remove duplication of the install + of liblldb.so.1 + + -- Sylvestre Ledru Sun, 18 May 2014 20:01:40 +0200 + +llvm-toolchain-snapshot (1:3.5~svn209039-1) unstable; urgency=medium + + * New snapshot release + * Fix the cmake install patch + * Disable profile_rt.diff for now + * Refresh of libclang1-3.5.symbols + * Fix path to /usr/lib/clang/3.5.0/ (Closes upstream #19088) + * Fix the wrong dependency declaration on llvm-3.5-tools + * Add gnustep & gnustep-devel as suggests of clang-3.5 + * Add libc6-dev as an explicit dependency of clang-3.5 + * Build with dh_install --fail-missing + * Start to use /usr/bin/foo-X.Y. First step to have several clang versions + installed together + * Add some missing files: + - lli-child-target - llvm-3.5-runtime + - count - llvm-3.5-tools + - html.tar.gz - llvm-3.5-doc + - ocamldoc.tar.gz - llvm-3.5-doc + - BugpointPasses.so - llvm-3.5-dev + - liblldb* - lldb-3.5-dev + - clang-apply-replacements - clang-3.5 + - clang-tidy - clang-3.5 + - clang-query - clang-3.5 + - pp-trace - clang-3.5 + - lldb-platform - lldb-3.5 + - lldb-gdbserver - lldb-3.5 + + -- Sylvestre Ledru Fri, 16 May 2014 23:23:50 +0200 + +llvm-toolchain-3.4 (1:3.4.2-2) unstable; urgency=medium + + * Improve the CVE-2014-2893 fix (Closes: #744817) + * Add a check to avoid an error on arch where compiler-rt is not available + + -- Sylvestre Ledru Mon, 16 Jun 2014 23:00:47 +0200 + +llvm-toolchain-3.4 (1:3.4.2-1) unstable; urgency=medium + + * New upstream release + * Add build conflict on libllvm-3.5-ocaml-dev + * Also disable lldb tests under armel (like armhf). Timeout + * Update of the repack script + * Use llvm-3.4-dev.links.in to manage the symlinks + * Fix the soname of liblldb.so to see it treated as a real library + (Closes: #750868) + * Switch to the default gcc/g++ compiler. Currently 4.9 (Closes: #751322) + * Fixes CVE-2014-2893 (Closes: #744817) + + -- Sylvestre Ledru Fri, 06 Jun 2014 15:55:57 +0200 + +llvm-toolchain-3.4 (1:3.4.1-4) unstable; urgency=medium + + * Be less permissive when installing lldb. Remove duplication of the install + of liblldb.so.1 + * Add symlinks lldb-3.4, lldb-platform-3.4 & lldb-gdbserver-3.4 without 3.4 + * Clang was unusable with libstdc++ from gcc 4.9 (Closes: #744792) + + -- Sylvestre Ledru Sun, 18 May 2014 20:18:19 +0200 + +llvm-toolchain-3.4 (1:3.4.1-3) unstable; urgency=medium + + * Fix path for arch without support of compiler-rt. Should fix most of the + FTBFS + + -- Sylvestre Ledru Fri, 16 May 2014 15:27:37 +0200 + +llvm-toolchain-3.4 (1:3.4.1-2) unstable; urgency=medium + + * Fix the soname. No changes in the ABI, so, no need to update the soname + (Closes: #747701) + + -- Sylvestre Ledru Sun, 11 May 2014 17:29:22 +0200 + +llvm-toolchain-3.4 (1:3.4.1-1) unstable; urgency=medium + + * New upstream release. Note that only LLVM & Clang had a new release. + I just copied the 3.4 tarballs for clang-extra-tools, polly, lldb and + compiler-rt. + * Symlink for current build mode missing (Closes upstream #18836) + * Add link usr/lib/llvm-3.4/ to usr/lib/llvm-3.4/build/Debug+Asserts + * Backport of a r201586 from upstream. scan-build was failing on some project + like firefox build system. (Yeh, advantage to be the packager of a software + that I use ;) ). See scan-build-fix-clang-detection.diff + * Fix the version in the symbol list (libclang1-3.4.symbols) + * Update the path regarding upstream changed (3.4 => 3.4.1) + (Patch improved also by Martin Nowack) + * Remove generated file libllvm3.4.install + * Add gnustep & gnustep-devel as suggests of clang-3.4 + * Add libc6-dev as an explicit dependency of clang-3.4 + * Build with dh_install --fail-missing + * Start to use /usr/bin/foo-X.Y. First step to have several clang versions + installed together + * Add some missing files: + - lli-child-target - llvm-3.4-runtime + - count - llvm-3.4-tools + - html.tar.gz - llvm-3.4-doc + - ocamldoc.tar.gz - llvm-3.4-doc + - BugpointPasses.so - llvm-3.4-dev + - liblldb* - lldb-3.4-dev + - lldb-platform-3.4 - lldb-3.4 + - clang-apply-replacements - clang-3.4 + - clang-tidy - clang-3.4 + - pp-trace - clang-3.4 + + -- Sylvestre Ledru Fri, 09 May 2014 19:57:33 +0200 + +llvm-toolchain-snapshot (1:3.5~svn200375-1) unstable; urgency=medium + + * New snapshot release + * polly unnopstream is now using the isl trunk. Disabling it for now. + * Only explicit the link against atomic when running mips & mipsel + * Fix the cindex.py declaration (3.3 => 3.5). Closes upstream bug #18365 + * Bring back the dependency on gcc 4.8. It breaks the nightly snapshot + packages and it should be the norm now... + + [ Martin Nowack ] + * Fixed build directory for llvm-config + * Add Unittests for running tests for llvm-based projects + * Install FileCheck and not for testing + + -- Sylvestre Ledru Wed, 29 Jan 2014 07:36:29 -0800 + +llvm-toolchain-snapshot (1:3.5~svn199601-1) unstable; urgency=low + + * New snapshot release + * Update clang-format declaration from 3.4 => 3.5. Closes upstream bug #18451 + * Fix the cindex.py declaration (3.3 => 3.5). Closes upstream bug #18365 + * Force gcc 4.8. LLVM & Co are now in C++ 11. + * Also make clang-3.5 breaks/replaces clang. Conflicts on + /usr/share/clang/scan-view/ScanView.py (Closes: #730266) + + -- Sylvestre Ledru Wed, 15 Jan 2014 15:08:03 +0100 + +llvm-toolchain-snapshot (1:3.5~svn197556-1) unstable; urgency=low + + * New snapshot release + * Merge changes from 1:3.4~+rc3-1 + * Disable much of the display of the lldb display + + -- Sylvestre Ledru Tue, 17 Dec 2013 12:02:52 +0100 + +llvm-toolchain-snapshot (1:3.5~svn195337-1) unstable; urgency=low + + * Sync from 3.4~+rc2-1 + * Make lldb 3.5 also conflict with 3.4 (Closes: #730163) + * Make python-clang 3.5 also conflict with 3.4 (Closes: #730164) + * Fix a FTBFS with clang + * Refresh the /usr/include/clang mess + + -- Sylvestre Ledru Tue, 10 Dec 2013 09:57:15 +0100 + +llvm-toolchain-snapshot (1:3.5~svn195337-1) unstable; urgency=low + + * Switch from 3.4 to 3.5 + * Remove patch 0046-Revert-Patch-to-set-is_stmt-a-little-better-for-prol.patch + Useless now and misleading + * Standards-Version updated to 3.9.5 + * kfreebsd.diff remove (applied upstream) + + -- Sylvestre Ledru Wed, 20 Nov 2013 21:24:28 +0100 + +llvm-toolchain-3.4 (1:3.4-2) unstable; urgency=medium + + * Only explicit the link against atomic when running mips & mipsel + * Fix the cindex.py declaration (3.3 => 3.5). Closes upstream bug #18365 + * Bring back the dependency on gcc 4.8. It breaks the nightly snapshot + packages and it should be the norm now... + * Introduce llvm-3.4-tools to contain the new files needed by Martin + + [ Matthias Klose ] + * Disable the lldb build for AArch64. + * Don't run the lldb tests on armhf (time out on the buildd). + + [ Martin Nowack ] + * Fixed build directory for llvm-config + * Add Unittests for running tests for llvm-based projects + * Install FileCheck and not for testing + + -- Sylvestre Ledru Tue, 11 Feb 2014 11:19:21 +0100 + +llvm-toolchain-3.4 (1:3.4-1) unstable; urgency=medium + + * New upstream release + * Remove explicit dep on gcc 4.8 + + -- Sylvestre Ledru Fri, 20 Dec 2013 18:36:58 +0100 + +llvm-toolchain-3.4 (1:3.4~+rc3-1ubuntu4) trusty; urgency=medium + + * Rebuild for ocaml-4.01. + + -- Matthias Klose Mon, 23 Dec 2013 12:11:17 +0000 + +llvm-toolchain-3.4 (1:3.4~+rc3-1ubuntu3) trusty; urgency=low + + * Bring over Ubuntu changes from 3.3: + - Revert to using the static copy of libjsoncpp, since the shared + library lacks sane versioning, and this is only a few thousand + lines of cargo-culted code from a reasonably stagnant upstream. + - Drop lcov build-dep to avoid pulling it into main, due to its + being fundamentally incompatibe with our newer GCC versions. + + -- Matthias Klose Fri, 20 Dec 2013 12:59:01 +0100 + +llvm-toolchain-3.4 (1:3.4~+rc3-1ubuntu2) trusty; urgency=low + + * Don't run the lldb tests on armhf (time out on the buildd). + + -- Matthias Klose Wed, 18 Dec 2013 12:29:56 +0100 + +llvm-toolchain-3.4 (1:3.4~+rc3-1ubuntu1) trusty; urgency=low + + * Disable the lldb build for AArch64. + * Build-depend on gcc-multilib on amd64 and i386. + + -- Matthias Klose Tue, 17 Dec 2013 18:44:50 +0100 + +llvm-toolchain-3.4 (1:3.4~+rc3-1) unstable; urgency=low + + * New testing upstream release + * Relative call in the chroot without proc failed. + See: fix-an-issue-in-chroot-witout-proc.diff + * Bring back lldb-link-atomic.diff to make sure lldb builds under + powerpc + * Also limit the number of archs for liblldb-dev + + -- Sylvestre Ledru Tue, 17 Dec 2013 11:27:40 +0100 + +llvm-toolchain-3.4 (1:3.4~+rc2-3) unstable; urgency=low + + * Fix the bad declaration on the lldb desactivation + * Also disable lldb under powerpc + * Hopefully, fix lldb under Kfreebsd-* (thanks to Ed Maste if it works) + + -- Sylvestre Ledru Wed, 04 Dec 2013 23:53:49 +0100 + +llvm-toolchain-3.4 (1:3.4~+rc2-2) unstable; urgency=low + + * Add the Ocaml ABI dependency (Closes: #731344) + * Disable LLDB also for ia64, mips & mipsel + + -- Sylvestre Ledru Wed, 04 Dec 2013 15:37:39 +0100 + +llvm-toolchain-3.4 (1:3.4~+rc2-1) unstable; urgency=low + + * New testing upstream release + * 0047-version-name.diff ocamldoc.diff removed (applied upstream) + * r600 is now compiled by default (remove the configure arg) + + -- Sylvestre Ledru Tue, 03 Dec 2013 10:25:59 +0100 + +llvm-toolchain-3.4 (1:3.4~+rc1-3) unstable; urgency=low + + * Remove the usage of --with-c-include-dirs, --with-cxx-include-root, + --with-cxx-include-arch and --with-cxx-include-64bit-dir + It was blocking the automatic detection of the path of clang. + In particular in the context of the usage of -target. + However, it does not completely fix the detection of the i386 C++ path. + See the next item. + (Closes: #729933) + * Bring back the path to libstdc++ under i386. Still not fixed upstream + (Closes: #730857) + * Define also MAXPATHLEN in Path.inc for HURD. + * Silent the trillion of warnings in the LLDB Python wrapper (swig generated) + See silent-swig-warning.diff + * Silent some i386 tests failing (it is expected) + See silent-MCJIIT-tests.diff + * Make lldb 3.4 also conflict with 3.5 (Closes: #730163) + * Make python-clang 3.4 also conflict with 3.5 (Closes: #730164) + * Port LLVM to mips64el. Thanks to YunQiang Su. Initially done for + 3.3 and ported on the 3.4 (Closes: #730808) + * If we get an unexpected pass, do not break the tests + do-not-fail-on-unexpected-pass.diff (I am disabling some tests) + * Fix the path detection of the objective h headers. + * Also add usr/lib/llvm-3.4/lib/clang/3.4/include => + usr/lib/clang/3.4/include symlink to simplify the path detection + + -- Sylvestre Ledru Sun, 01 Dec 2013 17:49:46 +0100 + +llvm-toolchain-3.4 (1:3.4~+rc1-2) unstable; urgency=low + + * Force the build to gcc 4.8... gcc 4.6 used on some Debian archs does not + support some C++ features. + * Fail the build when llvm tests are failing under amd64 + i386. More to come. + * Fix a libclang.so.1 issue during the clang tests + * Improve the patch 23-strlcpy_strlcat_warning_removed.diff + (also remove the tests) + * Make lldb 3.4 also conflict with 3.5 (Closes: #730163) + * Make python-clang 3.4 also conflict with 3.5 (Closes: #730164) + * Remove usr/lib/llvm-3.4/build/autoconf/LICENSE.TXT + * silent warning "manpage-has-useless-whatis-entry" in lldb-3.4 + * silent warning "package-name-doesnt-match-sonames libclang1" + * Refresh patch kfreebsd_v2.diff to, maybe, fix lldb build under kfreebsd. + Thanks to Ed Maste for the patch. + + -- Sylvestre Ledru Tue, 26 Nov 2013 18:32:49 +0100 + +llvm-toolchain-3.4 (1:3.4~+rc1-1) unstable; urgency=low + + * New testing upstream release + * kfreebsd.diff removed. Applied upstream + * Remove patch 0046-Revert-Patch-to-set-is_stmt-a-little-better-for-prol.patch + Useless now and misleading + * Branch from llvm-toolchain-snapshot + * Standards-Version updated to 3.9.5 + + -- Sylvestre Ledru Wed, 20 Nov 2013 21:24:28 +0100 + +llvm-toolchain-snapshot (1:3.4~svn194079-1) unstable; urgency=low + + * New snapshot release + * Also install clang 3.4 examples (clang-3.4-examples) (Closes: #728260) + * Move c-index-test* from llvm-3.4 => clang-3.4. It was triggering an + unnecessary dependency from llvm-3.4 to libclang + + -- Sylvestre Ledru Fri, 01 Nov 2013 05:19:55 +0100 + +llvm-toolchain-snapshot (1:3.4~svn193628-1) unstable; urgency=low + + * New snapshot release + - Fix the scan-build warning (Closes: #725332) + * Merge changes from the 3.3 branch (see 1:3.3-12) + * Add lldb-3.4-dev package + * Remove mipsel-ftbfs.diff (applied upstream) + * Add support of coverity checker (non-free and not packaged) + * libprofile_rt and runtime has been removed upstream (r191835) + Features are provided by compiler-rt + * Update the build dependency from tcl8.5 to tcl (Closes: #725954) + * clang-modernize-3.4 was not coinstallable with clang 3.4 + (Closes: #724245) + * The package wasn't cleaned correctly (Closes: #722155) + * libtinfo-dev is now a dependency of llvm-3.4-dev (Closes: #727129) + * Install libclang.so in /usr/lib/*/libclang-3.4.so + * Install libclang.so.1 in /usr/lib/*/libclang-3.4.so.1 + * Also ship the python clang binding (python-clang-3.4) + * Enable polly if the dependencies are OK (only Debian unstable for now) + * Bring back /usr/lib/llvm-3.4/lib/libclang.so (libclang-3.4-dev) and + /usr/lib/llvm-3.4/lib/libclang.so.1 (libclang1-3.4) + * Honor the option "nocheck" + * Disable the build of lldb under HURD + * Ship the lldb headers into lldb-X.Y-dev (Closes: #723743) + I might create a liblldb-X.Y library at some point but I think it is too + early. + * Update the build dependency from tcl8.5 to tcl (Closes: #725953) + * Update of the clang descriptions (Closes: #727684) + + -- Sylvestre Ledru Tue, 29 Oct 2013 17:56:18 +0100 + +llvm-toolchain-snapshot (1:3.4~svn190846-1) unstable; urgency=low + + * New snapshot release + * Merge changes from the 3.3 branch (see 1:3.3-9) + * Remove ia64-fix.diff (applied upstream) + * cpp11-migrate renamed to clang-modernize + * lldb-3.4 is back to Architectures: any + * Patch lldb-hurd.diff removed (applied upstream) + * Directory www/ from tarballs polly & lldb removed + * Update of the description of LLVM packages + (LLVM no longer mean Low Level Virtual Machine) + + [ Luca Falavigna ] + * debian/control: + - Add llvm-3.4-dev to lldb-3.4 Depends field. + + -- Sylvestre Ledru Thu, 05 Sep 2013 12:04:35 +0200 + +llvm-toolchain-3.3 (1:3.3-9) unstable; urgency=low + + [ Luca Falavigna ] + * debian/control: + - Add llvm-3.3-dev to lldb-3.3 Depends field (Closes: #715129). + + [ Sylvestre Ledru ] + * Only use -fuse-ld=gold on supported distribution. Simplify the + backports. + * Fix 'bits/c++config.h' file not found under i386 + See libstdc++-header-i386.diff. (Closes: #714890) + * Add more fixes for the HURD port... (but still fails) + + [ Robert Millan ] + * clang under KfFreeBSD was not exporting the correct defines + (Closes: #721880) + + [ Jon Severinsson ] + * Merge from llvm-toolchain-3.2 branch up to 3.2repack-11. + * Drop auto-generated file debian/libllvm3.3.install. + * Automatically determine GCC_VERSION and dep:devlibs based on g++ package + version. + * Automatically determine if -fuse-ld=gold is supported based on binutils + package version. + + [ Adam Conrad ] + * debian/patches/lldb-link-atomic.diff: Link lldb with -latomic to get + builtin GCC atomic helpers on arches (like powerpc) that need them. + + -- Sylvestre Ledru Mon, 26 Aug 2013 14:48:42 +0200 + +llvm-toolchain-3.3 (1:3.3-8) unstable; urgency=low + + [ Sylvestre Ledru ] + * Fix another issues under HURD... + + [ Luca Falavigna ] + * debian/patches/libprofile_rt_sparc.patch: + - Re-enable libprofile_rt on Sparc, fix FTBFS. + + -- Sylvestre Ledru Fri, 23 Aug 2013 15:02:05 +0200 + +llvm-toolchain-3.3 (1:3.3-7) unstable; urgency=low + + * debhelper version 9.20130720 fails on the call to dh_auto_clean + Remove it. It was anyway useless. + + -- Sylvestre Ledru Thu, 22 Aug 2013 14:28:25 +0200 + +llvm-toolchain-3.3 (1:3.3-6) unstable; urgency=low + + * Fix the FTBFS under hurd and KFreeBSD + * Do not remove all *.o in tests. Some of them are from upstream source + tarball. Thanks to Maarten Lankhorst for the fix. + * Fix the lintian error 'lldb-3.3: postinst-must-call-ldconfig' + * Add the manpages of clang-format-3.3 + * Overrides the manpages warnings + * Also apply unwind-chain-inclusion.diff from the snapshot branch to make sure + we can build the package locally even if libclang-dev is installed + + -- Sylvestre Ledru Thu, 22 Aug 2013 09:01:04 +0200 + +llvm-toolchain-3.3 (1:3.3-5) unstable; urgency=low + + * Install llvm-c headers also in usr/include/llvm-3.3/llvm-c + * Fix the FTBFS under mips & mipsel + * Refresh of the kfreebsd i386 patch + + -- Sylvestre Ledru Wed, 07 Aug 2013 13:12:23 +0200 + +llvm-toolchain-3.3 (1:3.3-4) unstable; urgency=low + + * Use the static library libjsoncpp.a instead of the ship library in polly + + -- Sylvestre Ledru Sun, 11 Aug 2013 09:54:17 +0200 + +llvm-toolchain-snapshot (1:3.4~svn185325-1) unstable; urgency=low + + * binutils-gold no longer exists. Use -fuse-ld=gold instead. + + -- Sylvestre Ledru Thu, 01 Aug 2013 14:06:38 +0200 + +llvm-toolchain-snapshot (1:3.3-2) unstable; urgency=low + + * Fix warning python-script-but-no-python-dep on clang-format-X.Y + * manpages are generated during build time (simplifies maintenance) + * Fix duplicate underscore.js and jquery.js + * Move libjs-jquery & libjs-underscore dependencies to llvm-X.Y-doc + * Add lldb-X.Y manpage + * Hopefully fix the ftbfs under mipsel (mipsel-ftbfs.diff) + * Disable the usage of binutils-gold under armel. It currently fails with: + "attempt to map 2752512 bytes at offset 2066666 exceeds size of file; + the file may be corrupt" + + [ Léo Cavaillé ] + * Add patch to find correctly LLVMGold.so with -O4 (Closes: #712437) + + -- Sylvestre Ledru Thu, 20 Jun 2013 15:39:11 +0200 + +llvm-toolchain-snapshot (1:3.4~svn184294-1~exp1) experimental; urgency=low + + * New snapshot release + * Improve some scripts and fix cpp11-migrate install from + clang-tools-extra. + * Fix "versionless" clang manpages install. + * Fix Toolchain patch from change of scope (add namespaces). + + -- Sylvestre Ledru Wed, 19 Jun 2013 14:20:12 +0200 + +llvm-toolchain-snapshot (1:3.4~svn183914-1) unstable; urgency=low + + * New snapshot release + * Upload to unstable (will be blocked by a RC bug) + * Sync changes from llvm-toolchain-3.3: + - Introduce cpp11-migrate-3.4 and clang-format-3.4 + - Install the vim llvm script at the right place + + -- Sylvestre Ledru Thu, 13 Jun 2013 18:47:08 +0200 + +llvm-toolchain-snapshot (1:3.4~svn182733-1~exp1) experimental; urgency=low + + * New snapshot release (3.4 release) + * Add a symlink of libLLVM-3.4.so.1 to usr/lib/llvm-3.4/lib/libLLVM-3.4.so + to fix make the llvm-config-3.4 --libdir work (Closes: #708677) + * Various packages rename to allow co installations: + * libclang1 => libclang1-3.4 + * libclang1-dbg => libclang1-3.4-dbg + * libclang-dev => libclang-3.4-dev + * libclang-common-dev => libclang-common-3.4-dev + + -- Sylvestre Ledru Mon, 27 May 2013 15:01:57 +0200 + +llvm-toolchain-snapshot (1:3.3~svn179851-1~exp1) experimental; urgency=low + + * Draft of a snapshot release (3.3) + * Enable r600 experimental backend + * Improve the dependencies: + * clang-3.3 depends on the exact same libllvm3.3 release + * idem for lldb-3.3 + + -- Sylvestre Ledru Fri, 19 Apr 2013 09:31:38 +0200 + +llvm-toolchain-3.2 (1:3.2repack-11) unstable; urgency=low + + * dh_auto_clean removed, just like in the 3.3 + * Use the static library libjsoncpp.a instead of shipping library in polly + Backport of the modification of 3.3 + + [ Adam Conrad ] + * Revive deltas from the previous Ubuntu versions of llvm and clang: + - debian/patches/35-ubuntu-releases.diff: Add UbuntuSaucy to table. + - debian/patches/JITEmitter.patch: Fix a segfault in the exception + table of the JIT code emitter (See Launchpad bug #1160587) + + [ Luca Falavigna ] + * debian/patches/libprofile_rt_sparc.patch: + - Re-enable libprofile_rt on Sparc, fix FTBFS. + + -- Sylvestre Ledru Fri, 23 Aug 2013 11:49:09 +0200 + +llvm-toolchain-3.2 (1:3.2repack-10) unstable; urgency=low + + * Fix the wrong package declaration on libstdc++-4.8-dev (Closes: #713944) + + -- Sylvestre Ledru Mon, 24 Jun 2013 23:00:47 +0200 + +llvm-toolchain-3.2 (1:3.2repack-9) unstable; urgency=low + + * Switch to libstdc++ 4.8 instead of 4.7 for the headers (Closes: #712520) + * Depends against libobjc-4.8-dev and libgcc-4.8-dev + * Disable the usage of binutils-gold under armel. It currently fails with: + "attempt to map 2752512 bytes at offset 2066666 exceeds size of file; + the file may be corrupt" + * Add DEBUGMAKE=1 to get information about compiler-rt compilation + * Fix "libclang-common-dev: missing-depends-line" + + -- Sylvestre Ledru Sat, 22 Jun 2013 07:38:41 +0200 + +llvm-toolchain-3.2 (1:3.2repack-8) unstable; urgency=low + + * Fix the build under ia64. Thanks to Luca Falavigna for the patch + (ia64-fix.diff) + * Disable lldb-3.2: + - the quality is not good enough + - We have lldb-3.3 now in the archive + - Too many backported patches would be necessary for lldb-3.2 to work + - It blocks some important transitions (mesa) + * Add the detection of Ubuntu saucy + + -- Sylvestre Ledru Mon, 03 Jun 2013 11:32:29 +0200 + +llvm-toolchain-3.2 (1:3.2repack-7) unstable; urgency=low + + * For now, enable only lldb for amd64 and i386 (blocks too many things) + (Bis) (Closes: #707866) + * Add a symlink of libLLVM-3.2.so.1 to usr/lib/llvm-3.2/lib/libLLVM-3.2.so + to fix make the llvm-config-3.2 --libdir work (Closes: #708677) + + -- Sylvestre Ledru Mon, 27 May 2013 13:20:30 +0200 + +llvm-toolchain-3.2 (1:3.2repack-6) unstable; urgency=low + + * Create the compiler-rt directory to make the install of compiler-rt works + + -- Sylvestre Ledru Sat, 18 May 2013 18:08:52 +0200 + +llvm-toolchain-3.2 (1:3.2repack-5) unstable; urgency=low + + * For now, enable only lldb for amd64 and i386 (blocks too many things) + + -- Sylvestre Ledru Sat, 18 May 2013 10:24:04 +0200 + +llvm-toolchain-3.2 (1:3.2repack-4) unstable; urgency=low + + * Add several patches which, hopefully, will fix the build under ARM, S390, + S390X, etc (lldb-apple_only.diff, lldb-user-remove.diff & lldb-hurd.diff) + * Include sys/wait.h also under kfreebsd (kfreebsd-thread.diff) + + -- Sylvestre Ledru Wed, 15 May 2013 12:04:24 +0200 + +llvm-toolchain-3.2 (1:3.2repack-3) unstable; urgency=low + + * Before the configure, show which version of CC is being used. + * Add support of kfreebsd and hurd in lldb (kfreebsd-hurd-lldb.diff) + * Force the usage of gcc 4.7 for all archs. Should fix some FTBFS + (Closes: #707866) + * Fix the symlink on clang++.1.gz llvm-clang.1.gz (Closes: #707832) + + [ Jon Severinsson ] + * Re-enable the r600 backend and update it to the mesa-9.1.1 tag. + (Closes: #708009) + + -- Sylvestre Ledru Tue, 14 May 2013 12:10:07 +0200 + +llvm-toolchain-3.2 (1:3.2repack-2) unstable; urgency=low + + * Do not depend on libobjc-4.7-dev & libgcc-4.7-dev. + They are still only in experimental + * Disable the usage of binutils-gold under [powerpc powerpcspe ppc64 sparc + sparc64] to fix FTBFS + + -- Sylvestre Ledru Tue, 07 May 2013 13:15:20 +0200 + +llvm-toolchain-3.2 (1:3.2repack-1) unstable; urgency=low + + * Upload to unstable + * Standards-Version update to 3.9.4 + * clang pure virtual function call crash with binaries built with C++11's + std::thread. Upstream commit 178816 (Closes: #705838) + * Introduce a symbols file for libclang1 (Closes: #705672) + + -- Sylvestre Ledru Sun, 21 Apr 2013 14:06:23 +0200 + +llvm-toolchain-3.2 (1:3.2repack-1~exp4) experimental; urgency=low + + * Build using binutls-gold to improve the quality of the binaries. + See: http://allievi.sssup.it/techblog/?p=791 + * Detect the vendor (Debian or Ubuntu) and update the configuration + * Port to powerpcspe. Thanks to Roland Stigge (Closes: #701587) + See: 31-powerpcspe.diff + * Fix the path detection of scan-build (Closes: #698352) + See: 32-scan-build-path.diff + * debian/patches/r600-snapshot.diff: Move backports into individual patches. + * debian/patches/r600-snapshot.diff: Update to mesa-9.1 git tag. + (Closes: #703671, #697356) + * Fix a typo in the detection of the vendor + + [ Peter Michael Green ] + * Use binutils-gold only on architectures where it is actually available + * 33-armhf-defaults.diff Fix defaults to use correct CPU and FPU for + debian armhf (Closes: #704111) + * 34-powerpc-no-altivec.diff disable altivec by default on powerpc because + debian powerpc does not require altivec (patch cherry picked from ubuntu) + + -- Sylvestre Ledru Thu, 14 Mar 2013 17:47:12 +0100 + +llvm-toolchain-3.2 (1:3.2repack-1~exp3) experimental; urgency=low + + * Remove package "clang". It is now provided by llvm-defaults. + * Fix some issues relative to the epoch change + * Fix a wrong path in the _lldb.so Python symlink + * Install cmake files to build LLVM extensions (Closes: #701153) + * Remove the embedded copy of libjs-jquery (Closes: #701087) + * Fix the install of lli manpage (Closes: #697117) + + -- Sylvestre Ledru Sun, 17 Feb 2013 12:05:15 +0100 + +llvm-toolchain-3.2 (1:3.2repack-1~exp2) experimental; urgency=low + + * Install the python files for lldb. Thanks to Daniel Malea for spotting this. + * Update of the clean target + * Introduce an epoch to match the changes in bug #699899 + + -- Sylvestre Ledru Wed, 13 Feb 2013 12:22:30 +0100 + +llvm-toolchain-3.2 (3.2repack-1~exp1) experimental; urgency=low + + * Build the whole LLVM toolchain at once. This includes: + - LLVM + - Clang + - compiler-rt + - lldb + - polly + * Also install clang-check & clang-tblgen in the clang-3.2 package + * Fix the patch detection of clang from scan-build (Closes: #698352) + * debian/patches/0050-powerpcspe-fp.diff: Add, hopefully fix FTBFS on + powerpcspe, by disabling save / restore of floating point registers which + don't exist on powerpcspe. Thanks to Roland Stigge for the patch. + (Closes: #696474) + * libLLVM-3.2.so.1 is now shipped only once (Closes: #696913) + * Enable RTTI (Closes: #697754) + * Introduce lldb as a new package (Closes: #698601) + * Add a script pollycc which will call clang with the right arguments. + * Use __builtin___clear_cache on ARM to fix a clang bug. + Thanks to Matthias Klose. + + -- Sylvestre Ledru Sat, 09 Feb 2013 12:14:10 +0100 diff --git a/clang-X.Y-doc.docs.in b/clang-X.Y-doc.docs.in new file mode 100644 index 000000000..8c9084cfb --- /dev/null +++ b/clang-X.Y-doc.docs.in @@ -0,0 +1,2 @@ +clang/docs/_build/html/ + diff --git a/clang-X.Y-doc.install.in b/clang-X.Y-doc.install.in new file mode 100644 index 000000000..20e442da3 --- /dev/null +++ b/clang-X.Y-doc.install.in @@ -0,0 +1,3 @@ +usr/lib/llvm-@LLVM_VERSION@/share/clang/clang-doc-default-stylesheet.css +usr/lib/llvm-@LLVM_VERSION@/share/clang/index.js + diff --git a/clang-X.Y-examples.examples.in b/clang-X.Y-examples.examples.in new file mode 100644 index 000000000..49cbc5fef --- /dev/null +++ b/clang-X.Y-examples.examples.in @@ -0,0 +1 @@ +clang/examples/* diff --git a/clang-X.Y.install.in b/clang-X.Y.install.in new file mode 100644 index 000000000..c92899f22 --- /dev/null +++ b/clang-X.Y.install.in @@ -0,0 +1,12 @@ +usr/lib/llvm-@LLVM_VERSION@/bin/clang +usr/lib/llvm-@LLVM_VERSION@/bin/clang++ +usr/lib/llvm-@LLVM_VERSION@/bin/clang-cpp + +#usr/share/man/man1/clang.1 usr/share/man/man1/ +usr/lib/llvm-@LLVM_VERSION@/lib/cmake/clang/*.cmake +usr/lib/llvm-@LLVM_VERSION@/share/clang/bash-autocomplete.sh + +usr/bin/clang-@LLVM_VERSION@ +usr/bin/clang++-@LLVM_VERSION@ +usr/bin/clang-cpp-@LLVM_VERSION@ + diff --git a/clang-X.Y.links.in b/clang-X.Y.links.in new file mode 100644 index 000000000..412b2ca06 --- /dev/null +++ b/clang-X.Y.links.in @@ -0,0 +1,3 @@ +usr/lib/llvm-@LLVM_VERSION@/bin/clang usr/lib/llvm-@LLVM_VERSION@/bin/clang-@LLVM_VERSION@ +usr/lib/llvm-@LLVM_VERSION@/lib/cmake/clang usr/lib/cmake/clang-@LLVM_VERSION@ +usr/lib/llvm-@LLVM_VERSION@/share/clang/bash-autocomplete.sh usr/share/bash-completion/completions/clang-@LLVM_VERSION@ diff --git a/clang-X.Y.lintian-overrides.in b/clang-X.Y.lintian-overrides.in new file mode 100644 index 000000000..4c1295bc3 --- /dev/null +++ b/clang-X.Y.lintian-overrides.in @@ -0,0 +1,4 @@ +# Does not link otherwise +clang-@LLVM_VERSION@: embedded-library usr/lib/llvm-@LLVM_VERSION@/bin/clang: libjsoncpp +# expected +clang-@LLVM_VERSION@: executable-not-elf-or-script usr/lib/llvm-@LLVM_VERSION@/share/clang/bash-autocomplete.sh diff --git a/clang-X.Y.manpages.in b/clang-X.Y.manpages.in new file mode 100644 index 000000000..b19400aff --- /dev/null +++ b/clang-X.Y.manpages.in @@ -0,0 +1 @@ +clang/docs/_build/man/clang-@LLVM_VERSION@.1 diff --git a/clang-format-X.Y.install.in b/clang-format-X.Y.install.in new file mode 100644 index 000000000..d3a18a58b --- /dev/null +++ b/clang-format-X.Y.install.in @@ -0,0 +1,10 @@ +clang/tools/clang-format/clang-format-@LLVM_VERSION@.py usr/share/vim/addons/syntax/ +clang/tools/clang-format/clang-format-diff-@LLVM_VERSION@ /usr/bin/ +usr/bin/clang-format-@LLVM_VERSION@ +usr/bin/git-clang-format-@LLVM_VERSION@ +usr/lib/llvm-@LLVM_VERSION@/bin/clang-format +usr/lib/llvm-@LLVM_VERSION@/bin/git-clang-format +usr/lib/llvm-@LLVM_VERSION@/share/clang/clang-format-diff.py usr/share/clang/clang-format-@LLVM_VERSION@/ +usr/lib/llvm-@LLVM_VERSION@/share/clang/clang-format.py usr/share/clang/clang-format-@LLVM_VERSION@/ +usr/lib/llvm-@LLVM_VERSION@/share/clang/clang-format.el usr/share/emacs/site-lisp/clang-format-@LLVM_VERSION@/ +usr/lib/llvm-@LLVM_VERSION@/share/clang/clang-format-sublime.py usr/share/clang/clang-format-@LLVM_VERSION@/ diff --git a/clang-format-X.Y.lintian-overrides.in b/clang-format-X.Y.lintian-overrides.in new file mode 100644 index 000000000..aa7867993 --- /dev/null +++ b/clang-format-X.Y.lintian-overrides.in @@ -0,0 +1,4 @@ +# I know but well... +clang-format-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/clang-format-diff-@LLVM_VERSION@.1.gz +clang-format-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/clang-format-@LLVM_VERSION@.1.gz + diff --git a/clang-format-X.Y.manpages.in b/clang-format-X.Y.manpages.in new file mode 100644 index 000000000..db4dd8f72 --- /dev/null +++ b/clang-format-X.Y.manpages.in @@ -0,0 +1,3 @@ +debian/man/clang-format-diff-@LLVM_VERSION@.1 +debian/man/clang-format-@LLVM_VERSION@.1 + diff --git a/clang-tidy-X.Y.install.in b/clang-tidy-X.Y.install.in new file mode 100644 index 000000000..ef992c58d --- /dev/null +++ b/clang-tidy-X.Y.install.in @@ -0,0 +1,5 @@ +usr/lib/llvm-@LLVM_VERSION@/bin/clang-tidy +usr/lib/llvm-@LLVM_VERSION@/share/clang/run-clang-tidy.py +usr/lib/llvm-@LLVM_VERSION@/share/clang/clang-tidy-diff.py + +usr/bin/clang-tidy-@LLVM_VERSION@ diff --git a/clang-tidy-X.Y.links.in b/clang-tidy-X.Y.links.in new file mode 100644 index 000000000..ad03ae1d5 --- /dev/null +++ b/clang-tidy-X.Y.links.in @@ -0,0 +1,4 @@ +usr/lib/llvm-@LLVM_VERSION@/share/clang/run-clang-tidy.py usr/bin/run-clang-tidy-@LLVM_VERSION@.py +usr/lib/llvm-@LLVM_VERSION@/share/clang/run-clang-tidy.py usr/bin/run-clang-tidy-@LLVM_VERSION@ +usr/lib/llvm-@LLVM_VERSION@/share/clang/clang-tidy-diff.py usr/bin/clang-tidy-diff-@LLVM_VERSION@.py + diff --git a/clang-tidy-X.Y.lintian-overrides.in b/clang-tidy-X.Y.lintian-overrides.in new file mode 100644 index 000000000..c915da605 --- /dev/null +++ b/clang-tidy-X.Y.lintian-overrides.in @@ -0,0 +1,3 @@ +# I know but well... +clang-tidy-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/clang-tidy-@LLVM_VERSION@.1.gz + diff --git a/clang-tidy-X.Y.manpages.in b/clang-tidy-X.Y.manpages.in new file mode 100644 index 000000000..fa4a8146f --- /dev/null +++ b/clang-tidy-X.Y.manpages.in @@ -0,0 +1 @@ +debian/man/clang-tidy-@LLVM_VERSION@.1 diff --git a/clang-tools-X.Y.install.in b/clang-tools-X.Y.install.in new file mode 100644 index 000000000..b15f6577a --- /dev/null +++ b/clang-tools-X.Y.install.in @@ -0,0 +1,69 @@ +#!/usr/bin/dh-exec + +usr/lib/llvm-@LLVM_VERSION@/bin/clang-check +usr/lib/llvm-@LLVM_VERSION@/bin/clang-apply-replacements +usr/lib/llvm-@LLVM_VERSION@/bin/clang-query +usr/lib/llvm-@LLVM_VERSION@/bin/clang-rename +usr/lib/llvm-@LLVM_VERSION@/share/clang/clang-rename.el +usr/lib/llvm-@LLVM_VERSION@/share/clang/clang-rename.py +usr/lib/llvm-@LLVM_VERSION@/bin/scan-view +usr/lib/llvm-@LLVM_VERSION@/bin/scan-build +usr/lib/llvm-@LLVM_VERSION@/bin/clang-cl +usr/lib/llvm-@LLVM_VERSION@/bin/sancov +usr/lib/llvm-@LLVM_VERSION@/share/scan-view/ +usr/lib/llvm-@LLVM_VERSION@/share/scan-build/ +usr/lib/llvm-@LLVM_VERSION@/share/man/man1/scan-build.1 +usr/lib/llvm-@LLVM_VERSION@/libexec/ccc-analyzer +usr/lib/llvm-@LLVM_VERSION@/libexec/c++-analyzer +usr/lib/llvm-@LLVM_VERSION@/bin/clang-offload-bundler +usr/lib/llvm-@LLVM_VERSION@/bin/clang-reorder-fields +usr/lib/llvm-@LLVM_VERSION@/bin/clang-change-namespace +usr/lib/llvm-@LLVM_VERSION@/bin/clang-import-test +usr/lib/llvm-@LLVM_VERSION@/bin/modularize +usr/lib/llvm-@LLVM_VERSION@/bin/c-index-test +usr/lib/llvm-@LLVM_VERSION@/bin/clang-include-fixer +usr/lib/llvm-@LLVM_VERSION@/bin/find-all-symbols +usr/lib/llvm-@LLVM_VERSION@/bin/clang-refactor +usr/lib/llvm-@LLVM_VERSION@/bin/diagtool +usr/lib/llvm-@LLVM_VERSION@/bin/hmaptool +usr/lib/llvm-@LLVM_VERSION@/bin/clang-extdef-mapping +usr/lib/llvm-@LLVM_VERSION@/bin/clang-doc +usr/lib/llvm-@LLVM_VERSION@/bin/clang-scan-deps +usr/lib/llvm-@LLVM_VERSION@/bin/pp-trace +usr/lib/llvm-@LLVM_VERSION@/bin/clang-move +usr/lib/llvm-@LLVM_VERSION@/bin/clang-offload-wrapper + +[!armel !armhf !ppc64el !hurd-any !s390x !powerpc !ppc64 !mipsel !mips64el !sparc64 !riscv64] usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/bin/hwasan_symbolize + +clang/tools/scan-build-@LLVM_VERSION@ usr/share/clang/ +clang/tools/scan-build-py-@LLVM_VERSION@ usr/share/clang/ +clang/tools/scan-view-@LLVM_VERSION@ usr/share/clang/ + +usr/lib/llvm-@LLVM_VERSION@/share/clang/run-find-all-symbols.py +usr/lib/llvm-@LLVM_VERSION@/share/clang/clang-include-fixer.py +usr/lib/llvm-@LLVM_VERSION@/share/clang/clang-include-fixer.el +usr/bin/clang-check-@LLVM_VERSION@ +usr/bin/clang-apply-replacements-@LLVM_VERSION@ +usr/bin/clang-query-@LLVM_VERSION@ +usr/bin/clang-rename-@LLVM_VERSION@ +usr/bin/sancov-@LLVM_VERSION@ +usr/bin/clang-cl-@LLVM_VERSION@ +usr/bin/modularize-@LLVM_VERSION@ +usr/bin/scan-build-@LLVM_VERSION@ +usr/bin/scan-view-@LLVM_VERSION@ +usr/bin/c-index-test-@LLVM_VERSION@ +usr/bin/clang-offload-bundler-@LLVM_VERSION@ +usr/bin/clang-reorder-fields-@LLVM_VERSION@ +usr/bin/find-all-symbols-@LLVM_VERSION@ +usr/bin/clang-include-fixer-@LLVM_VERSION@ +usr/bin/clang-change-namespace-@LLVM_VERSION@ +usr/bin/clang-import-test-@LLVM_VERSION@ +usr/bin/clang-refactor-@LLVM_VERSION@ +usr/bin/diagtool-@LLVM_VERSION@ +usr/bin/hmaptool-@LLVM_VERSION@ +usr/bin/clang-extdef-mapping-@LLVM_VERSION@ +usr/bin/clang-doc-@LLVM_VERSION@ +usr/bin/clang-scan-deps-@LLVM_VERSION@ +usr/bin/clang-move-@LLVM_VERSION@ +usr/bin/pp-trace-@LLVM_VERSION@ +usr/bin/clang-offload-wrapper-@LLVM_VERSION@ diff --git a/clang-tools-X.Y.links.in b/clang-tools-X.Y.links.in new file mode 100644 index 000000000..d6a04c711 --- /dev/null +++ b/clang-tools-X.Y.links.in @@ -0,0 +1,4 @@ +usr/share/clang/scan-build-@LLVM_VERSION@/bin/scan-build usr/bin/scan-build-@LLVM_VERSION@ +usr/share/clang/scan-build-py-@LLVM_VERSION@/bin/scan-build usr/bin/scan-build-py-@LLVM_VERSION@ +usr/share/clang/scan-view-@LLVM_VERSION@/bin/scan-view usr/bin/scan-view-@LLVM_VERSION@ +usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/bin/hwasan_symbolize usr/bin/hwasan_symbolize-@LLVM_VERSION@ diff --git a/clang-tools-X.Y.lintian-overrides.in b/clang-tools-X.Y.lintian-overrides.in new file mode 100644 index 000000000..eb04eb713 --- /dev/null +++ b/clang-tools-X.Y.lintian-overrides.in @@ -0,0 +1,6 @@ +# I know but well... +clang-tools-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/clang-check.1.gz +clang-tools-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/scan-view.1.gz +clang-tools-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/clang-apply-replacements-@LLVM_VERSION@.1.gz +clang-tools-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/clang-check-@LLVM_VERSION@.1.gz +clang-tools-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/scan-view-@LLVM_VERSION@.1.gz diff --git a/clang-tools-X.Y.manpages.in b/clang-tools-X.Y.manpages.in new file mode 100644 index 000000000..5cb7dbd06 --- /dev/null +++ b/clang-tools-X.Y.manpages.in @@ -0,0 +1,11 @@ +clang/tools/scan-build/man/scan-build-@LLVM_VERSION@.1 +debian/man/clang-check-@LLVM_VERSION@.1 +debian/man/clang-rename-@LLVM_VERSION@.1 +debian/man/clang-query-@LLVM_VERSION@.1 +debian/man/clang-apply-replacements-@LLVM_VERSION@.1 +debian/man/sancov-@LLVM_VERSION@.1 +debian/man/scan-view-@LLVM_VERSION@.1 +debian/man/modularize-@LLVM_VERSION@.1 +debian/man/find-all-symbols-@LLVM_VERSION@.1 +debian/man/clang-include-fixer-@LLVM_VERSION@.1 +debian/man/clang-reorder-fields-@LLVM_VERSION@.1 diff --git a/clangd-X.Y.install.in b/clangd-X.Y.install.in new file mode 100644 index 000000000..32cec2748 --- /dev/null +++ b/clangd-X.Y.install.in @@ -0,0 +1,3 @@ +usr/lib/llvm-@LLVM_VERSION@/bin/clangd +usr/bin/clangd-@LLVM_VERSION@ + diff --git a/clangd-X.Y.manpages.in b/clangd-X.Y.manpages.in new file mode 100644 index 000000000..1ac3b604d --- /dev/null +++ b/clangd-X.Y.manpages.in @@ -0,0 +1 @@ +debian/man/clangd-@LLVM_VERSION@.1 \ No newline at end of file diff --git a/compat b/compat new file mode 100644 index 000000000..ec635144f --- /dev/null +++ b/compat @@ -0,0 +1 @@ +9 diff --git a/control b/control new file mode 100644 index 000000000..b6fdc9eec --- /dev/null +++ b/control @@ -0,0 +1,667 @@ +Source: llvm-toolchain-10 +Section: devel +Priority: optional +Rules-Requires-Root: no +Maintainer: LLVM Packaging Team +Uploaders: Sylvestre Ledru , Gianfranco Costamagna +Build-Depends: debhelper (>= 9.0), cmake, chrpath, texinfo, sharutils, + libffi-dev, + lsb-release, patchutils, diffstat, xz-utils, python3-dev, + libedit-dev, libncurses5-dev, swig, python3-six, python3-sphinx (>= 1.3.6), + binutils-dev, + libjsoncpp-dev, pkg-config, + lcov, procps, help2man, zlib1g-dev, + g++-multilib [amd64 i386 kfreebsd-amd64 mips mips64 mips64el mipsel powerpc ppc64 s390 s390x sparc sparc64 x32], + libjs-mathjax, python3-recommonmark, + doxygen, gfortran, + ocaml-nox [amd64 arm64 armhf ppc64el s390x], + ocaml-findlib [amd64 arm64 armhf ppc64el s390x], + libctypes-ocaml-dev [amd64 arm64 armhf ppc64el s390x], + dh-exec, dh-ocaml [amd64 arm64 armhf ppc64el s390x], + libpfm4-dev [linux-any], python3-setuptools, libz3-dev +Build-Conflicts: oprofile, ocaml +Standards-Version: 4.2.1 +Homepage: https://www.llvm.org/ +Vcs-Git: https://salsa.debian.org/pkg-llvm-team/llvm-toolchain.git -b 10 +Vcs-Browser: https://salsa.debian.org/pkg-llvm-team/llvm-toolchain/tree/10 + +# ------------- clang ------------- + +Package: clang-10 +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs}, + ${dep:devlibs-objc}, libclang-common-10-dev (= ${binary:Version}), + libclang1-10 (= ${binary:Version}), libc6-dev, binutils +Provides: c-compiler, objc-compiler, c++-compiler +Recommends: llvm-10-dev, python3, libomp-10-dev +Suggests: clang-10-doc +Description: C, C++ and Objective-C compiler + Clang project is a C, C++, Objective C and Objective C++ front-end + based on the LLVM compiler. Its goal is to offer a replacement to the + GNU Compiler Collection (GCC). + . + Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also + provides most of the support of C++20. + +Package: clang-tools-10 +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, clang-10 (= ${binary:Version}), + python3 +Description: clang-based tools for C/C++ developments + Clang project is a C, C++, Objective C and Objective C++ front-end + based on the LLVM compiler. Its goal is to offer a replacement to the + GNU Compiler Collection (GCC). + . + Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also + provides most of the support of C++20. + . + This package contains some clang-based tools like scan-build, clang-cl, etc. + +Package: clang-format-10 +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, python3, + libllvm10 (= ${binary:Version}) +Description: Tool to format C/C++/Obj-C code + Clang-format is both a library and a stand-alone tool with the goal of + automatically reformatting C++ sources files according to configurable + style guides. To do so, clang-format uses Clang's Lexer to transform an + input file into a token stream and then changes all the whitespace around + those tokens. The goal is for clang-format to both serve both as a user + tool (ideally with powerful IDE integrations) and part of other + refactoring tools, e.g. to do a reformatting of all the lines changed + during a renaming. + . + This package also provides vim and emacs plugins. + +Package: clang-tidy-10 +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, python3, + libllvm10 (= ${binary:Version}), libclang-common-10-dev, + clang-tools-10, python3-yaml +Description: clang-based C++ linter tool + Provide an extensible framework for diagnosing and fixing typical programming + errors, like style violations, interface misuse, or bugs that can be deduced + via static analysis. clang-tidy is modular and provides a convenient interface + for writing new checks. + +Package: clangd-10 +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, + libclang-common-10-dev (= ${binary:Version}) +Description: Language server that provides IDE-like features to editors + clangd understands your C++ code and adds smart features to your editor: + - code completion + - compile errors + - go-to-definition + - and more. + . + clangd is a language server that implements the Language Server Protocol; + it can work with many editors through a plugin. + +Package: clang-10-doc +Architecture: all +Section: doc +Depends: ${shlibs:Depends}, ${misc:Depends}, libjs-mathjax +Description: C, C++ and Objective-C compiler - Documentation + Clang project is a C, C++, Objective C and Objective C++ front-end + based on the LLVM compiler. Its goal is to offer a replacement to the + GNU Compiler Collection (GCC). + . + Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also + provides most of the support of C++20. + . + This package contains the documentation. + +Package: libclang1-10 +Section: libs +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Pre-Depends: ${misc:Pre-Depends} +Description: C interface to the Clang library + Clang project is a C, C++, Objective C and Objective C++ front-end + based on the LLVM compiler. Its goal is to offer a replacement to the + GNU Compiler Collection (GCC). + . + Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also + provides most of the support of C++20. + . + This package contains the Clang library. + . + The C Interface to Clang provides a relatively small API that exposes + facilities for parsing source code into an abstract syntax tree (AST), + loading already-parsed ASTs, traversing the AST, associating physical source + locations with elements within the AST, and other facilities that support + Clang-based development tools. + +Package: libclang-10-dev +Architecture: any +Section: libdevel +Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs}, + ${dep:devlibs-objc}, libclang1-10 (= ${binary:Version}), + libclang-common-10-dev (= ${binary:Version}) +Description: Clang library - Development package + Clang project is a C, C++, Objective C and Objective C++ front-end + based on the LLVM compiler. Its goal is to offer a replacement to the + GNU Compiler Collection (GCC). + . + Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also + provides most of the support of C++20. + . + This package contains the Clang headers to develop extensions over + libclang1-10. + +Package: libclang-common-10-dev +Architecture: any +Section: libdevel +Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm10 (= ${binary:Version}) +Description: Clang library - Common development package + Clang project is a C, C++, Objective C and Objective C++ front-end + based on the LLVM compiler. Its goal is to offer a replacement to the + GNU Compiler Collection (GCC). + . + Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also + provides most of the support of C++20. + . + This package contains the Clang generic headers and some libraries + (profiling, etc). + +Package: libclang-cpp10 +Section: libs +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm10 (= ${binary:Version}) +Pre-Depends: ${misc:Pre-Depends} +Replaces: libclang-cpp1-10 (<< 1:10~svn370407-1~exp1) +Breaks: libclang-cpp1-10 (<< 1:10~svn370407-1~exp1) +Description: C++ interface to the Clang library + Clang project is a C, C++, Objective C and Objective C++ front-end + based on the LLVM compiler. Its goal is to offer a replacement to the + GNU Compiler Collection (GCC). + . + Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also + provides most of the support of C++20. + . + This package contains the Clang C++ library. + . + The C++ Interface to Clang provides an API that exposes + facilities for parsing source code into an abstract syntax tree (AST), + loading already-parsed ASTs, traversing the AST, associating physical source + locations with elements within the AST, and other facilities that support + Clang-based development tools. + +Package: libclang-cpp10-dev +Architecture: any +Section: libdevel +Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs}, + libclang-cpp10 (= ${binary:Version}) +# Move of libclang-cpp.so into libclang-cpp10.dev +Breaks: libclang-10-dev (<< 1:10.0.0~+rc2-3) +Replaces: libclang-10-dev (<< 1:10.0.0~+rc2-3) +Description: C++ interface to the Clang library + Clang project is a C, C++, Objective C and Objective C++ front-end + based on the LLVM compiler. Its goal is to offer a replacement to the + GNU Compiler Collection (GCC). + . + Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also + provides most of the support of C++20. + . + This package contains the Clang C++ library. + . + The C++ Interface to Clang provides an API that exposes + facilities for parsing source code into an abstract syntax tree (AST), + loading already-parsed ASTs, traversing the AST, associating physical source + locations with elements within the AST, and other facilities that support + Clang-based development tools. + . + This package contains the Clang headers to develop extensions over + libclang-cpp10. + + +Package: libfuzzer-10-dev +Architecture: linux-any +Section: libdevel +Depends: ${shlibs:Depends}, ${misc:Depends}, clang-10 (= ${binary:Version}) +Description: Library for coverage-guided fuzz testing + LibFuzzer is a library for in-process, coverage-guided, evolutionary fuzzing + of other libraries. + . + LibFuzzer is similar in concept to American Fuzzy Lop (AFL), but it performs + all of its fuzzing inside a single process. This in-process fuzzing can be + more restrictive and fragile, but is potentially much faster as there is no + overhead for process start-up. + . + The fuzzer is linked with the library under test, and feeds fuzzed inputs to + the library via a specific fuzzing entrypoint (aka 'target function'); the + fuzzer then tracks which areas of the code are reached, and generates mutations + on the corpus of input data in order to maximize the code coverage. The code + coverage information for libFuzzer is provided by LLVM's SanitizerCoverage + instrumentation. + + +Package: python3-clang-10 +Section: python +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, python3, libclang-10-dev +Replaces: python-clang-x.y, python-clang-10 (<< 10~+20191225064807+aff6c9db9a9-1~exp1) +Conflicts: python-clang-x.y +Provides: python-clang-x.y +Breaks: python-clang-10 (<< 10~+20191225064807+aff6c9db9a9-1~exp1) +Description: Clang Python Bindings + Clang project is a C, C++, Objective C and Objective C++ front-end + based on the LLVM compiler. Its goal is to offer a replacement to the + GNU Compiler Collection (GCC). + . + Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also + provides most of the support of C++20. + . + This binding package provides access to the Clang compiler and libraries. + + +Package: clang-10-examples +Architecture: any +Section: doc +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Clang examples + Clang project is a C, C++, Objective C and Objective C++ front-end + based on the LLVM compiler. Its goal is to offer a replacement to the + GNU Compiler Collection (GCC). + . + Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also + provides most of the support of C++20. + . + This package contains the Clang examples. + +# ------------- LLVM ------------- + +Package: libllvm10 +Architecture: any +Section: libs +Depends: ${shlibs:Depends}, ${misc:Depends} +Pre-Depends: ${misc:Pre-Depends} +Multi-Arch: same +Description: Modular compiler and toolchain technologies, runtime library + LLVM is a collection of libraries and tools that make it easy to build + compilers, optimizers, just-in-time code generators, and many other + compiler-related programs. + . + This package contains the LLVM runtime library. + +Package: llvm-10 +Architecture: any +Suggests: llvm-10-doc +Depends: llvm-10-runtime (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} +Recommends: llvm-10-dev +Description: Modular compiler and toolchain technologies + LLVM is a collection of libraries and tools that make it easy to build + compilers, optimizers, just-in-time code generators, and many other + compiler-related programs. + . + LLVM uses a single, language-independent virtual instruction set both + as an offline code representation (to communicate code between + compiler phases and to run-time systems) and as the compiler internal + representation (to analyze and transform programs). This persistent + code representation allows a common set of sophisticated compiler + techniques to be applied at compile-time, link-time, install-time, + run-time, or "idle-time" (between program runs). + . + The strengths of the LLVM infrastructure are its extremely + simple design (which makes it easy to understand and use), + source-language independence, powerful mid-level optimizer, automated + compiler debugging support, extensibility, and its stability and + reliability. LLVM is currently being used to host a wide variety of + academic research projects and commercial projects. LLVM includes C + and C++ front-ends, a front-end for a Forth-like language (Stacker), + a young scheme front-end, and Java support is in development. LLVM can + generate code for X96, SparcV10, PowerPC or many other architectures. + +Package: llvm-10-runtime +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Recommends: binfmt-support +Description: Modular compiler and toolchain technologies, IR interpreter + LLVM is a collection of libraries and tools that make it easy to build + compilers, optimizers, just-in-time code generators, and many other + compiler-related programs. + . + LLVM uses a single, language-independent virtual instruction set both + as an offline code representation (to communicate code between + compiler phases and to run-time systems) and as the compiler internal + representation (to analyze and transform programs). This persistent + code representation allows a common set of sophisticated compiler + techniques to be applied at compile-time, link-time, install-time, + run-time, or "idle-time" (between program runs). + . + This package provides the minimal required to execute programs in LLVM + format. + +Package: llvm-10-dev +Architecture: any +Depends: ${shlibs:Depends}, libffi-dev, ${misc:Depends}, + llvm-10 (= ${binary:Version}), libllvm10 (= ${binary:Version}), libtinfo-dev, + llvm-10-tools (= ${binary:Version}), libclang-cpp10 (= ${binary:Version}), libz3-dev +Description: Modular compiler and toolchain technologies, libraries and headers + LLVM is a collection of libraries and tools that make it easy to build + compilers, optimizers, just-in-time code generators, and many other + compiler-related programs. + . + LLVM uses a single, language-independent virtual instruction set both + as an offline code representation (to communicate code between + compiler phases and to run-time systems) and as the compiler internal + representation (to analyze and transform programs). This persistent + code representation allows a common set of sophisticated compiler + techniques to be applied at compile-time, link-time, install-time, + run-time, or "idle-time" (between program runs). + . + This package provides the libraries and headers to develop applications + using llvm. + +Package: llvm-10-tools +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, python3, + python3-pygments, python3-yaml, +# Because of yaml-bench +Breaks: libclang-common-10-dev (<< 10~+20191225064807+aff6c9db9a9-1~exp1) +Replaces: libclang-common-10-dev (<< 10~+20191225064807+aff6c9db9a9-1~exp1) +Description: Modular compiler and toolchain technologies, tools + LLVM is a collection of libraries and tools that make it easy to build + compilers, optimizers, just-in-time code generators, and many other + compiler-related programs. + . + LLVM uses a single, language-independent virtual instruction set both + as an offline code representation (to communicate code between + compiler phases and to run-time systems) and as the compiler internal + representation (to analyze and transform programs). This persistent + code representation allows a common set of sophisticated compiler + techniques to be applied at compile-time, link-time, install-time, + run-time, or "idle-time" (between program runs). + . + This package provides tools for testing. + +Package: libllvm-10-ocaml-dev +Section: ocaml +Architecture: amd64 arm64 armhf ppc64el s390x +Suggests: llvm-10-doc +Depends: ${shlibs:Depends}, ${misc:Depends}, ${ocaml:Depends}, llvm-10-dev (= ${binary:Version}) +Replaces: libllvm-x.y-ocaml-dev +Conflicts: libllvm-x.y-ocaml-dev +Provides: ${ocaml:Provides}, libllvm-x.y-ocaml-dev +Description: Modular compiler and toolchain technologies, OCaml bindings + LLVM is a collection of libraries and tools that make it easy to build + compilers, optimizers, just-in-time code generators, and many other + compiler-related programs. + . + LLVM uses a single, language-independent virtual instruction set both + as an offline code representation (to communicate code between + compiler phases and to run-time systems) and as the compiler internal + representation (to analyze and transform programs). This persistent + code representation allows a common set of sophisticated compiler + techniques to be applied at compile-time, link-time, install-time, + run-time, or "idle-time" (between program runs). + . + This package provides the OCaml bindings to develop applications using llvm. + +Package: llvm-10-doc +Section: doc +Architecture: all +Depends: ${misc:Depends}, libjs-jquery, libjs-underscore +Description: Modular compiler and toolchain technologies, documentation + LLVM is a collection of libraries and tools that make it easy to build + compilers, optimizers, just-in-time code generators, and many other + compiler-related programs. + . + LLVM uses a single, language-independent virtual instruction set both + as an offline code representation (to communicate code between + compiler phases and to run-time systems) and as the compiler internal + representation (to analyze and transform programs). This persistent + code representation allows a common set of sophisticated compiler + techniques to be applied at compile-time, link-time, install-time, + run-time, or "idle-time" (between program runs). + . + This package contains all documentation (extensive). + +Package: llvm-10-examples +Section: doc +Architecture: all +Depends: ${misc:Depends}, llvm-10-dev (>= ${source:Version}), llvm-10-dev (<< ${source:Version}+c~) +Description: Modular compiler and toolchain technologies, examples + LLVM is a collection of libraries and tools that make it easy to build + compilers, optimizers, just-in-time code generators, and many other + compiler-related programs. + . + LLVM uses a single, language-independent virtual instruction set both + as an offline code representation (to communicate code between + compiler phases and to run-time systems) and as the compiler internal + representation (to analyze and transform programs). This persistent + code representation allows a common set of sophisticated compiler + techniques to be applied at compile-time, link-time, install-time, + run-time, or "idle-time" (between program runs). + . + This package contains examples for using LLVM, both in developing + extensions to LLVM and in using it to compile code. + + +# ------------- lld ------------- + +Package: lld-10 +Architecture: amd64 arm64 armel armhf i386 mips mipsel mips64el ppc64el kfreebsd-amd64 kfreebsd-i386 s390 sparc alpha hppa m68k powerpcspe ppc64 sh4 sparc64 x32 +# ia64 hurd powerpc have been removed +Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm10 (= ${binary:Version}) +Pre-Depends: ${misc:Pre-Depends} +Description: LLVM-based linker + LLD is a new, high-performance linker. It is built as a set of reusable + components which highly leverage existing libraries in the larger LLVM + Project. + +Package: liblld-10 +Architecture: amd64 arm64 armel armhf i386 mips mipsel mips64el ppc64el kfreebsd-amd64 kfreebsd-i386 s390 sparc alpha hppa m68k powerpcspe ppc64 sh4 sparc64 x32 +# ia64 hurd powerpc have been removed +Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm10 (= ${binary:Version}) +Pre-Depends: ${misc:Pre-Depends} +Section: libs +Description: LLVM-based linker, library + LLD is a new, high-performance linker. It is built as a set of reusable + components which highly leverage existing libraries in the larger LLVM + Project. + . + This package contains the LLD runtime library. + +Package: liblld-10-dev +Section: libdevel +Architecture: amd64 arm64 armel armhf i386 mips mipsel mips64el ppc64el kfreebsd-amd64 kfreebsd-i386 s390 sparc alpha hppa m68k powerpcspe ppc64 sh4 sparc64 x32 +# ia64 hurd powerpc have been removed +Depends: ${shlibs:Depends}, ${misc:Depends}, lld-10 (= ${binary:Version}), + liblld-10 (= ${binary:Version}) +Pre-Depends: ${misc:Pre-Depends} +Description: LLVM-based linker, header files + LLD is a new, high-performance linker. It is built as a set of reusable + components which highly leverage existing libraries in the larger LLVM + Project. + . + This package provides the header files to build extension over lld. + + +# ------------- lldb ------------- + +Package: lldb-10 +Architecture: amd64 arm64 armel armhf i386 mips mipsel mips64el ppc64el kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc hppa m68k sh4 x32 +# ia64 hurd powerpc powerpcspe ppc64 alpha s390x sparc64 have been removed +Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm10 (= ${binary:Version}), llvm-10-dev, + python3-lldb-10 +Pre-Depends: ${misc:Pre-Depends} +Description: Next generation, high-performance debugger + LLDB is a next generation, high-performance debugger. It is built as a set of + reusable components which highly leverage existing libraries in the larger LLVM + Project, such as the Clang expression parser and LLVM disassembler. + +Package: liblldb-10 +Architecture: amd64 arm64 armel armhf i386 mips mipsel mips64el ppc64el kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc hppa m68k sh4 x32 +# ia64 hurd powerpc powerpcspe ppc64 alpha s390x sparc64 have been removed +Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm10 (= ${binary:Version}) +Pre-Depends: ${misc:Pre-Depends} +Section: libs +Description: Next generation, high-performance debugger, library + LLDB is a next generation, high-performance debugger. It is built as a set of + reusable components which highly leverage existing libraries in the larger LLVM + Project, such as the Clang expression parser and LLVM disassembler. + . + This package contains the LLDB runtime library. + +Package: python3-lldb-10 +Section: python +Architecture: amd64 arm64 armel armhf i386 mips mipsel mips64el ppc64el kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc hppa m68k sh4 x32 +# ia64 hurd powerpc powerpcspe ppc64 alpha s390x sparc64 have been removed +Depends: ${shlibs:Depends}, ${misc:Depends}, ${python3:Depends}, liblldb-10 (= ${binary:Version}), python3-six +Conflicts: python3-lldb-x.y +Replaces: python3-lldb-x.y +Provides: python3-lldb-x.y +Pre-Depends: ${misc:Pre-Depends} +Description: Next generation, high-performance debugger, python3 lib + LLDB is a next generation, high-performance debugger. It is built as a set of + reusable components which highly leverage existing libraries in the larger LLVM + Project, such as the Clang expression parser and LLVM disassembler. + . + This binding package provides access to lldb. + +Package: liblldb-10-dev +Section: libdevel +Architecture: amd64 arm64 armel armhf i386 mips mipsel mips64el ppc64el kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc hppa m68k sh4 x32 +# ia64 hurd powerpc powerpcspe ppc64 alpha s390x sparc64 have been removed +Depends: ${shlibs:Depends}, ${misc:Depends}, lldb-10 (= ${binary:Version}) +Pre-Depends: ${misc:Pre-Depends} +Description: Next generation, high-performance debugger, header files + LLDB is a next generation, high-performance debugger. It is built as a set of + reusable components which highly leverage existing libraries in the larger LLVM + Project, such as the Clang expression parser and LLVM disassembler. + . + This package provides the header files to build extension over lldb. + + +# ------------- openmp ------------- +# 44 because it was the first version in which openmp & libc++ have been +# managed in llvm-defaults + +Package: libomp-10-dev +Section: libdevel +Architecture: amd64 arm64 armhf i386 mips64el ppc64el ppc64 +Depends: libomp5-10 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} +Suggests: libomp-10-doc +Breaks: libiomp-dev (<< 3.7-1), libomp-dev (<< 44) +Provides: libomp-x.y-dev +Conflicts: libomp-x.y-dev +Replaces: libomp-x.y-dev +Description: LLVM OpenMP runtime - dev package + The runtime is the part of the OpenMP implementation that your code is + linked against, and that manages the multiple threads in an OpenMP program + while it is executing. + +Package: libomp5-10 +Multi-Arch: same +Architecture: amd64 arm64 armhf i386 mips64el ppc64el ppc64 +Depends: ${shlibs:Depends}, ${misc:Depends} +Breaks: libomp5 (<< 44) +Provides: libomp-x.y +Conflicts: libomp-x.y +Replaces: libomp-x.y +Description: LLVM OpenMP runtime + The runtime is the part of the OpenMP implementation that your code is + linked against, and that manages the multiple threads in an OpenMP program + while it is executing. + +Package: libomp-10-doc +Section: doc +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends}, libjs-jquery +Replaces: libiomp-x.y-doc +Breaks: libiomp-x.y-doc +Description: LLVM OpenMP runtime - Documentation + The runtime is the part of the OpenMP implementation that your code is + linked against, and that manages the multiple threads in an OpenMP program + while it is executing. + . + This package contains the documentation of this package. + +# ------------- libcxx ------------- + +Package: libc++1-10 +Section: libs +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Depends: ${shlibs:Depends}, ${misc:Depends} +Suggests: clang +Breaks: libc++1 (<< 44) +Provides: libc++-x.y +Conflicts: libc++-x.y +Replaces: libc++-x.y +Description: LLVM C++ Standard library + libc++ is another implementation of the C++ standard library. + . + Features and Goals + . + * Correctness as defined by the C++ standards. + * Fast execution. + * Minimal memory use. + * Fast compile times. + * ABI compatibility with gcc's libstdc++ for some low-level features such + as exception objects, rtti and memory allocation. + * Extensive unit tests. + +Package: libc++-10-dev +Section: libdevel +Architecture: any +Multi-Arch: same +Depends: libc++1-10 (= ${binary:Version}), ${misc:Depends} +Breaks: libc++-dev (<< 44) +Provides: libc++-x.y-dev +Conflicts: libc++-x.y-dev +Replaces: libc++-x.y-dev +Description: LLVM C++ Standard library (development files) + libc++ is another implementation of the C++ standard library + . + Features and Goals + . + * Correctness as defined by the C++ standards. + * Fast execution. + * Minimal memory use. + * Fast compile times. + * ABI compatibility with gcc's libstdc++ for some low-level features such + as exception objects, rtti and memory allocation. + * Extensive unit tests. + +# ------------- libcxxabi ------------- + +Package: libc++abi1-10 +Section: libs +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Depends: ${shlibs:Depends}, ${misc:Depends} +Breaks: libc++abi1 (<< 44) +Provides: libc++abi-x.y +Conflicts: libc++abi-x.y +Replaces: libc++abi-x.y +Description: LLVM low level support for a standard C++ library + libc++abi is another implementation of low level support for a standard C++ + library. + . + Features and Goals + . + * Correctness as defined by the C++ standards. + * Provide a portable sublayer to ease the porting of libc++ + +Package: libc++abi-10-dev +Section: libdevel +Architecture: any +Multi-Arch: same +Depends: libc++abi1-10 (= ${binary:Version}), ${misc:Depends} +Breaks: libc++abi-dev (<= 44) +Provides: libc++abi-x.y-dev +Conflicts: libc++abi-x.y-dev +Replaces: libc++abi-x.y-dev +Description: LLVM low level support for a standard C++ library (development files) + libc++abi is another implementation of low level support for a standard C++ + library. + . + Features and Goals + . + * Correctness as defined by the C++ standards. + * Provide a portable sublayer to ease the porting of libc++ diff --git a/copyright b/copyright new file mode 100644 index 000000000..ad7fdbf9a --- /dev/null +++ b/copyright @@ -0,0 +1,123 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: LLVM/Clang +Source: https://llvm.org/releases/download.html + +Files: * +Copyright: 2003-2017 University of Illinois at Urbana-Champaign. +License: APACHE-2-LLVM-EXCEPTIONS + On Debian systems the full text of the Apache Software License 2.0 can be + found in the `/usr/share/common-licenses/Apache-2.0' file. + . + ---- LLVM Exceptions to the Apache 2.0 License ---- + . + As an exception, if, as a result of your compiling your source code, portions + of this Software are embedded into an Object form of such source code, you + may redistribute such embedded portions in such Object form without complying + with the conditions of Sections 4(a), 4(b) and 4(d) of the License. + . + In addition, if you combine or link compiled forms of this Software with + software that is licensed under the GPLv2 ("Combined Software") and if a + court of competent jurisdiction determines that the patent provision (Section + 3), the indemnity provision (Section 9) or other Section of the License + conflicts with the conditions of the GPLv2, you may retroactively and + prospectively choose to deem waived or otherwise exclude such Section(s) of + the License, but only in their entirety and only with respect to the Combined + Software. + +Files: compiler-rt/lib/BlocksRuntime/* + lldb/tools/debugserver/source/MacOSX/stack_logging.h +Copyright: 2008-2010 Apple, Inc. +License: MIT + +Files: llvm/lib/Support/reg* +Copyright: 1992, 1993, 1994 Henry Spencer + 1992, 1993, 1994 The Regents of the University of California +License: BSD-3-clause + +Files: llvm/lib/Support/MD5.cpp llvm/include/llvm/Support/MD5.h +Copyright: 2001 Alexander Peslyak +License: solar-public-domain + This software was written by Alexander Peslyak in 2001. No copyright is + claimed, and the software is hereby placed in the public domain. + In case this attempt to disclaim copyright and place the software in the + public domain is deemed null and void, then the software is + Copyright (c) 2001 Alexander Peslyak and it is hereby released to the + general public under the following terms: + . + Redistribution and use in source and binary forms, with or without + modification, are permitted. + . + * There's ABSOLUTELY NO WARRANTY, express or implied. + +Files: lldb/third_party/Python/module/unittest2* +Copyright: 1999-2003 Steve Purcell + 2003-2010 Python Software Foundation +License: Python + This module is free software, and you may redistribute it and/or modify + it under the same terms as Python itself, so long as this copyright message + and disclaimer are retained in their original form. + . + IN NO EVENT SHALL THE AUTHOR BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, + SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF + THIS CODE, EVEN IF THE AUTHOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH + DAMAGE. + . + THE AUTHOR SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE. THE CODE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, + AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE, + SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Files: llvm/llvmtest/YAMLParser/* +Copyright: 2006 Kirill Simonov +License: MIT + +Files: llvm/utils/unittest/googletest/* +Copyright: 2006-2008, Google Inc. +License: BSD-3-Clause + +Files: llvm/utils/unittest/googlemock/* +Copyright: 2008, Google Inc. +License: BSD-3-Clause + +Files: clang/lib/Headers/cuda_wrappers/* + clang/lib/Headers/avx512vlvp2intersectintrin.h + clang/lib/Headers/avx512vp2intersectintrin.h +Copyright: 2016-2020, Google Inc. + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + . + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + + +License: MIT + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + . + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. diff --git a/debian_path.h b/debian_path.h new file mode 100644 index 000000000..539636f8c --- /dev/null +++ b/debian_path.h @@ -0,0 +1,16 @@ +//===----------------------------------------------------------------------===// +// +// Debian paths declaration management +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#ifndef DEBIAN_PATH_H +#define DEBIAN_PATH_H + +// Provides the debian revision +#define DEB_PATCHSETVERSION "@DEB_PATCHSETVERSION@" + +#endif diff --git a/libc++-X.Y-dev.install.in b/libc++-X.Y-dev.install.in new file mode 100644 index 000000000..839b3b369 --- /dev/null +++ b/libc++-X.Y-dev.install.in @@ -0,0 +1,3 @@ +usr/lib/llvm-@LLVM_VERSION@/lib/libc++.so +usr/lib/llvm-@LLVM_VERSION@/lib/libc++.a +usr/lib/llvm-@LLVM_VERSION@/include/c++/ diff --git a/libc++-X.Y-dev.links.in b/libc++-X.Y-dev.links.in new file mode 100644 index 000000000..73efe8f5d --- /dev/null +++ b/libc++-X.Y-dev.links.in @@ -0,0 +1,2 @@ +usr/lib/llvm-@LLVM_VERSION@/lib/libc++.so /usr/lib/x86_64-linux-gnu/libc++.so +usr/lib/llvm-@LLVM_VERSION@/lib/libc++.a /usr/lib/x86_64-linux-gnu/libc++.a diff --git a/libc++-X.Y-dev.lintian-overrides.in b/libc++-X.Y-dev.lintian-overrides.in new file mode 100644 index 000000000..ea1059240 --- /dev/null +++ b/libc++-X.Y-dev.lintian-overrides.in @@ -0,0 +1,2 @@ +libc++-@LLVM_VERSION@-dev: arch-dependent-file-not-in-arch-specific-directory usr/lib/llvm-@LLVM_VERSION@/lib/libc++.a +libc++-@LLVM_VERSION@-dev: arch-dependent-file-not-in-arch-specific-directory usr/lib/llvm-@LLVM_VERSION@/lib/libc++experimental.a diff --git a/libc++1-X.Y.install.in b/libc++1-X.Y.install.in new file mode 100644 index 000000000..78e2cd3b3 --- /dev/null +++ b/libc++1-X.Y.install.in @@ -0,0 +1 @@ +usr/lib/llvm-@LLVM_VERSION@/lib/libc++.so.* diff --git a/libc++1-X.Y.links.in b/libc++1-X.Y.links.in new file mode 100644 index 000000000..4d1955c57 --- /dev/null +++ b/libc++1-X.Y.links.in @@ -0,0 +1,2 @@ +usr/lib/llvm-@LLVM_VERSION@/lib/libc++.so.1.0 /usr/lib/@DEB_HOST_MULTIARCH@/libc++.so.1.0 +/usr/lib/@DEB_HOST_MULTIARCH@/libc++.so.1.0 /usr/lib/@DEB_HOST_MULTIARCH@/libc++.so.1 diff --git a/libc++1-X.Y.lintian-overrides.in b/libc++1-X.Y.lintian-overrides.in new file mode 100644 index 000000000..d8d46f922 --- /dev/null +++ b/libc++1-X.Y.lintian-overrides.in @@ -0,0 +1 @@ +libc++1-@LLVM_VERSION@: arch-dependent-file-not-in-arch-specific-directory usr/lib/llvm-@LLVM_VERSION@/lib/libc++.so.1.0 diff --git a/libc++abi-X.Y-dev.install.in b/libc++abi-X.Y-dev.install.in new file mode 100644 index 000000000..8774c6aef --- /dev/null +++ b/libc++abi-X.Y-dev.install.in @@ -0,0 +1,3 @@ +usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi*so +usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi.a +libcxxabi/include/* usr/lib/llvm-@LLVM_VERSION@/include/ diff --git a/libc++abi-X.Y-dev.links.in b/libc++abi-X.Y-dev.links.in new file mode 100644 index 000000000..6dd5f5553 --- /dev/null +++ b/libc++abi-X.Y-dev.links.in @@ -0,0 +1 @@ +usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi.so /usr/lib/@DEB_HOST_MULTIARCH@/libc++abi.so diff --git a/libc++abi-X.Y-dev.lintian-overrides.in b/libc++abi-X.Y-dev.lintian-overrides.in new file mode 100644 index 000000000..e0aa6ed45 --- /dev/null +++ b/libc++abi-X.Y-dev.lintian-overrides.in @@ -0,0 +1 @@ +libc++abi-@LLVM_VERSION@-dev: arch-dependent-file-not-in-arch-specific-directory usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi.a diff --git a/libc++abi1-X.Y.install.in b/libc++abi1-X.Y.install.in new file mode 100644 index 000000000..6e27733de --- /dev/null +++ b/libc++abi1-X.Y.install.in @@ -0,0 +1 @@ +usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi.so.* diff --git a/libc++abi1-X.Y.links.in b/libc++abi1-X.Y.links.in new file mode 100644 index 000000000..a57ef0655 --- /dev/null +++ b/libc++abi1-X.Y.links.in @@ -0,0 +1,2 @@ +usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi.so.1.0 /usr/lib/@DEB_HOST_MULTIARCH@/libc++abi.so.1.0 +/usr/lib/@DEB_HOST_MULTIARCH@/libc++abi.so.1.0 /usr/lib/@DEB_HOST_MULTIARCH@/libc++abi.so.1 diff --git a/libc++abi1-X.Y.lintian-overrides.in b/libc++abi1-X.Y.lintian-overrides.in new file mode 100644 index 000000000..f51d4b1eb --- /dev/null +++ b/libc++abi1-X.Y.lintian-overrides.in @@ -0,0 +1 @@ +libc++abi1-@LLVM_VERSION@: arch-dependent-file-not-in-arch-specific-directory usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi.so.1.0 diff --git a/libclang-X.Y-dev.install.in b/libclang-X.Y-dev.install.in new file mode 100644 index 000000000..e8653734a --- /dev/null +++ b/libclang-X.Y-dev.install.in @@ -0,0 +1,6 @@ +usr/lib/llvm-@LLVM_VERSION@/include/clang +usr/lib/llvm-@LLVM_VERSION@/include/clang-c +usr/lib/llvm-@LLVM_VERSION@/lib/libclang*a +usr/lib/llvm-@LLVM_VERSION@/lib/libclang.so +usr/lib/llvm-@LLVM_VERSION@/lib/libclang-@LLVM_VERSION@*.so +usr/lib/llvm-@LLVM_VERSION@/lib/libfindAllSymbols.a diff --git a/libclang-X.Y-dev.links.in b/libclang-X.Y-dev.links.in new file mode 100644 index 000000000..6f99d5bf2 --- /dev/null +++ b/libclang-X.Y-dev.links.in @@ -0,0 +1,3 @@ +usr/lib/@DEB_HOST_MULTIARCH@/libclang-@LLVM_VERSION@.so.1 usr/lib/@DEB_HOST_MULTIARCH@/libclang-@LLVM_VERSION@.so +usr/lib/@DEB_HOST_MULTIARCH@/libclang-@LLVM_VERSION@.so.1 usr/lib/llvm-@LLVM_VERSION@/lib/libclang.so +usr/lib/@DEB_HOST_MULTIARCH@/libclang-@LLVM_VERSION@.so.1 usr/lib/llvm-@LLVM_VERSION@/lib/libclang-@LLVM_VERSION@.so diff --git a/libclang-common-X.Y-dev.install.in b/libclang-common-X.Y-dev.install.in new file mode 100644 index 000000000..303ed2ca7 --- /dev/null +++ b/libclang-common-X.Y-dev.install.in @@ -0,0 +1,9 @@ +#!/usr/bin/dh-exec + +usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/include + +usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/lib +usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/*.txt +usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/share/*.txt + +[!powerpc !powerpcspe] usr/lib/llvm-@LLVM_VERSION@/lib/libPolly*.a diff --git a/libclang-common-X.Y-dev.links.in b/libclang-common-X.Y-dev.links.in new file mode 100644 index 000000000..717c6b2c0 --- /dev/null +++ b/libclang-common-X.Y-dev.links.in @@ -0,0 +1,7 @@ +usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/include usr/include/clang/@LLVM_VERSION@/include +usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/include usr/lib/clang/@LLVM_VERSION@/include +usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/lib usr/lib/clang/@LLVM_VERSION@/lib +usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/include usr/include/clang/@LLVM_VERSION_FULL@/include +usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/include usr/lib/clang/@LLVM_VERSION_FULL@/include +usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/lib usr/lib/clang/@LLVM_VERSION_FULL@/lib + diff --git a/libclang-cppX.Y-dev.install.in b/libclang-cppX.Y-dev.install.in new file mode 100644 index 000000000..5d2609ece --- /dev/null +++ b/libclang-cppX.Y-dev.install.in @@ -0,0 +1 @@ +usr/lib/llvm-@LLVM_VERSION@/lib/libclang-cpp.so diff --git a/libclang-cppX.Y-dev.links.in b/libclang-cppX.Y-dev.links.in new file mode 100644 index 000000000..6a96217b4 --- /dev/null +++ b/libclang-cppX.Y-dev.links.in @@ -0,0 +1,2 @@ +usr/lib/llvm-@LLVM_VERSION@/lib/libclang-cpp.so /usr/lib/@DEB_HOST_MULTIARCH@/libclang-cpp@LLVM_VERSION@.so +usr/lib/llvm-@LLVM_VERSION@/lib/libclang-cpp.so /usr/lib/llvm-@LLVM_VERSION@/lib/libclang-cpp@LLVM_VERSION@.so diff --git a/libclang-cppX.Y.install.in b/libclang-cppX.Y.install.in new file mode 100644 index 000000000..b0d88e0e5 --- /dev/null +++ b/libclang-cppX.Y.install.in @@ -0,0 +1 @@ +usr/lib/llvm-@LLVM_VERSION@/lib/libclang-cpp.so.@LLVM_VERSION@ diff --git a/libclang-cppX.Y.links.in b/libclang-cppX.Y.links.in new file mode 100644 index 000000000..ee382f6d5 --- /dev/null +++ b/libclang-cppX.Y.links.in @@ -0,0 +1 @@ +usr/lib/llvm-@LLVM_VERSION@/lib/libclang-cpp.so.@LLVM_VERSION@ /usr/lib/@DEB_HOST_MULTIARCH@/libclang-cpp.so.@LLVM_VERSION@ diff --git a/libclang1-X.Y.install.in b/libclang1-X.Y.install.in new file mode 100644 index 000000000..d44e84f69 --- /dev/null +++ b/libclang1-X.Y.install.in @@ -0,0 +1,2 @@ +usr/lib/llvm-@LLVM_VERSION@/lib/libclang-@LLVM_VERSION@.so.1 /usr/lib/@DEB_HOST_MULTIARCH@/ +usr/lib/llvm-@LLVM_VERSION@/lib/libclang.so.1 diff --git a/libclang1-X.Y.links.in b/libclang1-X.Y.links.in new file mode 100644 index 000000000..3ea44c8d7 --- /dev/null +++ b/libclang1-X.Y.links.in @@ -0,0 +1,3 @@ +# as upstream +usr/lib/@DEB_HOST_MULTIARCH@/libclang-@LLVM_VERSION@.so.1 usr/lib/llvm-@LLVM_VERSION@/lib/libclang-@LLVM_VERSION@.so.1 +usr/lib/llvm-@LLVM_VERSION@/lib/libclang-@LLVM_VERSION@.so.1 usr/lib/llvm-@LLVM_VERSION@/lib/libclang.so.1 diff --git a/libclang1-X.Y.lintian-overrides.in b/libclang1-X.Y.lintian-overrides.in new file mode 100644 index 000000000..860384558 --- /dev/null +++ b/libclang1-X.Y.lintian-overrides.in @@ -0,0 +1,5 @@ +# I know and I am not planning to change that yet. +libclang1-@LLVM_VERSION@: package-name-doesnt-match-sonames libclang-@LLVM_VERSION@-1 +# Provided as transition +libclang1-@LLVM_VERSION@: dev-pkg-without-shlib-symlink usr/lib/*/libclang-@LLVM_VERSION@.so.1 usr/lib/*/libclang.so +libclang1-@LLVM_VERSION@: ldconfig-symlink-missing-for-shlib usr/lib/*/libclang-LLVM_VERSION@.so usr/lib/*/libclang-LLVM_VERSION@.so.1 libclang-LLVM_VERSION@.so diff --git a/libclang1-X.Y.symbols.in b/libclang1-X.Y.symbols.in new file mode 100644 index 000000000..a51eed232 --- /dev/null +++ b/libclang1-X.Y.symbols.in @@ -0,0 +1,385 @@ +libclang-@LLVM_VERSION@.so.1 libclang1-@LLVM_VERSION@ #MINVER# + (optional)LLVM_@LLVM_VERSION@@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_BlockCommandComment_getArgText@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_BlockCommandComment_getCommandName@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_BlockCommandComment_getNumArgs@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_BlockCommandComment_getParagraph@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_CXCursorSet_contains@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_CXCursorSet_insert@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_CXIndex_getGlobalOptions@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_CXIndex_setGlobalOptions@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_CXIndex_setInvocationEmissionPathOption@LLVM_@LLVM_VERSION@ 1:6.0~svn320926-1~ + clang_CXXConstructor_isConvertingConstructor@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_CXXConstructor_isCopyConstructor@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_CXXConstructor_isDefaultConstructor@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_CXXConstructor_isMoveConstructor@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_CXXField_isMutable@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_CXXMethod_isConst@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_CXXMethod_isDefaulted@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_CXXMethod_isPureVirtual@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_CXXMethod_isStatic@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_CXXMethod_isVirtual@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_CXXRecord_isAbstract@LLVM_@LLVM_VERSION@ 1:6.0~svn320926-1~ + clang_Comment_getChild@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_Comment_getKind@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_Comment_getNumChildren@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_Comment_isWhitespace@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_CompilationDatabase_dispose@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_CompilationDatabase_fromDirectory@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_CompilationDatabase_getAllCompileCommands@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_CompilationDatabase_getCompileCommands@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_CompileCommand_getArg@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_CompileCommand_getDirectory@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_CompileCommand_getFilename@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_CompileCommand_getMappedSourceContent@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_CompileCommand_getMappedSourcePath@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_CompileCommand_getNumArgs@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_CompileCommands_dispose@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_CompileCommands_getCommand@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_CompileCommands_getSize@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_Cursor_Evaluate@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_Cursor_getArgument@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_Cursor_getBriefCommentText@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_Cursor_getCXXManglings@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_Cursor_getCommentRange@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_Cursor_getMangling@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_Cursor_getModule@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_Cursor_getNumArguments@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_Cursor_getNumTemplateArguments@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_Cursor_getObjCDeclQualifiers@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_Cursor_getObjCManglings@LLVM_@LLVM_VERSION@ 1:6.0~svn320926-1~ + clang_Cursor_getObjCPropertyAttributes@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_Cursor_getObjCPropertyGetterName@LLVM_@LLVM_VERSION@ 1:8~svn339515-1~ + clang_Cursor_getObjCPropertySetterName@LLVM_@LLVM_VERSION@ 1:8~svn339515-1~ + clang_Cursor_getObjCSelectorIndex@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_Cursor_getOffsetOfField@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_Cursor_getParsedComment@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_Cursor_getRawCommentText@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_Cursor_getReceiverType@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_Cursor_getSpellingNameRange@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_Cursor_getStorageClass@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_Cursor_getTemplateArgumentKind@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_Cursor_getTemplateArgumentType@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_Cursor_getTemplateArgumentUnsignedValue@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_Cursor_getTemplateArgumentValue@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_Cursor_getTranslationUnit@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_Cursor_hasAttrs@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_Cursor_isAnonymous@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_Cursor_isAnonymousRecordDecl@LLVM_@LLVM_VERSION@ 1:9~svn359771-1~ + clang_Cursor_isBitField@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_Cursor_isDynamicCall@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_Cursor_isExternalSymbol@LLVM_@LLVM_VERSION@ 1:5.0~+rc1~ + clang_Cursor_isFunctionInlined@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_Cursor_isInlineNamespace@LLVM_@LLVM_VERSION@ 1:9~svn360566-1~ + clang_Cursor_isMacroBuiltin@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_Cursor_isMacroFunctionLike@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_Cursor_isNull@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_Cursor_isObjCOptional@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_Cursor_isVariadic@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_EnumDecl_isScoped@LLVM_@LLVM_VERSION@ 1:5.0~+rc1~ + clang_EvalResult_dispose@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_EvalResult_getAsDouble@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_EvalResult_getAsInt@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_EvalResult_getAsLongLong@LLVM_@LLVM_VERSION@ 1:5.0~svn302377-1~ + clang_EvalResult_getAsStr@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_EvalResult_getAsUnsigned@LLVM_@LLVM_VERSION@ 1:5.0~svn302377-1~ + clang_EvalResult_getKind@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_EvalResult_isUnsignedInt@LLVM_@LLVM_VERSION@ 1:5.0~svn302377-1~ + clang_File_isEqual@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_File_tryGetRealPathName@LLVM_@LLVM_VERSION@ 1:7~svn329516-1~ + clang_FullComment_getAsHTML@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_FullComment_getAsXML@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_HTMLStartTagComment_isSelfClosing@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_HTMLStartTag_getAttrName@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_HTMLStartTag_getAttrValue@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_HTMLStartTag_getNumAttrs@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_HTMLTagComment_getAsString@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_HTMLTagComment_getTagName@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_IndexAction_create@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_IndexAction_dispose@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_InlineCommandComment_getArgText@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_InlineCommandComment_getCommandName@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_InlineCommandComment_getNumArgs@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_InlineCommandComment_getRenderKind@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_InlineContentComment_hasTrailingNewline@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_Location_isFromMainFile@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_Location_isInSystemHeader@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_ModuleMapDescriptor_create@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_ModuleMapDescriptor_dispose@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_ModuleMapDescriptor_setFrameworkModuleName@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_ModuleMapDescriptor_setUmbrellaHeader@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_ModuleMapDescriptor_writeToBuffer@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_Module_getASTFile@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_Module_getFullName@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_Module_getName@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_Module_getNumTopLevelHeaders@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_Module_getParent@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_Module_getTopLevelHeader@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_Module_isSystem@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_ParamCommandComment_getDirection@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_ParamCommandComment_getParamIndex@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_ParamCommandComment_getParamName@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_ParamCommandComment_isDirectionExplicit@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_ParamCommandComment_isParamIndexValid@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_PrintingPolicy_dispose@LLVM_@LLVM_VERSION@ 1:7~svn324835-1~ + clang_PrintingPolicy_getProperty@LLVM_@LLVM_VERSION@ 1:7~svn324835-1~ + clang_PrintingPolicy_setProperty@LLVM_@LLVM_VERSION@ 1:7~svn324835-1~ + clang_Range_isNull@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_TParamCommandComment_getDepth@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_TParamCommandComment_getIndex@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_TParamCommandComment_getParamName@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_TParamCommandComment_isParamPositionValid@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_TargetInfo_dispose@LLVM_@LLVM_VERSION@ 1:5.0~svn302377-1~ + clang_TargetInfo_getPointerWidth@LLVM_@LLVM_VERSION@ 1:5.0~svn302377-1~ + clang_TargetInfo_getTriple@LLVM_@LLVM_VERSION@ 1:5.0~svn302377-1~ + clang_TextComment_getText@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_Type_getAlignOf@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_Type_getCXXRefQualifier@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_Type_getClassType@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_Type_getModifiedType@LLVM_@LLVM_VERSION@ 1:8~svn339515-1~ + clang_Type_getNamedType@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_Type_getNullability@LLVM_@LLVM_VERSION@ 1:8~svn339515-1~ + clang_Type_getNumObjCProtocolRefs@LLVM_@LLVM_VERSION@ 1:8~svn339515-1~ + clang_Type_getNumObjCTypeArgs@LLVM_@LLVM_VERSION@ 1:8~svn339515-1~ + clang_Type_getNumTemplateArguments@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_Type_getObjCEncoding@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_Type_getObjCObjectBaseType@LLVM_@LLVM_VERSION@ 1:8~svn339515-1~ + clang_Type_getObjCProtocolDecl@LLVM_@LLVM_VERSION@ 1:8~svn339515-1~ + clang_Type_getObjCTypeArg@LLVM_@LLVM_VERSION@ 1:8~svn339515-1~ + clang_Type_getOffsetOf@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_Type_getSizeOf@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_Type_getTemplateArgumentAsType@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_Type_isTransparentTagTypedef@LLVM_@LLVM_VERSION@ 1:5.0~svn302377-1~ + clang_Type_visitFields@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_VerbatimBlockLineComment_getText@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_VerbatimLineComment_getText@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_VirtualFileOverlay_addFileMapping@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_VirtualFileOverlay_create@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_VirtualFileOverlay_dispose@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_VirtualFileOverlay_setCaseSensitivity@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_VirtualFileOverlay_writeToBuffer@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_annotateTokens@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_codeCompleteAt@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_codeCompleteGetContainerKind@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_codeCompleteGetContainerUSR@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_codeCompleteGetContexts@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_codeCompleteGetDiagnostic@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_codeCompleteGetNumDiagnostics@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_codeCompleteGetObjCSelector@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_constructUSR_ObjCCategory@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_constructUSR_ObjCClass@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_constructUSR_ObjCIvar@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_constructUSR_ObjCMethod@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_constructUSR_ObjCProperty@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_constructUSR_ObjCProtocol@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_createCXCursorSet@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_createIndex@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_createTranslationUnit2@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_createTranslationUnit@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_createTranslationUnitFromSourceFile@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_defaultCodeCompleteOptions@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_defaultDiagnosticDisplayOptions@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_defaultEditingTranslationUnitOptions@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_defaultReparseOptions@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_defaultSaveOptions@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_disposeCXCursorSet@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_disposeCXPlatformAvailability@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_disposeCXTUResourceUsage@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_disposeCodeCompleteResults@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_disposeDiagnostic@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_disposeDiagnosticSet@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_disposeIndex@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_disposeOverriddenCursors@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_disposeSourceRangeList@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_disposeString@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_disposeStringSet@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_disposeTokens@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_disposeTranslationUnit@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_enableStackTraces@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_equalCursors@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_equalLocations@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_equalRanges@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_equalTypes@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_executeOnThread@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_findIncludesInFile@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_findIncludesInFileWithBlock@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_findReferencesInFile@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_findReferencesInFileWithBlock@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_formatDiagnostic@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_free@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getAddressSpace@LLVM_@LLVM_VERSION@ 1:5.0~+rc1~ + clang_getAllSkippedRanges@LLVM_@LLVM_VERSION@ 1:5.0~svn302377-1~ + clang_getArgType@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getArrayElementType@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getArraySize@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getBuildSessionTimestamp@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getCString@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getCXTUResourceUsage@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getCXXAccessSpecifier@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getCanonicalCursor@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getCanonicalType@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getChildDiagnostics@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getClangVersion@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getCompletionAnnotation@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getCompletionAvailability@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getCompletionBriefComment@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getCompletionChunkCompletionString@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getCompletionChunkKind@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getCompletionChunkText@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getCompletionFixIt@LLVM_@LLVM_VERSION@ 1:7~svn334604-1~ + clang_getCompletionNumAnnotations@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getCompletionNumFixIts@LLVM_@LLVM_VERSION@ 1:7~svn334604-1~+0~ + clang_getCompletionParent@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getCompletionPriority@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getCursor@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getCursorAvailability@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getCursorCompletionString@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getCursorDefinition@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getCursorDisplayName@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getCursorExceptionSpecificationType@LLVM_@LLVM_VERSION@ 1:5.0~+rc1~ + clang_getCursorExtent@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getCursorKind@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getCursorKindSpelling@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getCursorLanguage@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getCursorLexicalParent@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getCursorLinkage@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getCursorLocation@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getCursorPlatformAvailability@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getCursorPrettyPrinted@LLVM_@LLVM_VERSION@ 1:7~svn324835-1~ + clang_getCursorPrintingPolicy@LLVM_@LLVM_VERSION@ 1:7~svn324835-1~ + clang_getCursorReferenceNameRange@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getCursorReferenced@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getCursorResultType@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getCursorSemanticParent@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getCursorSpelling@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getCursorTLSKind@LLVM_@LLVM_VERSION@ 1:6.0~svn320926-1~ + clang_getCursorType@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getCursorUSR@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getCursorVisibility@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getDeclObjCTypeEncoding@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getDefinitionSpellingAndExtent@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getDiagnostic@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getDiagnosticCategory@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getDiagnosticCategoryName@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getDiagnosticCategoryText@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getDiagnosticFixIt@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getDiagnosticInSet@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getDiagnosticLocation@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getDiagnosticNumFixIts@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getDiagnosticNumRanges@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getDiagnosticOption@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getDiagnosticRange@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getDiagnosticSetFromTU@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getDiagnosticSeverity@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getDiagnosticSpelling@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getElementType@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getEnumConstantDeclUnsignedValue@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getEnumConstantDeclValue@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getEnumDeclIntegerType@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getExceptionSpecificationType@LLVM_@LLVM_VERSION@ 1:5.0~+rc1~ + clang_getExpansionLocation@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getFieldDeclBitWidth@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getFile@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getFileContents@LLVM_@LLVM_VERSION@ 1:6.0~svn321745-1~ + clang_getFileLocation@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getFileName@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getFileTime@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getFileUniqueID@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getFunctionTypeCallingConv@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getIBOutletCollectionType@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getIncludedFile@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getInclusions@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getInstantiationLocation@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getLocation@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getLocationForOffset@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getModuleForFile@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getNullCursor@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getNullLocation@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getNullRange@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getNumArgTypes@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getNumCompletionChunks@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getNumDiagnostics@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getNumDiagnosticsInSet@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getNumElements@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getNumOverloadedDecls@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getOverloadedDecl@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getOverriddenCursors@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getPointeeType@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getPresumedLocation@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getRange@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getRangeEnd@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getRangeStart@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getRemappings@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getRemappingsFromFileList@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getResultType@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getSkippedRanges@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getSpecializedCursorTemplate@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getSpellingLocation@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getTUResourceUsageName@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getTemplateCursorKind@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getToken@LLVM_@LLVM_VERSION@ 1:7~svn334604-1~ + clang_getTokenExtent@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getTokenKind@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getTokenLocation@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getTokenSpelling@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getTranslationUnitCursor@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getTranslationUnitSpelling@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getTranslationUnitTargetInfo@LLVM_@LLVM_VERSION@ 1:5.0~svn302377-1~ + clang_getTypeDeclaration@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getTypeKindSpelling@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getTypeSpelling@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getTypedefDeclUnderlyingType@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_getTypedefName@LLVM_@LLVM_VERSION@ 1:5.0~+rc1~ + clang_hashCursor@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_indexLoc_getCXSourceLocation@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_indexLoc_getFileLocation@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_indexSourceFile@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_indexSourceFileFullArgv@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_indexTranslationUnit@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_index_getCXXClassDeclInfo@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_index_getClientContainer@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_index_getClientEntity@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_index_getIBOutletCollectionAttrInfo@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_index_getObjCCategoryDeclInfo@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_index_getObjCContainerDeclInfo@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_index_getObjCInterfaceDeclInfo@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_index_getObjCPropertyDeclInfo@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_index_getObjCProtocolRefListInfo@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_index_isEntityObjCContainerKind@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_index_setClientContainer@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_index_setClientEntity@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_install_aborting_llvm_fatal_error_handler@LLVM_@LLVM_VERSION@ 1:10~svn371796-1~ + clang_isAttribute@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_isConstQualifiedType@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_isCursorDefinition@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_isDeclaration@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_isExpression@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_isFileMultipleIncludeGuarded@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_isFunctionTypeVariadic@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_isInvalid@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_isInvalidDeclaration@LLVM_@LLVM_VERSION@ 1:7~svn321385-1~ + clang_isPODType@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_isPreprocessing@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_isReference@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_isRestrictQualifiedType@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_isStatement@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_isTranslationUnit@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_isUnexposed@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_isVirtualBase@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_isVolatileQualifiedType@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_loadDiagnostics@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_parseTranslationUnit2@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_parseTranslationUnit2FullArgv@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_parseTranslationUnit@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_remap_dispose@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_remap_getFilenames@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_remap_getNumFiles@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_reparseTranslationUnit@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_saveTranslationUnit@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_sortCodeCompletionResults@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_suspendTranslationUnit@LLVM_@LLVM_VERSION@ 1:5.0~+rc1~ + clang_toggleCrashRecovery@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_tokenize@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_uninstall_llvm_fatal_error_handler@LLVM_@LLVM_VERSION@ 1:10~svn371796-1~ + clang_visitChildren@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ + clang_visitChildrenWithBlock@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ diff --git a/liblld-X.Y-dev.install.in b/liblld-X.Y-dev.install.in new file mode 100644 index 000000000..b1446f067 --- /dev/null +++ b/liblld-X.Y-dev.install.in @@ -0,0 +1,2 @@ +/usr/lib/llvm-@LLVM_VERSION@/include/lld + diff --git a/liblld-X.Y.install.in b/liblld-X.Y.install.in new file mode 100644 index 000000000..3d86306c7 --- /dev/null +++ b/liblld-X.Y.install.in @@ -0,0 +1,11 @@ +#usr/lib/llvm-@LLVM_VERSION@/lib/liblld-@LLVM_VERSION@.so.1 /usr/lib/@DEB_HOST_MULTIARCH@/ +usr/lib/llvm-@LLVM_VERSION@/lib/liblldReaderWriter.a +usr/lib/llvm-@LLVM_VERSION@/lib/liblldDriver.a +usr/lib/llvm-@LLVM_VERSION@/lib/liblldYAML.a +usr/lib/llvm-@LLVM_VERSION@/lib/liblldELF.a +usr/lib/llvm-@LLVM_VERSION@/lib/liblldCore.a +usr/lib/llvm-@LLVM_VERSION@/lib/liblldMachO.a +usr/lib/llvm-@LLVM_VERSION@/lib/liblldCOFF.a +usr/lib/llvm-@LLVM_VERSION@/lib/liblldMinGW.a +usr/lib/llvm-@LLVM_VERSION@/lib/liblldCommon.a +usr/lib/llvm-@LLVM_VERSION@/lib/liblldWasm.a diff --git a/liblld-X.Y.links.in b/liblld-X.Y.links.in new file mode 100644 index 000000000..0aa818065 --- /dev/null +++ b/liblld-X.Y.links.in @@ -0,0 +1,3 @@ +#usr/lib/@DEB_HOST_MULTIARCH@/liblld-@LLVM_VERSION@.so.1 usr/lib/@DEB_HOST_MULTIARCH@/liblld-@LLVM_VERSION@.so +#usr/lib/@DEB_HOST_MULTIARCH@/liblld-@LLVM_VERSION@.so usr/lib/python3/dist-packages/lld-@LLVM_VERSION@/_lld.so +#usr/lib/@DEB_HOST_MULTIARCH@/liblld-@LLVM_VERSION@.so.1 usr/lib/llvm-@LLVM_VERSION@/lib/liblld.so.1 diff --git a/liblldb-X.Y-dev.install.in b/liblldb-X.Y-dev.install.in new file mode 100644 index 000000000..72f48e7b5 --- /dev/null +++ b/liblldb-X.Y-dev.install.in @@ -0,0 +1,3 @@ +/usr/lib/llvm-@LLVM_VERSION@/include/lldb +#/usr/lib/llvm-@LLVM_VERSION@/lib/liblldb*a +/usr/lib/llvm-@LLVM_VERSION@/lib/liblldb*so diff --git a/liblldb-X.Y-dev.links.in b/liblldb-X.Y-dev.links.in new file mode 100644 index 000000000..3c6aef902 --- /dev/null +++ b/liblldb-X.Y-dev.links.in @@ -0,0 +1,3 @@ +usr/lib/@DEB_HOST_MULTIARCH@/liblldb-@LLVM_VERSION@.so.1 usr/lib/llvm-@LLVM_VERSION@/lib/liblldb.so +usr/lib/@DEB_HOST_MULTIARCH@/liblldb-@LLVM_VERSION@.so.1 usr/lib/llvm-@LLVM_VERSION@/lib/liblldb-@LLVM_VERSION@.so +usr/lib/@DEB_HOST_MULTIARCH@/liblldb-@LLVM_VERSION@.so.1 usr/lib/llvm-@LLVM_VERSION@/lib/liblldb-@LLVM_VERSION@.so.1 diff --git a/liblldb-X.Y.install.in b/liblldb-X.Y.install.in new file mode 100644 index 000000000..24fa4446c --- /dev/null +++ b/liblldb-X.Y.install.in @@ -0,0 +1,3 @@ +usr/lib/llvm-@LLVM_VERSION@/lib/liblldb-@LLVM_VERSION@.so.1 /usr/lib/@DEB_HOST_MULTIARCH@/ + +usr/lib/llvm-@LLVM_VERSION@/lib/liblldbIntelFeatures.so.* diff --git a/liblldb-X.Y.links.in b/liblldb-X.Y.links.in new file mode 100644 index 000000000..ae73a1993 --- /dev/null +++ b/liblldb-X.Y.links.in @@ -0,0 +1,2 @@ +usr/lib/@DEB_HOST_MULTIARCH@/liblldb-@LLVM_VERSION@.so.1 usr/lib/@DEB_HOST_MULTIARCH@/liblldb-@LLVM_VERSION@.so +usr/lib/@DEB_HOST_MULTIARCH@/liblldb-@LLVM_VERSION@.so.1 usr/lib/llvm-@LLVM_VERSION@/lib/liblldb.so.1 diff --git a/liblldb-X.Y.lintian-overrides.in b/liblldb-X.Y.lintian-overrides.in new file mode 100644 index 000000000..180aec35d --- /dev/null +++ b/liblldb-X.Y.lintian-overrides.in @@ -0,0 +1,5 @@ +# That is normal. The lib is not (yet?) shipped as a new package +liblldb-@LLVM_VERSION@: package-name-doesnt-match-sonames liblldb-@LLVM_VERSION@-1 +# For now, override this warning. We might create a -dev at some point +liblldb-@LLVM_VERSION@: non-dev-pkg-with-shlib-symlink usr/lib/*/liblldb.so.1 usr/lib/*/liblldb.so +liblldb-@LLVM_VERSION@: non-dev-pkg-with-shlib-symlink usr/lib/*/liblldb-@LLVM_VERSION@.so.1 usr/lib/*/liblldb-@LLVM_VERSION@.so diff --git a/libllvm-X.Y-ocaml-dev.META.in b/libllvm-X.Y-ocaml-dev.META.in new file mode 100644 index 000000000..366820d9c --- /dev/null +++ b/libllvm-X.Y-ocaml-dev.META.in @@ -0,0 +1,63 @@ +description = "Low Level Virtual Machine bindings" +version = "@LLVM_VERSION@" + +directory = "+llvm-@LLVM_VERSION@" + +archive(byte) = "llvm.cma" +archive(native) = "llvm.cmxa" +linkopts = "-cclib -lstdc++ -cclib -lllvm" + +package "executionengine" +( + requires = "llvm-@LLVM_VERSION@" + version = "@LLVM_VERSION@" + archive(native) = "llvm_executionengine.cmxa" + archive(byte) = "llvm_executionengine.cma" + linkopts = "-cclib -lllvm_executionengine" +) + +package "target" +( + requires = "llvm-@LLVM_VERSION@" + version = "@LLVM_VERSION@" + archive(native) = "llvm_target.cmxa" + archive(byte) = "llvm_target.cma" + linkopts = "-cclib -lllvm_target" +) + +package "scalar_opts" +( + requires = "llvm-@LLVM_VERSION@ llvm-@LLVM_VERSION@.target" + version = "@LLVM_VERSION@" + archive(native) = "llvm_scalar_opts.cmxa" + archive(byte) = "llvm_scalar_opts.cma" + linkopts = "-cclib -lllvm_scalar_opts" +) + +package "analysis" +( + requires = "llvm-@LLVM_VERSION@" + version = "@LLVM_VERSION@" + archive(native) = "llvm_analysis.cmxa" + archive(byte) = "llvm_analysis.cma" + linkopts = "-cclib -lllvm_analysis" +) + +package "bitwriter" +( + requires = "llvm-@LLVM_VERSION@" + version = "@LLVM_VERSION@" + archive(native) = "llvm_bitwriter.cmxa" + archive(byte) = "llvm_bitwriter.cma" + linkopts = "-cclib -lllvm_bitwriter" +) + +package "bitreader" +( + requires = "llvm-@LLVM_VERSION@ llvm-@LLVM_VERSION@.bitwriter" + version = "@LLVM_VERSION@" + archive(native) = "llvm_bitreader.cmxa" + archive(byte) = "llvm_bitreader.cma" + linkopts = "-cclib -lllvm_bitreader" +) + diff --git a/libllvm-X.Y-ocaml-dev.dirs.in b/libllvm-X.Y-ocaml-dev.dirs.in new file mode 100644 index 000000000..6c9c7364a --- /dev/null +++ b/libllvm-X.Y-ocaml-dev.dirs.in @@ -0,0 +1,2 @@ +@OCAML_STDLIB_DIR@/META/ + diff --git a/libllvm-X.Y-ocaml-dev.install.in b/libllvm-X.Y-ocaml-dev.install.in new file mode 100644 index 000000000..4c68fb7b1 --- /dev/null +++ b/libllvm-X.Y-ocaml-dev.install.in @@ -0,0 +1,2 @@ +@OCAML_STDLIB_DIR@ +usr/lib/llvm-@LLVM_VERSION@/share/doc/llvm/ocaml-html/ usr/share/doc/libllvm-@LLVM_VERSION@-ocaml-dev/ diff --git a/libllvm-X.Y-ocaml-dev.lintian-overrides.in b/libllvm-X.Y-ocaml-dev.lintian-overrides.in new file mode 100644 index 000000000..5d25d4425 --- /dev/null +++ b/libllvm-X.Y-ocaml-dev.lintian-overrides.in @@ -0,0 +1,2 @@ +# It is in the section ocaml which is fine. +libllvm-@LLVM_VERSION@-ocaml-dev: wrong-section-according-to-package-name libllvm-@LLVM_VERSION@-ocaml-dev => libdevel diff --git a/libllvmX.Y.install.in b/libllvmX.Y.install.in new file mode 100644 index 000000000..f8d968f8f --- /dev/null +++ b/libllvmX.Y.install.in @@ -0,0 +1 @@ +usr/lib/llvm-@LLVM_VERSION@/lib/libLLVM-@LLVM_VERSION@.so.1 /usr/lib/@DEB_HOST_MULTIARCH@/ diff --git a/libllvmX.Y.links.in b/libllvmX.Y.links.in new file mode 100644 index 000000000..067b08842 --- /dev/null +++ b/libllvmX.Y.links.in @@ -0,0 +1,4 @@ +# Should be uncommented for @LLVM_VERSION@.1 and other +# usr/lib/llvm-@LLVM_VERSION@/lib/libLLVM-@LLVM_VERSION@.so.1 /usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION@.so.1 +usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION@.so.1 /usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION@.so + diff --git a/libllvmX.Y.lintian-overrides.in b/libllvmX.Y.lintian-overrides.in new file mode 100644 index 000000000..49f7ef24e --- /dev/null +++ b/libllvmX.Y.lintian-overrides.in @@ -0,0 +1,2 @@ +# That is normal. Upstream does not match the debian convention +libllvm@LLVM_VERSION@: package-name-doesnt-match-sonames libLLVM-@LLVM_VERSION@-1 diff --git a/libomp-X.Y-dev.install.in b/libomp-X.Y-dev.install.in new file mode 100644 index 000000000..9255b8281 --- /dev/null +++ b/libomp-X.Y-dev.install.in @@ -0,0 +1,8 @@ +#!/usr/bin/dh-exec + +/usr/lib/llvm-@LLVM_VERSION@/include/openmp/omp*.h +/usr/lib/llvm-@LLVM_VERSION@/lib/libgomp.so +/usr/lib/llvm-@LLVM_VERSION@/lib/libiomp5.so +/usr/lib/llvm-@LLVM_VERSION@/lib/libomp*.so +[!armhf !mips64el] /usr/lib/llvm-@LLVM_VERSION@/lib/libarcher_static.a +[!armhf !mips64el] /usr/lib/llvm-@LLVM_VERSION@/lib/libarcher.so diff --git a/libomp-X.Y-dev.links.in b/libomp-X.Y-dev.links.in new file mode 100644 index 000000000..8b01da8df --- /dev/null +++ b/libomp-X.Y-dev.links.in @@ -0,0 +1,3 @@ +/usr/lib/llvm-@LLVM_VERSION@/lib/libomp.so usr/lib/@DEB_HOST_MULTIARCH@/libomp5.so +/usr/lib/llvm-@LLVM_VERSION@/lib/libomp.so usr/lib/@DEB_HOST_MULTIARCH@/libiomp5.so + diff --git a/libomp-X.Y-doc.docs.in b/libomp-X.Y-doc.docs.in new file mode 100644 index 000000000..fbb48ae03 --- /dev/null +++ b/libomp-X.Y-doc.docs.in @@ -0,0 +1 @@ +openmp/runtime/doc/doxygen/generated/html/ diff --git a/libomp-X.Y.links.in b/libomp-X.Y.links.in new file mode 100644 index 000000000..6bc3d4ce1 --- /dev/null +++ b/libomp-X.Y.links.in @@ -0,0 +1 @@ +usr/lib/llvm-@LLVM_VERSION@/lib/libomp.so.5 usr/lib/@DEB_HOST_MULTIARCH@/libomp.so.5 diff --git a/libomp5-X.Y.install.in b/libomp5-X.Y.install.in new file mode 100644 index 000000000..858fb3e14 --- /dev/null +++ b/libomp5-X.Y.install.in @@ -0,0 +1 @@ +usr/lib/llvm-@LLVM_VERSION@/lib/libomp*.so.5 diff --git a/libomp5-X.Y.links.in b/libomp5-X.Y.links.in new file mode 100644 index 000000000..cd9227f09 --- /dev/null +++ b/libomp5-X.Y.links.in @@ -0,0 +1,3 @@ +usr/lib/llvm-@LLVM_VERSION@/lib/libomp.so.5 /usr/lib/@DEB_HOST_MULTIARCH@/libomp.so.5 + + diff --git a/libomp5-X.Y.lintian-overrides.in b/libomp5-X.Y.lintian-overrides.in new file mode 100644 index 000000000..201d42dc5 --- /dev/null +++ b/libomp5-X.Y.lintian-overrides.in @@ -0,0 +1 @@ +libomp5-@LLVM_VERSION@: arch-dependent-file-not-in-arch-specific-directory usr/lib/llvm-@LLVM_VERSION@/lib/libomp.so.5 diff --git a/libomp5-X.Y.symbols.in b/libomp5-X.Y.symbols.in new file mode 100644 index 000000000..87a059a51 --- /dev/null +++ b/libomp5-X.Y.symbols.in @@ -0,0 +1,1222 @@ +libomp.so.5 libomp5-@LLVM_VERSION@ #MINVER# + GOMP_1.0@GOMP_1.0 0.20131209 + GOMP_2.0@GOMP_2.0 0.20131209 + GOMP_3.0@GOMP_3.0 0.20131209 + GOMP_4.0@GOMP_4.0 0.20131209 + GOMP_4.5@GOMP_4.5 7 + GOMP_atomic_end@GOMP_1.0 0.20131209 + GOMP_atomic_end@VERSION 0.20130412 + GOMP_atomic_start@GOMP_1.0 0.20131209 + GOMP_atomic_start@VERSION 0.20130412 + GOMP_barrier@GOMP_1.0 0.20131209 + GOMP_barrier@VERSION 0.20130412 + GOMP_barrier_cancel@GOMP_4.0 0.20140926 + GOMP_barrier_cancel@VERSION 0.20140926 + GOMP_cancel@GOMP_4.0 0.20140926 + GOMP_cancel@VERSION 0.20140926 + GOMP_cancellation_point@GOMP_4.0 0.20140926 + GOMP_cancellation_point@VERSION 0.20140926 + GOMP_critical_end@GOMP_1.0 0.20131209 + GOMP_critical_end@VERSION 0.20130412 + GOMP_critical_name_end@GOMP_1.0 0.20131209 + GOMP_critical_name_end@VERSION 0.20130412 + GOMP_critical_name_start@GOMP_1.0 0.20131209 + GOMP_critical_name_start@VERSION 0.20130412 + GOMP_critical_start@GOMP_1.0 0.20131209 + GOMP_critical_start@VERSION 0.20130412 + GOMP_doacross_post@GOMP_4.5 7 + GOMP_doacross_post@VERSION 7 + GOMP_doacross_ull_post@GOMP_4.5 7 + GOMP_doacross_ull_post@VERSION 7 + GOMP_doacross_ull_wait@GOMP_4.5 7 + GOMP_doacross_ull_wait@VERSION 7 + GOMP_doacross_wait@GOMP_4.5 7 + GOMP_doacross_wait@VERSION 7 + GOMP_loop_doacross_dynamic_start@GOMP_4.5 7 + GOMP_loop_doacross_dynamic_start@VERSION 7 + GOMP_loop_doacross_guided_start@GOMP_4.5 7 + GOMP_loop_doacross_guided_start@VERSION 7 + GOMP_loop_doacross_runtime_start@GOMP_4.5 7 + GOMP_loop_doacross_runtime_start@VERSION 7 + GOMP_loop_doacross_static_start@GOMP_4.5 7 + GOMP_loop_doacross_static_start@VERSION 7 + GOMP_loop_dynamic_next@GOMP_1.0 0.20131209 + GOMP_loop_dynamic_next@VERSION 0.20130412 + GOMP_loop_dynamic_start@GOMP_1.0 0.20131209 + GOMP_loop_dynamic_start@VERSION 0.20130412 + GOMP_loop_end@GOMP_1.0 0.20131209 + GOMP_loop_end@VERSION 0.20130412 + GOMP_loop_end_cancel@GOMP_4.0 0.20140926 + GOMP_loop_end_cancel@VERSION 0.20140926 + GOMP_loop_end_nowait@GOMP_1.0 0.20131209 + GOMP_loop_end_nowait@VERSION 0.20130412 + GOMP_loop_guided_next@GOMP_1.0 0.20131209 + GOMP_loop_guided_next@VERSION 0.20130412 + GOMP_loop_guided_start@GOMP_1.0 0.20131209 + GOMP_loop_guided_start@VERSION 0.20130412 + GOMP_loop_nonmonotonic_dynamic_next@GOMP_4.5 10 + GOMP_loop_nonmonotonic_dynamic_next@VERSION 10 + GOMP_loop_nonmonotonic_dynamic_start@GOMP_4.5 10 + GOMP_loop_nonmonotonic_dynamic_start@VERSION 10 + GOMP_loop_nonmonotonic_guided_next@GOMP_4.5 10 + GOMP_loop_nonmonotonic_guided_next@VERSION 10 + GOMP_loop_nonmonotonic_guided_start@GOMP_4.5 10 + GOMP_loop_nonmonotonic_guided_start@VERSION 10 + GOMP_loop_ordered_dynamic_next@GOMP_1.0 0.20131209 + GOMP_loop_ordered_dynamic_next@VERSION 0.20130412 + GOMP_loop_ordered_dynamic_start@GOMP_1.0 0.20131209 + GOMP_loop_ordered_dynamic_start@VERSION 0.20130412 + GOMP_loop_ordered_guided_next@GOMP_1.0 0.20131209 + GOMP_loop_ordered_guided_next@VERSION 0.20130412 + GOMP_loop_ordered_guided_start@GOMP_1.0 0.20131209 + GOMP_loop_ordered_guided_start@VERSION 0.20130412 + GOMP_loop_ordered_runtime_next@GOMP_1.0 0.20131209 + GOMP_loop_ordered_runtime_next@VERSION 0.20130412 + GOMP_loop_ordered_runtime_start@GOMP_1.0 0.20131209 + GOMP_loop_ordered_runtime_start@VERSION 0.20130412 + GOMP_loop_ordered_static_next@GOMP_1.0 0.20131209 + GOMP_loop_ordered_static_next@VERSION 0.20130412 + GOMP_loop_ordered_static_start@GOMP_1.0 0.20131209 + GOMP_loop_ordered_static_start@VERSION 0.20130412 + GOMP_loop_runtime_next@GOMP_1.0 0.20131209 + GOMP_loop_runtime_next@VERSION 0.20130412 + GOMP_loop_runtime_start@GOMP_1.0 0.20131209 + GOMP_loop_runtime_start@VERSION 0.20130412 + GOMP_loop_static_next@GOMP_1.0 0.20131209 + GOMP_loop_static_next@VERSION 0.20130412 + GOMP_loop_static_start@GOMP_1.0 0.20131209 + GOMP_loop_static_start@VERSION 0.20130412 + GOMP_loop_ull_doacross_dynamic_start@GOMP_4.5 7 + GOMP_loop_ull_doacross_dynamic_start@VERSION 7 + GOMP_loop_ull_doacross_guided_start@GOMP_4.5 7 + GOMP_loop_ull_doacross_guided_start@VERSION 7 + GOMP_loop_ull_doacross_runtime_start@GOMP_4.5 7 + GOMP_loop_ull_doacross_runtime_start@VERSION 7 + GOMP_loop_ull_doacross_static_start@GOMP_4.5 7 + GOMP_loop_ull_doacross_static_start@VERSION 7 + GOMP_loop_ull_dynamic_next@GOMP_2.0 0.20131209 + GOMP_loop_ull_dynamic_next@VERSION 0.20130412 + GOMP_loop_ull_dynamic_start@GOMP_2.0 0.20131209 + GOMP_loop_ull_dynamic_start@VERSION 0.20130412 + GOMP_loop_ull_guided_next@GOMP_2.0 0.20131209 + GOMP_loop_ull_guided_next@VERSION 0.20130412 + GOMP_loop_ull_guided_start@GOMP_2.0 0.20131209 + GOMP_loop_ull_guided_start@VERSION 0.20130412 + GOMP_loop_ull_nonmonotonic_dynamic_next@GOMP_4.5 10 + GOMP_loop_ull_nonmonotonic_dynamic_next@VERSION 10 + GOMP_loop_ull_nonmonotonic_dynamic_start@GOMP_4.5 10 + GOMP_loop_ull_nonmonotonic_dynamic_start@VERSION 10 + GOMP_loop_ull_nonmonotonic_guided_next@GOMP_4.5 10 + GOMP_loop_ull_nonmonotonic_guided_next@VERSION 10 + GOMP_loop_ull_nonmonotonic_guided_start@GOMP_4.5 10 + GOMP_loop_ull_nonmonotonic_guided_start@VERSION 10 + GOMP_loop_ull_ordered_dynamic_next@GOMP_2.0 0.20131209 + GOMP_loop_ull_ordered_dynamic_next@VERSION 0.20130412 + GOMP_loop_ull_ordered_dynamic_start@GOMP_2.0 0.20131209 + GOMP_loop_ull_ordered_dynamic_start@VERSION 0.20130412 + GOMP_loop_ull_ordered_guided_next@GOMP_2.0 0.20131209 + GOMP_loop_ull_ordered_guided_next@VERSION 0.20130412 + GOMP_loop_ull_ordered_guided_start@GOMP_2.0 0.20131209 + GOMP_loop_ull_ordered_guided_start@VERSION 0.20130412 + GOMP_loop_ull_ordered_runtime_next@GOMP_2.0 0.20131209 + GOMP_loop_ull_ordered_runtime_next@VERSION 0.20130412 + GOMP_loop_ull_ordered_runtime_start@GOMP_2.0 0.20131209 + GOMP_loop_ull_ordered_runtime_start@VERSION 0.20130412 + GOMP_loop_ull_ordered_static_next@GOMP_2.0 0.20131209 + GOMP_loop_ull_ordered_static_next@VERSION 0.20130412 + GOMP_loop_ull_ordered_static_start@GOMP_2.0 0.20131209 + GOMP_loop_ull_ordered_static_start@VERSION 0.20130412 + GOMP_loop_ull_runtime_next@GOMP_2.0 0.20131209 + GOMP_loop_ull_runtime_next@VERSION 0.20130412 + GOMP_loop_ull_runtime_start@GOMP_2.0 0.20131209 + GOMP_loop_ull_runtime_start@VERSION 0.20130412 + GOMP_loop_ull_static_next@GOMP_2.0 0.20131209 + GOMP_loop_ull_static_next@VERSION 0.20130412 + GOMP_loop_ull_static_start@GOMP_2.0 0.20131209 + GOMP_loop_ull_static_start@VERSION 0.20130412 + GOMP_ordered_end@GOMP_1.0 0.20131209 + GOMP_ordered_end@VERSION 0.20130412 + GOMP_ordered_start@GOMP_1.0 0.20131209 + GOMP_ordered_start@VERSION 0.20130412 + GOMP_parallel@GOMP_4.0 0.20140926 + GOMP_parallel@VERSION 0.20140926 + GOMP_parallel_end@GOMP_1.0 0.20131209 + GOMP_parallel_end@VERSION 0.20130412 + GOMP_parallel_loop_dynamic@GOMP_4.0 0.20140926 + GOMP_parallel_loop_dynamic@VERSION 0.20140926 + GOMP_parallel_loop_dynamic_start@GOMP_1.0 0.20131209 + GOMP_parallel_loop_dynamic_start@VERSION 0.20130412 + GOMP_parallel_loop_guided@GOMP_4.0 0.20140926 + GOMP_parallel_loop_guided@VERSION 0.20140926 + GOMP_parallel_loop_guided_start@GOMP_1.0 0.20131209 + GOMP_parallel_loop_guided_start@VERSION 0.20130412 + GOMP_parallel_loop_nonmonotonic_dynamic@GOMP_4.5 10 + GOMP_parallel_loop_nonmonotonic_dynamic@VERSION 10 + GOMP_parallel_loop_nonmonotonic_guided@GOMP_4.5 10 + GOMP_parallel_loop_nonmonotonic_guided@VERSION 10 + GOMP_parallel_loop_runtime@GOMP_4.0 0.20140926 + GOMP_parallel_loop_runtime@VERSION 0.20140926 + GOMP_parallel_loop_runtime_start@GOMP_1.0 0.20131209 + GOMP_parallel_loop_runtime_start@VERSION 0.20130412 + GOMP_parallel_loop_static@GOMP_4.0 0.20140926 + GOMP_parallel_loop_static@VERSION 0.20140926 + GOMP_parallel_loop_static_start@GOMP_1.0 0.20131209 + GOMP_parallel_loop_static_start@VERSION 0.20130412 + GOMP_parallel_sections@GOMP_4.0 0.20140926 + GOMP_parallel_sections@VERSION 0.20140926 + GOMP_parallel_sections_start@GOMP_1.0 0.20131209 + GOMP_parallel_sections_start@VERSION 0.20130412 + GOMP_parallel_start@GOMP_1.0 0.20131209 + GOMP_parallel_start@VERSION 0.20130412 + GOMP_sections_end@GOMP_1.0 0.20131209 + GOMP_sections_end@VERSION 0.20130412 + GOMP_sections_end_cancel@GOMP_4.0 0.20140926 + GOMP_sections_end_cancel@VERSION 0.20140926 + GOMP_sections_end_nowait@GOMP_1.0 0.20131209 + GOMP_sections_end_nowait@VERSION 0.20130412 + GOMP_sections_next@GOMP_1.0 0.20131209 + GOMP_sections_next@VERSION 0.20130412 + GOMP_sections_start@GOMP_1.0 0.20131209 + GOMP_sections_start@VERSION 0.20130412 + GOMP_single_copy_end@GOMP_1.0 0.20131209 + GOMP_single_copy_end@VERSION 0.20130412 + GOMP_single_copy_start@GOMP_1.0 0.20131209 + GOMP_single_copy_start@VERSION 0.20130412 + GOMP_single_start@GOMP_1.0 0.20131209 + GOMP_single_start@VERSION 0.20130412 + GOMP_target@GOMP_4.0 0.20140926 + GOMP_target@VERSION 0.20140926 + GOMP_target_data@GOMP_4.0 0.20140926 + GOMP_target_data@VERSION 0.20140926 + GOMP_target_end_data@GOMP_4.0 0.20140926 + GOMP_target_end_data@VERSION 0.20140926 + GOMP_target_update@GOMP_4.0 0.20140926 + GOMP_target_update@VERSION 0.20140926 + GOMP_task@GOMP_2.0 0.20131209 + GOMP_task@VERSION 0.20130412 + GOMP_taskgroup_end@GOMP_4.0 0.20140926 + GOMP_taskgroup_end@VERSION 0.20140926 + GOMP_taskgroup_start@GOMP_4.0 0.20140926 + GOMP_taskgroup_start@VERSION 0.20140926 + GOMP_taskloop@GOMP_4.5 7 + GOMP_taskloop@VERSION 7 + GOMP_taskloop_ull@GOMP_4.5 7 + GOMP_taskloop_ull@VERSION 7 + GOMP_taskwait@GOMP_2.0 0.20131209 + GOMP_taskwait@VERSION 0.20130412 + GOMP_taskyield@GOMP_3.0 0.20131209 + GOMP_taskyield@VERSION 0.20131209 + GOMP_teams@GOMP_4.0 0.20140926 + GOMP_teams@VERSION 0.20140926 + OMP_1.0@OMP_1.0 0.20131209 + OMP_2.0@OMP_2.0 0.20131209 + OMP_3.0@OMP_3.0 0.20131209 + OMP_3.1@OMP_3.1 0.20131209 + OMP_4.0@OMP_4.0 0.20131209 + OMP_4.5@OMP_4.5 7 +#MISSING: 9# OMP_NULL_ALLOCATOR@VERSION 8 + VERSION@VERSION 0.20130412 + _You_must_link_with_Intel_OpenMP_library@VERSION 0.20130412 + _You_must_link_with_exactly_one_OpenMP_library@VERSION 0.20130412 + ___kmp_allocate@VERSION 0.20130412 + ___kmp_free@VERSION 0.20130412 + __kmp_acquire_drdpa_lock@VERSION 0.20130715 + __kmp_acquire_nested_drdpa_lock@VERSION 0.20130715 + __kmp_acquire_nested_queuing_lock@VERSION 0.20130715 + __kmp_acquire_nested_tas_lock@VERSION 0.20130715 + __kmp_acquire_nested_ticket_lock@VERSION 0.20130715 + __kmp_acquire_queuing_lock@VERSION 0.20130715 + __kmp_acquire_tas_lock@VERSION 0.20130715 + __kmp_acquire_ticket_lock@VERSION 0.20130715 + __kmp_fork_call@VERSION 0.20130715 + __kmp_get_reduce_method@VERSION 0.20130412 + __kmp_invoke_microtask@VERSION 0.20130715 + __kmp_itt_fini_ittlib@VERSION 0.20130715 + __kmp_itt_init_ittlib@VERSION 0.20130715 +#MISSING: 4.0# __kmp_reap_monitor@VERSION 0.20130715 + __kmp_reap_worker@VERSION 0.20130715 +#MISSING: 0.20140926# __kmp_release@VERSION 0.20130715 +#MISSING: 3.9.0-1# __kmp_release_32@VERSION 0.20140926 + __kmp_release_64@VERSION 0.20140926 +#MISSING: 3.9.0-1# __kmp_release_oncore@VERSION 0.20140926 + __kmp_thread_pool@VERSION 0.20130412 +#MISSING: 9# __kmp_thread_pool_nth@VERSION 0.20130412 +#MISSING: 3.9.0-1# __kmp_wait_32@VERSION 0.20140926 + __kmp_wait_4@VERSION 9 + __kmp_wait_64@VERSION 0.20140926 +#MISSING: 3.9.0-1# __kmp_wait_oncore@VERSION 0.20140926 +#MISSING: 0.20140926# __kmp_wait_sleep@VERSION 0.20130715 +#MISSING: 1:9~svn355810-1~exp1+0~20190311081911.852~1.gbp0f20a4# __kmp_wait_yield_4@VERSION 0.20130715 +#MISSING: 3.8.0# __kmp_wait_yield_8@VERSION 0.20130715 + __kmpc_alloc@VERSION 8 + __kmpc_atomic_10@VERSION 0.20130412 + __kmpc_atomic_16@VERSION 0.20130412 + __kmpc_atomic_1@VERSION 0.20130412 + __kmpc_atomic_20@VERSION 0.20130412 + __kmpc_atomic_2@VERSION 0.20130412 + __kmpc_atomic_32@VERSION 0.20130412 + __kmpc_atomic_4@VERSION 0.20130412 + __kmpc_atomic_8@VERSION 0.20130412 + __kmpc_atomic_cmplx10_add@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx10_add_cpt@VERSION 0.20130412 + __kmpc_atomic_cmplx10_div@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx10_div_cpt@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx10_div_cpt_rev@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx10_div_rev@VERSION 0.20130412 + __kmpc_atomic_cmplx10_mul@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx10_mul_cpt@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx10_rd@VERSION 0.20130412 + __kmpc_atomic_cmplx10_sub@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx10_sub_cpt@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx10_sub_cpt_rev@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx10_sub_rev@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx10_swp@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx10_wr@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_cmplx16_add@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx16_add_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_cmplx16_div@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx16_div_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx16_div_cpt_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx16_div_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_cmplx16_mul@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx16_mul_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx16_rd@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_cmplx16_sub@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx16_sub_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx16_sub_cpt_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx16_sub_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx16_swp@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx16_wr@VERSION 0.20130412 + __kmpc_atomic_cmplx4_add@VERSION 0.20130412 + __kmpc_atomic_cmplx4_add_cmplx8@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx4_add_cpt@VERSION 0.20130412 + __kmpc_atomic_cmplx4_div@VERSION 0.20130412 + __kmpc_atomic_cmplx4_div_cmplx8@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx4_div_cpt@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx4_div_cpt_rev@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx4_div_rev@VERSION 0.20130412 + __kmpc_atomic_cmplx4_mul@VERSION 0.20130412 + __kmpc_atomic_cmplx4_mul_cmplx8@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx4_mul_cpt@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx4_rd@VERSION 0.20130412 + __kmpc_atomic_cmplx4_sub@VERSION 0.20130412 + __kmpc_atomic_cmplx4_sub_cmplx8@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx4_sub_cpt@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx4_sub_cpt_rev@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx4_sub_rev@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx4_swp@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx4_wr@VERSION 0.20130412 + __kmpc_atomic_cmplx8_add@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx8_add_cpt@VERSION 0.20130412 + __kmpc_atomic_cmplx8_div@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx8_div_cpt@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx8_div_cpt_rev@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx8_div_rev@VERSION 0.20130412 + __kmpc_atomic_cmplx8_mul@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx8_mul_cpt@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx8_rd@VERSION 0.20130412 + __kmpc_atomic_cmplx8_sub@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx8_sub_cpt@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx8_sub_cpt_rev@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx8_sub_rev@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx8_swp@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx8_wr@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_end@VERSION 0.20130412 + (arch=!ppc64 !ppc64el)__kmpc_atomic_fixed1_add@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_add_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_add_cpt_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed1_add_fp@VERSION 0.20130412 + __kmpc_atomic_fixed1_andb@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_andb_cpt@VERSION 0.20130412 + __kmpc_atomic_fixed1_andl@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_andl_cpt@VERSION 0.20130412 + __kmpc_atomic_fixed1_div@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_div_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_div_cpt_fp@VERSION 4.0 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_div_cpt_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_div_cpt_rev_fp@VERSION 4.0 + __kmpc_atomic_fixed1_div_float8@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed1_div_fp@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_div_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_div_rev_fp@VERSION 4.0 + __kmpc_atomic_fixed1_eqv@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_eqv_cpt@VERSION 0.20130412 + __kmpc_atomic_fixed1_max@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_max_cpt@VERSION 0.20130412 + __kmpc_atomic_fixed1_min@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_min_cpt@VERSION 0.20130412 + __kmpc_atomic_fixed1_mul@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_mul_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_mul_cpt_fp@VERSION 4.0 + __kmpc_atomic_fixed1_mul_float8@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed1_mul_fp@VERSION 0.20130412 + __kmpc_atomic_fixed1_neqv@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_neqv_cpt@VERSION 0.20130412 + __kmpc_atomic_fixed1_orb@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_orb_cpt@VERSION 0.20130412 + __kmpc_atomic_fixed1_orl@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_orl_cpt@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_rd@VERSION 0.20130412 + __kmpc_atomic_fixed1_shl@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_shl_cpt@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_shl_cpt_rev@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_shl_rev@VERSION 0.20130412 + __kmpc_atomic_fixed1_shr@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_shr_cpt@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_shr_cpt_rev@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_shr_rev@VERSION 0.20130412 + __kmpc_atomic_fixed1_sub@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_sub_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_sub_cpt_fp@VERSION 4.0 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_sub_cpt_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_sub_cpt_rev_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed1_sub_fp@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_sub_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_sub_rev_fp@VERSION 4.0 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_swp@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_wr@VERSION 0.20130412 + __kmpc_atomic_fixed1_xor@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_xor_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1u_add_cpt_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf)__kmpc_atomic_fixed1u_add_fp@VERSION 4.0 + __kmpc_atomic_fixed1u_div@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1u_div_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1u_div_cpt_fp@VERSION 4.0 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1u_div_cpt_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1u_div_cpt_rev_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed1u_div_fp@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1u_div_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1u_div_rev_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1u_mul_cpt_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf)__kmpc_atomic_fixed1u_mul_fp@VERSION 4.0 + __kmpc_atomic_fixed1u_shr@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1u_shr_cpt@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1u_shr_cpt_rev@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1u_shr_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1u_sub_cpt_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1u_sub_cpt_rev_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf)__kmpc_atomic_fixed1u_sub_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf !arm64)__kmpc_atomic_fixed1u_sub_rev_fp@VERSION 5.0 + __kmpc_atomic_fixed2_add@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_add_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_add_cpt_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed2_add_fp@VERSION 0.20130412 + __kmpc_atomic_fixed2_andb@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_andb_cpt@VERSION 0.20130412 + __kmpc_atomic_fixed2_andl@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_andl_cpt@VERSION 0.20130412 + __kmpc_atomic_fixed2_div@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_div_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_div_cpt_fp@VERSION 4.0 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_div_cpt_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_div_cpt_rev_fp@VERSION 4.0 + __kmpc_atomic_fixed2_div_float8@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed2_div_fp@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_div_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_div_rev_fp@VERSION 4.0 + __kmpc_atomic_fixed2_eqv@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_eqv_cpt@VERSION 0.20130412 + __kmpc_atomic_fixed2_max@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_max_cpt@VERSION 0.20130412 + __kmpc_atomic_fixed2_min@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_min_cpt@VERSION 0.20130412 + __kmpc_atomic_fixed2_mul@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_mul_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_mul_cpt_fp@VERSION 4.0 + __kmpc_atomic_fixed2_mul_float8@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed2_mul_fp@VERSION 0.20130412 + __kmpc_atomic_fixed2_neqv@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_neqv_cpt@VERSION 0.20130412 + __kmpc_atomic_fixed2_orb@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_orb_cpt@VERSION 0.20130412 + __kmpc_atomic_fixed2_orl@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_orl_cpt@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_rd@VERSION 0.20130412 + __kmpc_atomic_fixed2_shl@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_shl_cpt@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_shl_cpt_rev@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_shl_rev@VERSION 0.20130412 + __kmpc_atomic_fixed2_shr@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_shr_cpt@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_shr_cpt_rev@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_shr_rev@VERSION 0.20130412 + __kmpc_atomic_fixed2_sub@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_sub_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_sub_cpt_fp@VERSION 4.0 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_sub_cpt_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_sub_cpt_rev_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed2_sub_fp@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_sub_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_sub_rev_fp@VERSION 4.0 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_swp@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_wr@VERSION 0.20130412 + __kmpc_atomic_fixed2_xor@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_xor_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2u_add_cpt_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf)__kmpc_atomic_fixed2u_add_fp@VERSION 4.0 + __kmpc_atomic_fixed2u_div@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2u_div_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2u_div_cpt_fp@VERSION 4.0 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2u_div_cpt_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2u_div_cpt_rev_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed2u_div_fp@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2u_div_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2u_div_rev_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2u_mul_cpt_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf)__kmpc_atomic_fixed2u_mul_fp@VERSION 4.0 + __kmpc_atomic_fixed2u_shr@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2u_shr_cpt@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2u_shr_cpt_rev@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2u_shr_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2u_sub_cpt_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2u_sub_cpt_rev_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf)__kmpc_atomic_fixed2u_sub_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf !arm64)__kmpc_atomic_fixed2u_sub_rev_fp@VERSION 5.0 + __kmpc_atomic_fixed4_add@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_add_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_add_cpt_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed4_add_fp@VERSION 0.20130412 + __kmpc_atomic_fixed4_andb@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_andb_cpt@VERSION 0.20130412 + __kmpc_atomic_fixed4_andl@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_andl_cpt@VERSION 0.20130412 + __kmpc_atomic_fixed4_div@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_div_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_div_cpt_fp@VERSION 4.0 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_div_cpt_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_div_cpt_rev_fp@VERSION 4.0 + __kmpc_atomic_fixed4_div_float8@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed4_div_fp@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_div_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_div_rev_fp@VERSION 4.0 + __kmpc_atomic_fixed4_eqv@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_eqv_cpt@VERSION 0.20130412 + __kmpc_atomic_fixed4_max@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_max_cpt@VERSION 0.20130412 + __kmpc_atomic_fixed4_min@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_min_cpt@VERSION 0.20130412 + __kmpc_atomic_fixed4_mul@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_mul_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_mul_cpt_fp@VERSION 4.0 + __kmpc_atomic_fixed4_mul_float8@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed4_mul_fp@VERSION 0.20130412 + __kmpc_atomic_fixed4_neqv@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_neqv_cpt@VERSION 0.20130412 + __kmpc_atomic_fixed4_orb@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_orb_cpt@VERSION 0.20130412 + __kmpc_atomic_fixed4_orl@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_orl_cpt@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_rd@VERSION 0.20130412 + __kmpc_atomic_fixed4_shl@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_shl_cpt@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_shl_cpt_rev@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_shl_rev@VERSION 0.20130412 + __kmpc_atomic_fixed4_shr@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_shr_cpt@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_shr_cpt_rev@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_shr_rev@VERSION 0.20130412 + __kmpc_atomic_fixed4_sub@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_sub_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_sub_cpt_fp@VERSION 4.0 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_sub_cpt_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_sub_cpt_rev_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed4_sub_fp@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_sub_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_sub_rev_fp@VERSION 4.0 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_swp@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_wr@VERSION 0.20130412 + __kmpc_atomic_fixed4_xor@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_xor_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4u_add_cpt_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf)__kmpc_atomic_fixed4u_add_fp@VERSION 4.0 + (arch=!ppc64 !ppc64el)__kmpc_atomic_fixed4u_div@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4u_div_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4u_div_cpt_fp@VERSION 4.0 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4u_div_cpt_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4u_div_cpt_rev_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed4u_div_fp@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4u_div_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4u_div_rev_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4u_mul_cpt_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf)__kmpc_atomic_fixed4u_mul_fp@VERSION 4.0 + __kmpc_atomic_fixed4u_shr@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4u_shr_cpt@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4u_shr_cpt_rev@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4u_shr_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4u_sub_cpt_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4u_sub_cpt_rev_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf)__kmpc_atomic_fixed4u_sub_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf !arm64)__kmpc_atomic_fixed4u_sub_rev_fp@VERSION 5.0 + (arch=!ppc64 !ppc64el)__kmpc_atomic_fixed8_add@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_add_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_add_cpt_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed8_add_fp@VERSION 0.20130412 + __kmpc_atomic_fixed8_andb@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_andb_cpt@VERSION 0.20130412 + __kmpc_atomic_fixed8_andl@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_andl_cpt@VERSION 0.20130412 + __kmpc_atomic_fixed8_div@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_div_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_div_cpt_fp@VERSION 4.0 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_div_cpt_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_div_cpt_rev_fp@VERSION 4.0 + __kmpc_atomic_fixed8_div_float8@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed8_div_fp@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_div_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_div_rev_fp@VERSION 4.0 + __kmpc_atomic_fixed8_eqv@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_eqv_cpt@VERSION 0.20130412 + __kmpc_atomic_fixed8_max@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_max_cpt@VERSION 0.20130412 + __kmpc_atomic_fixed8_min@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_min_cpt@VERSION 0.20130412 + __kmpc_atomic_fixed8_mul@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_mul_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_mul_cpt_fp@VERSION 4.0 + __kmpc_atomic_fixed8_mul_float8@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed8_mul_fp@VERSION 0.20130412 + __kmpc_atomic_fixed8_neqv@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_neqv_cpt@VERSION 0.20130412 + __kmpc_atomic_fixed8_orb@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_orb_cpt@VERSION 0.20130412 + __kmpc_atomic_fixed8_orl@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_orl_cpt@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_rd@VERSION 0.20130412 + __kmpc_atomic_fixed8_shl@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_shl_cpt@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_shl_cpt_rev@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_shl_rev@VERSION 0.20130412 + __kmpc_atomic_fixed8_shr@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_shr_cpt@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_shr_cpt_rev@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_shr_rev@VERSION 0.20130412 + __kmpc_atomic_fixed8_sub@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_sub_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_sub_cpt_fp@VERSION 4.0 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_sub_cpt_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_sub_cpt_rev_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed8_sub_fp@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_sub_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_sub_rev_fp@VERSION 4.0 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_swp@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_wr@VERSION 0.20130412 + __kmpc_atomic_fixed8_xor@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_xor_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8u_add_cpt_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf)__kmpc_atomic_fixed8u_add_fp@VERSION 4.0 + __kmpc_atomic_fixed8u_div@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8u_div_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8u_div_cpt_fp@VERSION 4.0 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8u_div_cpt_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8u_div_cpt_rev_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed8u_div_fp@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8u_div_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8u_div_rev_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8u_mul_cpt_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf)__kmpc_atomic_fixed8u_mul_fp@VERSION 4.0 + __kmpc_atomic_fixed8u_shr@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8u_shr_cpt@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8u_shr_cpt_rev@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8u_shr_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8u_sub_cpt_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8u_sub_cpt_rev_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf)__kmpc_atomic_fixed8u_sub_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf !arm64)__kmpc_atomic_fixed8u_sub_rev_fp@VERSION 5.0 + __kmpc_atomic_float10_add@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float10_add_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float10_add_cpt_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_float10_add_fp@VERSION 0.20130412 + __kmpc_atomic_float10_div@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float10_div_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float10_div_cpt_fp@VERSION 4.0 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float10_div_cpt_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float10_div_cpt_rev_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_float10_div_fp@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float10_div_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float10_div_rev_fp@VERSION 4.0 + __kmpc_atomic_float10_mul@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float10_mul_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float10_mul_cpt_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_float10_mul_fp@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float10_rd@VERSION 0.20130412 + __kmpc_atomic_float10_sub@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float10_sub_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float10_sub_cpt_fp@VERSION 4.0 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float10_sub_cpt_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float10_sub_cpt_rev_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_float10_sub_fp@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float10_sub_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float10_sub_rev_fp@VERSION 4.0 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float10_swp@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float10_wr@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_float16_add@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float16_add_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_float16_div@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float16_div_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float16_div_cpt_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float16_div_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_float16_max@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float16_max_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_float16_min@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float16_min_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_float16_mul@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float16_mul_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float16_rd@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_float16_sub@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float16_sub_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float16_sub_cpt_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float16_sub_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float16_swp@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float16_wr@VERSION 0.20130412 + __kmpc_atomic_float4_add@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float4_add_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float4_add_cpt_fp@VERSION 4.0 + (arch=!ppc64 !ppc64el)__kmpc_atomic_float4_add_float8@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_float4_add_fp@VERSION 0.20130412 + __kmpc_atomic_float4_div@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float4_div_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float4_div_cpt_fp@VERSION 4.0 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float4_div_cpt_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float4_div_cpt_rev_fp@VERSION 4.0 + __kmpc_atomic_float4_div_float8@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_float4_div_fp@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float4_div_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float4_div_rev_fp@VERSION 4.0 + __kmpc_atomic_float4_max@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float4_max_cpt@VERSION 0.20130412 + __kmpc_atomic_float4_min@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float4_min_cpt@VERSION 0.20130412 + __kmpc_atomic_float4_mul@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float4_mul_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float4_mul_cpt_fp@VERSION 4.0 + __kmpc_atomic_float4_mul_float8@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_float4_mul_fp@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float4_rd@VERSION 0.20130412 + __kmpc_atomic_float4_sub@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float4_sub_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float4_sub_cpt_fp@VERSION 4.0 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float4_sub_cpt_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float4_sub_cpt_rev_fp@VERSION 4.0 + __kmpc_atomic_float4_sub_float8@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_float4_sub_fp@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float4_sub_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float4_sub_rev_fp@VERSION 4.0 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float4_swp@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float4_wr@VERSION 0.20130412 + __kmpc_atomic_float8_add@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float8_add_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float8_add_cpt_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_float8_add_fp@VERSION 0.20130412 + __kmpc_atomic_float8_div@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float8_div_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float8_div_cpt_fp@VERSION 4.0 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float8_div_cpt_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float8_div_cpt_rev_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_float8_div_fp@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float8_div_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float8_div_rev_fp@VERSION 4.0 + __kmpc_atomic_float8_max@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float8_max_cpt@VERSION 0.20130412 + __kmpc_atomic_float8_min@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float8_min_cpt@VERSION 0.20130412 + __kmpc_atomic_float8_mul@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float8_mul_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float8_mul_cpt_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_float8_mul_fp@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float8_rd@VERSION 0.20130412 + __kmpc_atomic_float8_sub@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float8_sub_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float8_sub_cpt_fp@VERSION 4.0 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float8_sub_cpt_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float8_sub_cpt_rev_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_float8_sub_fp@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float8_sub_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float8_sub_rev_fp@VERSION 4.0 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float8_swp@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float8_wr@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_start@VERSION 0.20130412 + __kmpc_barrier@VERSION 0.20130412 + __kmpc_barrier_master@VERSION 0.20130412 + __kmpc_barrier_master_nowait@VERSION 0.20130412 + __kmpc_begin@VERSION 0.20130412 + __kmpc_bound_num_threads@VERSION 0.20130412 + __kmpc_bound_thread_num@VERSION 0.20130412 + __kmpc_cancel@VERSION 0.20131209 + __kmpc_cancel_barrier@VERSION 0.20131209 + __kmpc_cancellationpoint@VERSION 0.20131209 + __kmpc_copyprivate@VERSION 0.20130412 + __kmpc_critical@VERSION 0.20130412 + __kmpc_critical_with_hint@VERSION 3.8.0 + __kmpc_destroy_allocator@VERSION 9 + __kmpc_destroy_lock@VERSION 0.20130412 + __kmpc_destroy_nest_lock@VERSION 0.20130412 + __kmpc_dispatch_fini_4@VERSION 0.20130412 + __kmpc_dispatch_fini_4u@VERSION 0.20130412 + __kmpc_dispatch_fini_8@VERSION 0.20130412 + __kmpc_dispatch_fini_8u@VERSION 0.20130412 + __kmpc_dispatch_init_4@VERSION 0.20130412 + __kmpc_dispatch_init_4u@VERSION 0.20130412 + __kmpc_dispatch_init_8@VERSION 0.20130412 + __kmpc_dispatch_init_8u@VERSION 0.20130412 + __kmpc_dispatch_next_4@VERSION 0.20130412 + __kmpc_dispatch_next_4u@VERSION 0.20130412 + __kmpc_dispatch_next_8@VERSION 0.20130412 + __kmpc_dispatch_next_8u@VERSION 0.20130412 + __kmpc_dist_dispatch_init_4@VERSION 0.20140926 + __kmpc_dist_dispatch_init_4u@VERSION 0.20140926 + __kmpc_dist_dispatch_init_8@VERSION 0.20140926 + __kmpc_dist_dispatch_init_8u@VERSION 0.20140926 + __kmpc_dist_for_static_init_4@VERSION 0.20140926 + __kmpc_dist_for_static_init_4u@VERSION 0.20140926 + __kmpc_dist_for_static_init_8@VERSION 0.20140926 + __kmpc_dist_for_static_init_8u@VERSION 0.20140926 + __kmpc_doacross_fini@VERSION 3.9.0 + __kmpc_doacross_init@VERSION 3.9.0 + __kmpc_doacross_post@VERSION 3.9.0 + __kmpc_doacross_wait@VERSION 3.9.0 + __kmpc_end@VERSION 0.20130412 + __kmpc_end_barrier_master@VERSION 0.20130412 + __kmpc_end_critical@VERSION 0.20130412 + __kmpc_end_master@VERSION 0.20130412 + __kmpc_end_ordered@VERSION 0.20130412 + __kmpc_end_reduce@VERSION 0.20130412 + __kmpc_end_reduce_nowait@VERSION 0.20130412 + __kmpc_end_serialized_parallel@VERSION 0.20130412 + __kmpc_end_single@VERSION 0.20130412 + __kmpc_end_taskgroup@VERSION 0.20130412 +#MISSING: 1:9~svn356360-1~exp1+0~20190318101504.2390~1.gbp54c1e7# __kmpc_end_taskq@VERSION 0.20130412 +#MISSING: 1:9~svn356360-1~exp1+0~20190318101504.2390~1.gbp54c1e7# __kmpc_end_taskq_task@VERSION 0.20130412 + __kmpc_flush@VERSION 0.20130412 + __kmpc_for_static_fini@VERSION 0.20130412 + __kmpc_for_static_init_4@VERSION 0.20130412 + __kmpc_for_static_init_4u@VERSION 0.20130412 + __kmpc_for_static_init_8@VERSION 0.20130412 + __kmpc_for_static_init_8u@VERSION 0.20130412 + __kmpc_fork_call@VERSION 0.20130412 + __kmpc_fork_teams@VERSION 0.20130715 + __kmpc_free@VERSION 8 + __kmpc_get_default_allocator@VERSION 8 + __kmpc_get_parent_taskid@VERSION 0.20130412 + __kmpc_get_target_offload@VERSION 7 + __kmpc_get_taskid@VERSION 0.20130412 + __kmpc_global_num_threads@VERSION 0.20130412 + __kmpc_global_thread_num@VERSION 0.20130412 + __kmpc_in_parallel@VERSION 0.20130412 + __kmpc_init_allocator@VERSION 9 + __kmpc_init_lock@VERSION 0.20130412 + __kmpc_init_lock_with_hint@VERSION 3.8.0 + __kmpc_init_nest_lock@VERSION 0.20130412 + __kmpc_init_nest_lock_with_hint@VERSION 3.8.0 + __kmpc_invoke_task_func@VERSION 0.20130412 + __kmpc_master@VERSION 0.20130412 + __kmpc_ok_to_fork@VERSION 0.20130412 + __kmpc_omp_reg_task_with_affinity@VERSION 8 + __kmpc_omp_target_task_alloc@VERSION 9 + __kmpc_omp_task@VERSION 0.20130412 + __kmpc_omp_task_alloc@VERSION 0.20130412 + __kmpc_omp_task_begin_if0@VERSION 0.20130412 + __kmpc_omp_task_complete_if0@VERSION 0.20130412 + __kmpc_omp_task_parts@VERSION 0.20130412 + __kmpc_omp_task_with_deps@VERSION 0.20130912 + __kmpc_omp_taskwait@VERSION 0.20130412 + __kmpc_omp_taskyield@VERSION 0.20130412 + __kmpc_omp_wait_deps@VERSION 0.20130912 + __kmpc_ordered@VERSION 0.20130412 + __kmpc_pause_resource@VERSION 9 + __kmpc_pop_num_threads@VERSION 0.20130412 + __kmpc_proxy_task_completed@VERSION 0.20150401 + __kmpc_proxy_task_completed_ooo@VERSION 0.20150401 + __kmpc_push_num_teams@VERSION 0.20130715 + __kmpc_push_num_threads@VERSION 0.20130412 + __kmpc_push_proc_bind@VERSION 0.20130412 + __kmpc_reduce@VERSION 0.20130412 + __kmpc_reduce_nowait@VERSION 0.20130412 + __kmpc_serialized_parallel@VERSION 0.20130412 + __kmpc_set_default_allocator@VERSION 8 + __kmpc_set_lock@VERSION 0.20130412 + __kmpc_set_nest_lock@VERSION 0.20130412 + __kmpc_single@VERSION 0.20130412 +#MISSING: 1:9~svn356360-1~exp1+0~20190318101504.2390~1.gbp54c1e7# __kmpc_task@VERSION 0.20130412 + __kmpc_task_allow_completion_event@VERSION 9 +#MISSING: 1:9~svn356360-1~exp1+0~20190318101504.2390~1.gbp54c1e7# __kmpc_task_buffer@VERSION 0.20130412 + __kmpc_task_reduction_get_th_data@VERSION 5.0 + __kmpc_task_reduction_init@VERSION 5.0 + __kmpc_task_reduction_modifier_fini@VERSION 9 + __kmpc_task_reduction_modifier_init@VERSION 9 + __kmpc_taskgroup@VERSION 0.20130412 + __kmpc_taskloop@VERSION 3.9.0 +#MISSING: 1:9~svn356360-1~exp1+0~20190318101504.2390~1.gbp54c1e7# __kmpc_taskq@VERSION 0.20130412 +#MISSING: 1:9~svn356360-1~exp1+0~20190318101504.2390~1.gbp54c1e7# __kmpc_taskq_task@VERSION 0.20130412 + __kmpc_taskred_init@VERSION 9 + __kmpc_taskred_modifier_init@VERSION 9 + __kmpc_team_static_init_4@VERSION 0.20140926 + __kmpc_team_static_init_4u@VERSION 0.20140926 + __kmpc_team_static_init_8@VERSION 0.20140926 + __kmpc_team_static_init_8u@VERSION 0.20140926 + __kmpc_test_lock@VERSION 0.20130412 + __kmpc_test_nest_lock@VERSION 0.20130412 + __kmpc_threadprivate@VERSION 0.20130412 + __kmpc_threadprivate_cached@VERSION 0.20130412 + __kmpc_threadprivate_register@VERSION 0.20130412 + __kmpc_threadprivate_register_vec@VERSION 0.20130412 + __kmpc_unset_lock@VERSION 0.20130412 + __kmpc_unset_nest_lock@VERSION 0.20130412 + kmp_a_debug@VERSION 7 + kmp_aligned_malloc@VERSION 3.9.0 + kmp_aligned_malloc_@VERSION 3.9.0 + kmp_b_debug@VERSION 7 + kmp_c_debug@VERSION 7 + kmp_calloc@VERSION 0.20130412 + kmp_calloc_@VERSION 0.20130412 + kmp_create_affinity_mask@VERSION 0.20130412 + kmp_create_affinity_mask_@VERSION 0.20130412 + kmp_d_debug@VERSION 7 + kmp_destroy_affinity_mask@VERSION 0.20130412 + kmp_destroy_affinity_mask_@VERSION 0.20130412 + kmp_diag@VERSION 7 + kmp_e_debug@VERSION 7 + kmp_f_debug@VERSION 7 + kmp_free@VERSION 0.20130412 + kmp_free_@VERSION 0.20130412 + kmp_get_affinity@VERSION 0.20130412 + kmp_get_affinity_@VERSION 0.20130412 + kmp_get_affinity_mask_proc@VERSION 0.20130412 + kmp_get_affinity_mask_proc_@VERSION 0.20130412 + kmp_get_affinity_max_proc@VERSION 0.20130412 + kmp_get_affinity_max_proc_@VERSION 0.20130412 + kmp_get_blocktime@VERSION 0.20130412 + kmp_get_blocktime_@VERSION 0.20130412 + kmp_get_cancellation_status@VERSION 0.20131209 + kmp_get_cancellation_status_@VERSION 0.20131209 + kmp_get_library@VERSION 0.20130412 + kmp_get_library_@VERSION 0.20130412 + kmp_get_num_known_threads@VERSION 0.20130412 + kmp_get_num_known_threads_@VERSION 0.20130412 + kmp_get_stacksize@VERSION 0.20130412 + kmp_get_stacksize_@VERSION 0.20130412 + kmp_get_stacksize_s@VERSION 0.20130412 + kmp_get_stacksize_s_@VERSION 0.20130412 + kmp_malloc@VERSION 0.20130412 + kmp_malloc_@VERSION 0.20130412 + kmp_max_mem_alloc@VERSION 9 + (arch=!armhf !mips64el)kmp_mutex_impl_info@VERSION 7 + kmp_realloc@VERSION 0.20130412 + kmp_realloc_@VERSION 0.20130412 + kmp_set_affinity@VERSION 0.20130412 + kmp_set_affinity_@VERSION 0.20130412 + kmp_set_affinity_mask_proc@VERSION 0.20130412 + kmp_set_affinity_mask_proc_@VERSION 0.20130412 + kmp_set_blocktime@VERSION 0.20130412 + kmp_set_blocktime_@VERSION 0.20130412 + kmp_set_defaults@VERSION 0.20130412 + kmp_set_defaults_@VERSION 0.20130412 + kmp_set_disp_num_buffers@VERSION 3.9.0 + kmp_set_disp_num_buffers_@VERSION 3.9.0 + kmp_set_library@VERSION 0.20130412 + kmp_set_library_@VERSION 0.20130412 + kmp_set_library_serial@VERSION 0.20130412 + kmp_set_library_serial_@VERSION 0.20130412 + kmp_set_library_throughput@VERSION 0.20130412 + kmp_set_library_throughput_@VERSION 0.20130412 + kmp_set_library_turnaround@VERSION 0.20130412 + kmp_set_library_turnaround_@VERSION 0.20130412 + kmp_set_stacksize@VERSION 0.20130412 + kmp_set_stacksize_@VERSION 0.20130412 + kmp_set_stacksize_s@VERSION 0.20130412 + kmp_set_stacksize_s_@VERSION 0.20130412 + (arch=!ppc64 !ppc64el)kmp_set_thread_affinity_mask_initial@VERSION 3.8.0 + kmp_set_warnings_off@VERSION 0.20130412 + kmp_set_warnings_off_@VERSION 0.20130412 + kmp_set_warnings_on@VERSION 0.20130412 + kmp_set_warnings_on_@VERSION 0.20130412 + kmp_threadprivate_insert@VERSION 0.20130412 + kmp_threadprivate_insert_private_data@VERSION 0.20130412 + kmp_unset_affinity_mask_proc@VERSION 0.20130412 + kmp_unset_affinity_mask_proc_@VERSION 0.20130412 + kmpc_aligned_malloc@VERSION 3.9.0 + kmpc_calloc@VERSION 0.20130412 + kmpc_free@VERSION 0.20130412 + kmpc_get_affinity_mask_proc@VERSION 0.20130412 + kmpc_malloc@VERSION 0.20130412 + kmpc_realloc@VERSION 0.20130412 + kmpc_set_affinity_mask_proc@VERSION 0.20130412 + kmpc_set_blocktime@VERSION 0.20130412 + kmpc_set_defaults@VERSION 0.20130412 + kmpc_set_disp_num_buffers@VERSION 3.9.0 + kmpc_set_library@VERSION 0.20130412 + kmpc_set_stacksize@VERSION 0.20130412 + kmpc_set_stacksize_s@VERSION 0.20130412 + kmpc_unset_affinity_mask_proc@VERSION 0.20130412 + omp_alloc@VERSION 8 +#MISSING: 9# omp_alloc_@VERSION 8 + omp_capture_affinity@VERSION 8 + omp_capture_affinity_@VERSION 8 + omp_cgroup_mem_alloc@VERSION 8 + omp_const_mem_alloc@VERSION 8 + omp_const_mem_space@VERSION 9 + omp_control_tool@VERSION 6.0 + omp_control_tool_@VERSION 8 + omp_default_mem_alloc@VERSION 8 + omp_default_mem_space@VERSION 9 + omp_destroy_allocator@VERSION 9 + omp_destroy_allocator_@VERSION 9 + omp_destroy_lock@OMP_1.0 0.20131209 + omp_destroy_lock@OMP_3.0 0.20131209 + omp_destroy_lock@VERSION 0.20130412 + omp_destroy_lock_@OMP_1.0 0.20131209 + omp_destroy_lock_@OMP_3.0 0.20131209 + omp_destroy_lock_@VERSION 0.20130412 + omp_destroy_nest_lock@OMP_1.0 0.20131209 + omp_destroy_nest_lock@OMP_3.0 0.20131209 + omp_destroy_nest_lock@VERSION 0.20130412 + omp_destroy_nest_lock_@OMP_1.0 0.20131209 + omp_destroy_nest_lock_@OMP_3.0 0.20131209 + omp_destroy_nest_lock_@VERSION 0.20130412 + omp_display_affinity@VERSION 8 + omp_display_affinity_@VERSION 8 + omp_free@VERSION 8 +#MISSING: 9# omp_free_@VERSION 8 + omp_fulfill_event@VERSION 9 + omp_fulfill_event_@VERSION 9 + omp_get_active_level@OMP_3.0 0.20131209 + omp_get_active_level@VERSION 0.20130412 + omp_get_active_level_@OMP_3.0 0.20131209 + omp_get_active_level_@VERSION 0.20130412 + omp_get_affinity_format@VERSION 8 + omp_get_affinity_format_@VERSION 8 + omp_get_ancestor_thread_num@OMP_3.0 0.20131209 + omp_get_ancestor_thread_num@VERSION 0.20130412 + omp_get_ancestor_thread_num_@OMP_3.0 0.20131209 + omp_get_ancestor_thread_num_@VERSION 0.20130412 + omp_get_cancellation@OMP_4.0 0.20131209 + omp_get_cancellation@VERSION 0.20131209 + omp_get_cancellation_@OMP_4.0 0.20131209 + omp_get_cancellation_@VERSION 0.20131209 + omp_get_default_allocator@VERSION 8 + omp_get_default_allocator_@VERSION 8 + omp_get_default_device@OMP_4.0 4.0 + omp_get_default_device@VERSION 4.0 + omp_get_default_device_@OMP_4.0 4.0 + omp_get_default_device_@VERSION 4.0 + omp_get_device_num@VERSION 8 + omp_get_device_num_@VERSION 8 + omp_get_dynamic@OMP_1.0 0.20131209 + omp_get_dynamic@VERSION 0.20130412 + omp_get_dynamic_@OMP_1.0 0.20131209 + omp_get_dynamic_@VERSION 0.20130412 + omp_get_initial_device@VERSION 8 + omp_get_initial_device_@VERSION 8 + omp_get_level@OMP_3.0 0.20131209 + omp_get_level@VERSION 0.20130412 + omp_get_level_@OMP_3.0 0.20131209 + omp_get_level_@VERSION 0.20130412 + omp_get_max_active_levels@OMP_3.0 0.20131209 + omp_get_max_active_levels@VERSION 0.20130412 + omp_get_max_active_levels_@OMP_3.0 0.20131209 + omp_get_max_active_levels_@VERSION 0.20130412 + omp_get_max_task_priority@OMP_4.5 7 + omp_get_max_task_priority@VERSION 3.9.0 + omp_get_max_task_priority_@OMP_4.5 7 + omp_get_max_task_priority_@VERSION 3.9.0 + omp_get_max_threads@OMP_1.0 0.20131209 + omp_get_max_threads@VERSION 0.20130412 + omp_get_max_threads_@OMP_1.0 0.20131209 + omp_get_max_threads_@VERSION 0.20130412 + omp_get_nested@OMP_1.0 0.20131209 + omp_get_nested@VERSION 0.20130412 + omp_get_nested_@OMP_1.0 0.20131209 + omp_get_nested_@VERSION 0.20130412 + omp_get_num_devices@OMP_4.0 8 + omp_get_num_devices@VERSION 8 + omp_get_num_devices_@OMP_4.0 8 + omp_get_num_devices_@VERSION 8 + omp_get_num_places@OMP_4.5 7 + omp_get_num_places@VERSION 3.9.0 + omp_get_num_places_@OMP_4.5 7 + omp_get_num_places_@VERSION 3.9.0 + omp_get_num_procs@OMP_1.0 0.20131209 + omp_get_num_procs@VERSION 0.20130412 + omp_get_num_procs_@OMP_1.0 0.20131209 + omp_get_num_procs_@VERSION 0.20130412 + omp_get_num_teams@OMP_4.0 0.20131209 + omp_get_num_teams@VERSION 0.20130715 + omp_get_num_teams_@OMP_4.0 0.20131209 + omp_get_num_teams_@VERSION 0.20130715 + omp_get_num_threads@OMP_1.0 0.20131209 + omp_get_num_threads@VERSION 0.20130412 + omp_get_num_threads_@OMP_1.0 0.20131209 + omp_get_num_threads_@VERSION 0.20130412 + omp_get_partition_num_places@OMP_4.5 7 + omp_get_partition_num_places@VERSION 3.9.0 + omp_get_partition_num_places_@OMP_4.5 7 + omp_get_partition_num_places_@VERSION 3.9.0 + omp_get_partition_place_nums@OMP_4.5 7 + omp_get_partition_place_nums@VERSION 3.9.0 + omp_get_partition_place_nums_@OMP_4.5 7 + omp_get_partition_place_nums_@VERSION 3.9.0 + omp_get_place_num@OMP_4.5 7 + omp_get_place_num@VERSION 3.9.0 + omp_get_place_num_@OMP_4.5 7 + omp_get_place_num_@VERSION 3.9.0 + omp_get_place_num_procs@OMP_4.5 7 + omp_get_place_num_procs@VERSION 3.9.0 + omp_get_place_num_procs_@OMP_4.5 7 + omp_get_place_num_procs_@VERSION 3.9.0 + omp_get_place_proc_ids@OMP_4.5 7 + omp_get_place_proc_ids@VERSION 3.9.0 + omp_get_place_proc_ids_@OMP_4.5 7 + omp_get_place_proc_ids_@VERSION 3.9.0 + omp_get_proc_bind@OMP_4.0 0.20131209 + omp_get_proc_bind@VERSION 0.20130412 + omp_get_proc_bind_@OMP_4.0 0.20131209 + omp_get_proc_bind_@VERSION 0.20130412 + omp_get_schedule@OMP_3.0 0.20131209 + omp_get_schedule@VERSION 0.20130412 + omp_get_schedule_@OMP_3.0 0.20131209 + omp_get_schedule_@VERSION 0.20130412 + omp_get_supported_active_levels@VERSION 9 + omp_get_supported_active_levels_@VERSION 9 + omp_get_team_num@OMP_4.0 0.20131209 + omp_get_team_num@VERSION 0.20130715 + omp_get_team_num_@OMP_4.0 0.20131209 + omp_get_team_num_@VERSION 0.20130715 + omp_get_team_size@OMP_3.0 0.20131209 + omp_get_team_size@VERSION 0.20130412 + omp_get_team_size_@OMP_3.0 0.20131209 + omp_get_team_size_@VERSION 0.20130412 + omp_get_thread_limit@OMP_3.0 0.20131209 + omp_get_thread_limit@VERSION 0.20130412 + omp_get_thread_limit_@OMP_3.0 0.20131209 + omp_get_thread_limit_@VERSION 0.20130412 + omp_get_thread_num@OMP_1.0 0.20131209 + omp_get_thread_num@VERSION 0.20130412 + omp_get_thread_num_@OMP_1.0 0.20131209 + omp_get_thread_num_@VERSION 0.20130412 + omp_get_wtick@OMP_2.0 0.20131209 + omp_get_wtick@VERSION 0.20130412 + omp_get_wtick_@OMP_2.0 0.20131209 + omp_get_wtick_@VERSION 0.20130412 + omp_get_wtime@OMP_2.0 0.20131209 + omp_get_wtime@VERSION 0.20130412 + omp_get_wtime_@OMP_2.0 0.20131209 + omp_get_wtime_@VERSION 0.20130412 + omp_high_bw_mem_alloc@VERSION 8 + omp_high_bw_mem_space@VERSION 9 + omp_in_final@OMP_3.1 0.20131209 + omp_in_final@VERSION 0.20130412 + omp_in_final_@OMP_3.1 0.20131209 + omp_in_final_@VERSION 0.20130412 + omp_in_parallel@OMP_1.0 0.20131209 + omp_in_parallel@VERSION 0.20130412 + omp_in_parallel_@OMP_1.0 0.20131209 + omp_in_parallel_@VERSION 0.20130412 + omp_init_allocator@VERSION 9 + omp_init_allocator_@VERSION 9 + omp_init_lock@OMP_1.0 0.20131209 + omp_init_lock@OMP_3.0 0.20131209 + omp_init_lock@VERSION 0.20130412 + omp_init_lock_@OMP_1.0 0.20131209 + omp_init_lock_@OMP_3.0 0.20131209 + omp_init_lock_@VERSION 0.20130412 + omp_init_lock_with_hint@VERSION 3.8.0 + omp_init_lock_with_hint_@VERSION 3.8.0 + omp_init_nest_lock@OMP_1.0 0.20131209 + omp_init_nest_lock@OMP_3.0 0.20131209 + omp_init_nest_lock@VERSION 0.20130412 + omp_init_nest_lock_@OMP_1.0 0.20131209 + omp_init_nest_lock_@OMP_3.0 0.20131209 + omp_init_nest_lock_@VERSION 0.20130412 + omp_init_nest_lock_with_hint@VERSION 3.8.0 + omp_init_nest_lock_with_hint_@VERSION 3.8.0 + omp_is_initial_device@OMP_4.0 0.20141212 + omp_is_initial_device@VERSION 0.20141212 + omp_is_initial_device_@OMP_4.0 0.20141212 + omp_is_initial_device_@VERSION 0.20141212 + omp_large_cap_mem_alloc@VERSION 8 + omp_large_cap_mem_space@VERSION 9 + omp_low_lat_mem_alloc@VERSION 8 + omp_low_lat_mem_space@VERSION 9 + omp_null_allocator@VERSION 9 + omp_pause_resource@VERSION 9 + omp_pause_resource_@VERSION 9 + omp_pause_resource_all@VERSION 9 + omp_pause_resource_all_@VERSION 9 + omp_pteam_mem_alloc@VERSION 8 + omp_set_affinity_format@VERSION 8 + omp_set_affinity_format_@VERSION 8 + omp_set_default_allocator@VERSION 8 + omp_set_default_allocator_@VERSION 8 + omp_set_default_device@OMP_4.0 4.0 + omp_set_default_device@VERSION 4.0 + omp_set_default_device_@OMP_4.0 4.0 + omp_set_default_device_@VERSION 4.0 + omp_set_dynamic@OMP_1.0 0.20131209 + omp_set_dynamic@VERSION 0.20130412 + omp_set_dynamic_@OMP_1.0 0.20131209 + omp_set_dynamic_@VERSION 0.20130412 + omp_set_lock@OMP_1.0 0.20131209 + omp_set_lock@OMP_3.0 0.20131209 + omp_set_lock@VERSION 0.20130412 + omp_set_lock_@OMP_1.0 0.20131209 + omp_set_lock_@OMP_3.0 0.20131209 + omp_set_lock_@VERSION 0.20130412 + omp_set_max_active_levels@OMP_3.0 0.20131209 + omp_set_max_active_levels@VERSION 0.20130412 + omp_set_max_active_levels_@OMP_3.0 0.20131209 + omp_set_max_active_levels_@VERSION 0.20130412 + omp_set_nest_lock@OMP_1.0 0.20131209 + omp_set_nest_lock@OMP_3.0 0.20131209 + omp_set_nest_lock@VERSION 0.20130412 + omp_set_nest_lock_@OMP_1.0 0.20131209 + omp_set_nest_lock_@OMP_3.0 0.20131209 + omp_set_nest_lock_@VERSION 0.20130412 + omp_set_nested@OMP_1.0 0.20131209 + omp_set_nested@VERSION 0.20130412 + omp_set_nested_@OMP_1.0 0.20131209 + omp_set_nested_@VERSION 0.20130412 + omp_set_num_threads@OMP_1.0 0.20131209 + omp_set_num_threads@VERSION 0.20130412 + omp_set_num_threads_@OMP_1.0 0.20131209 + omp_set_num_threads_@VERSION 0.20130412 + omp_set_schedule@OMP_3.0 0.20131209 + omp_set_schedule@VERSION 0.20130412 + omp_set_schedule_@OMP_3.0 0.20131209 + omp_set_schedule_@VERSION 0.20130412 +#MISSING: 8# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)omp_state_info@VERSION 6.0 + omp_test_lock@OMP_1.0 0.20131209 + omp_test_lock@OMP_3.0 0.20131209 + omp_test_lock@VERSION 0.20130412 + omp_test_lock_@OMP_1.0 0.20131209 + omp_test_lock_@OMP_3.0 0.20131209 + omp_test_lock_@VERSION 0.20130412 + omp_test_nest_lock@OMP_1.0 0.20131209 + omp_test_nest_lock@OMP_3.0 0.20131209 + omp_test_nest_lock@VERSION 0.20130412 + omp_test_nest_lock_@OMP_1.0 0.20131209 + omp_test_nest_lock_@OMP_3.0 0.20131209 + omp_test_nest_lock_@VERSION 0.20130412 + omp_thread_mem_alloc@VERSION 8 + omp_unset_lock@OMP_1.0 0.20131209 + omp_unset_lock@OMP_3.0 0.20131209 + omp_unset_lock@VERSION 0.20130412 + omp_unset_lock_@OMP_1.0 0.20131209 + omp_unset_lock_@OMP_3.0 0.20131209 + omp_unset_lock_@VERSION 0.20130412 + omp_unset_nest_lock@OMP_1.0 0.20131209 + omp_unset_nest_lock@OMP_3.0 0.20131209 + omp_unset_nest_lock@VERSION 0.20130412 + omp_unset_nest_lock_@OMP_1.0 0.20131209 + omp_unset_nest_lock_@OMP_3.0 0.20131209 + omp_unset_nest_lock_@VERSION 0.20130412 + ompc_capture_affinity@VERSION 8 + ompc_display_affinity@VERSION 8 + ompc_get_affinity_format@VERSION 8 + ompc_get_ancestor_thread_num@VERSION 0.20130412 + ompc_get_team_size@VERSION 0.20130412 + ompc_set_affinity_format@VERSION 8 + ompc_set_dynamic@VERSION 0.20130412 + ompc_set_max_active_levels@VERSION 0.20130412 + ompc_set_nested@VERSION 0.20130412 + ompc_set_num_threads@VERSION 0.20130412 + ompc_set_schedule@VERSION 0.20130412 + (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf)ompt_start_tool@VERSION 6.0 diff --git a/lld-X.Y.install.in b/lld-X.Y.install.in new file mode 100644 index 000000000..4d392c9de --- /dev/null +++ b/lld-X.Y.install.in @@ -0,0 +1,11 @@ +usr/lib/llvm-@LLVM_VERSION@/bin/ld.lld* +usr/lib/llvm-@LLVM_VERSION@/bin/ld64.lld +usr/lib/llvm-@LLVM_VERSION@/bin/lld-* +usr/lib/llvm-@LLVM_VERSION@/bin/lld +usr/lib/llvm-@LLVM_VERSION@/bin/wasm-ld + +usr/bin/lld-link-@LLVM_VERSION@ +usr/bin/ld.lld-@LLVM_VERSION@ +usr/bin/ld64.lld-@LLVM_VERSION@ +usr/bin/lld-@LLVM_VERSION@* +usr/bin/wasm-ld-@LLVM_VERSION@ diff --git a/lld-X.Y.manpages.in b/lld-X.Y.manpages.in new file mode 100644 index 000000000..6cfafeaee --- /dev/null +++ b/lld-X.Y.manpages.in @@ -0,0 +1 @@ +lld/docs/ld.lld-@LLVM_VERSION@.1 diff --git a/lldb-X.Y.install.in b/lldb-X.Y.install.in new file mode 100644 index 000000000..118022f56 --- /dev/null +++ b/lldb-X.Y.install.in @@ -0,0 +1,9 @@ +usr/lib/llvm-@LLVM_VERSION@/bin/lldb* +usr/lib/llvm-@LLVM_VERSION@/bin/lldb-server* +usr/lib/llvm-@LLVM_VERSION@/bin/lldb-argdumper + +usr/bin/lldb-@LLVM_VERSION@* +usr/bin/lldb-server-@LLVM_VERSION@* +usr/bin/lldb-argdumper-@LLVM_VERSION@ +usr/bin/lldb-vscode-@LLVM_VERSION@ +usr/bin/lldb-instr-@LLVM_VERSION@ diff --git a/lldb-X.Y.links.in b/lldb-X.Y.links.in new file mode 100644 index 000000000..d30a5f693 --- /dev/null +++ b/lldb-X.Y.links.in @@ -0,0 +1,2 @@ +usr/lib/llvm-@LLVM_VERSION@/bin/lldb-server usr/lib/llvm-@LLVM_VERSION@/bin/lldb-server-@LLVM_VERSION_FULL@ +usr/lib/llvm-@LLVM_VERSION@/bin/lldb-server usr/lib/llvm-@LLVM_VERSION@/bin/lldb-server-@LLVM_VERSION@ diff --git a/lldb-X.Y.lintian-overrides.in b/lldb-X.Y.lintian-overrides.in new file mode 100644 index 000000000..a456a3412 --- /dev/null +++ b/lldb-X.Y.lintian-overrides.in @@ -0,0 +1,3 @@ +lldb-@LLVM_VERSION@: non-dev-pkg-with-shlib-symlink usr/lib/*/liblldb.so.1 usr/lib/*/liblldb.so +# Does not really matter +lldb-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/lldb-@LLVM_VERSION@.1.gz diff --git a/lldb-X.Y.manpages.in b/lldb-X.Y.manpages.in new file mode 100644 index 000000000..375240700 --- /dev/null +++ b/lldb-X.Y.manpages.in @@ -0,0 +1 @@ +debian/man/lldb-@LLVM_VERSION@.1 diff --git a/lldb-X.Y.postinst.in b/lldb-X.Y.postinst.in new file mode 100644 index 000000000..a5a607104 --- /dev/null +++ b/lldb-X.Y.postinst.in @@ -0,0 +1,8 @@ +#!/bin/sh -e + +if [ "$1" = "configure" ] +then + ldconfig +fi + +#DEBHELPER# diff --git a/llvm-X.Y-dev.dirs.in b/llvm-X.Y-dev.dirs.in new file mode 100644 index 000000000..3b3b5862d --- /dev/null +++ b/llvm-X.Y-dev.dirs.in @@ -0,0 +1,5 @@ +/usr/lib/llvm-@LLVM_VERSION@/lib +/usr/lib/llvm-@LLVM_VERSION@/build +/usr/lib/llvm-@LLVM_VERSION@/include +usr/share/doc/llvm-@LLVM_VERSION@-dev +usr/share/emacs/site-lisp/llvm-@LLVM_VERSION@ diff --git a/llvm-X.Y-dev.install.in b/llvm-X.Y-dev.install.in new file mode 100644 index 000000000..a6acd0283 --- /dev/null +++ b/llvm-X.Y-dev.install.in @@ -0,0 +1,31 @@ +#!/usr/bin/dh-exec + +usr/lib/llvm-@LLVM_VERSION@/lib/libLLVM*.a +#usr/lib/llvm-@LLVM_VERSION@/lib/libllvm*.a +[!powerpc !powerpcspe] usr/lib/llvm-@LLVM_VERSION@/lib/LLVM*.so +usr/lib/llvm-@LLVM_VERSION@/lib/libLLVM.so +usr/lib/llvm-@LLVM_VERSION@/lib/libLLVM-@LLVM_VERSION@*.so +usr/lib/llvm-@LLVM_VERSION@/lib/libLTO.* +usr/lib/llvm-@LLVM_VERSION@/lib/libRemarks.* +usr/lib/llvm-@LLVM_VERSION@/include/llvm/ usr/include/llvm-@LLVM_VERSION@/ +usr/lib/llvm-@LLVM_VERSION@/include/llvm-c/ usr/include/llvm-c-@LLVM_VERSION@/ +# Explicit debian/tmp since there are multiple declarations +debian/tmp/usr/lib/llvm-@LLVM_VERSION@/lib/cmake/llvm/*.cmake + +llvm/utils/vim/indent/llvm-@LLVM_VERSION@.vim usr/share/vim/addons/indent/ + +llvm/utils/vim/syntax/llvm-@LLVM_VERSION@.vim usr/share/vim/addons/syntax/ +llvm/utils/vim/syntax/tablegen-@LLVM_VERSION@.vim usr/share/vim/addons/syntax/ + +llvm/utils/vim/ftdetect/llvm-@LLVM_VERSION@.vim usr/share/vim/addons/ftdetect/ +llvm/utils/vim/ftdetect/tablegen-@LLVM_VERSION@.vim usr/share/vim/addons/ftdetect/ + +llvm/utils/vim/ftplugin/llvm-@LLVM_VERSION@.vim usr/share/vim/addons/ftplugin/ +llvm/utils/vim/ftplugin/tablegen-@LLVM_VERSION@.vim usr/share/vim/addons/ftplugin/ + +llvm/utils/vim/llvm-@LLVM_VERSION@-vimrc usr/share/vim/addons + + +llvm/utils/emacs/emacs.el usr/share/emacs/site-lisp/llvm-@LLVM_VERSION@/ +llvm/utils/emacs/llvm-mode.el usr/share/emacs/site-lisp/llvm-@LLVM_VERSION@/ +llvm/utils/emacs/tablegen-mode.el usr/share/emacs/site-lisp/llvm-@LLVM_VERSION@/ diff --git a/llvm-X.Y-dev.links.in b/llvm-X.Y-dev.links.in new file mode 100644 index 000000000..b3a2a2ae9 --- /dev/null +++ b/llvm-X.Y-dev.links.in @@ -0,0 +1,19 @@ +usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION@.so.1 usr/lib/llvm-@LLVM_VERSION@/lib/libLLVM-@LLVM_VERSION@.so +usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION@.so.1 usr/lib/llvm-@LLVM_VERSION@/lib/libLLVM-@LLVM_VERSION@.so.1 +usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION@.so.1 usr/lib/llvm-@LLVM_VERSION@/lib/libLLVM-@LLVM_VERSION_FULL@.so.1 +usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION@.so.1 usr/lib/llvm-@LLVM_VERSION@/lib/libLLVM-@LLVM_VERSION_FULL@.so +usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION@.so.1 usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION_FULL@.so.1 + +usr/include/llvm-c-@LLVM_VERSION@/llvm-c usr/lib/llvm-@LLVM_VERSION@/include/llvm-c +usr/include/llvm-@LLVM_VERSION@/llvm usr/lib/llvm-@LLVM_VERSION@/include/llvm +usr/include/llvm-c-@LLVM_VERSION@/llvm-c usr/lib/llvm-@LLVM_VERSION@/build/include/llvm-c +usr/include/llvm-@LLVM_VERSION@/llvm usr/lib/llvm-@LLVM_VERSION@/build/include/llvm + +usr/lib/llvm-@LLVM_VERSION@/include/ usr/lib/llvm-@LLVM_VERSION@/build/include +usr/lib/llvm-@LLVM_VERSION@/lib/ usr/lib/llvm-@LLVM_VERSION@/build/lib +usr/lib/llvm-@LLVM_VERSION@/share/ usr/lib/llvm-@LLVM_VERSION@/build/share +usr/lib/llvm-@LLVM_VERSION@/ usr/lib/llvm-@LLVM_VERSION@/build/Release +usr/lib/llvm-@LLVM_VERSION@/ usr/lib/llvm-@LLVM_VERSION@/build/Debug+Asserts + +usr/lib/llvm-@LLVM_VERSION@/lib/cmake/llvm usr/lib/llvm-@LLVM_VERSION@/cmake +usr/lib/llvm-@LLVM_VERSION@/lib/cmake/llvm usr/lib/llvm-@LLVM_VERSION@/share/llvm/cmake diff --git a/llvm-X.Y-doc.dirs.in b/llvm-X.Y-doc.dirs.in new file mode 100644 index 000000000..5379e8ece --- /dev/null +++ b/llvm-X.Y-doc.dirs.in @@ -0,0 +1 @@ +usr/share/doc/llvm-@LLVM_VERSION@-doc diff --git a/llvm-X.Y-doc.install.in b/llvm-X.Y-doc.install.in new file mode 100644 index 000000000..a84b04232 --- /dev/null +++ b/llvm-X.Y-doc.install.in @@ -0,0 +1,6 @@ +llvm/docs/_build/html usr/share/doc/llvm-@LLVM_VERSION@-doc/ +#usr/lib/llvm-@LLVM_VERSION@/docs/llvm/html.tar.gz +#usr/lib/llvm-@LLVM_VERSION@/docs/llvm/ocamldoc.tar.gz +#usr/lib/llvm-@LLVM_VERSION@/docs/llvm/html/Dummy.html +#usr/lib/llvm-@LLVM_VERSION@/docs/llvm/html/doxygen.css +#usr/lib/llvm-@LLVM_VERSION@/docs/llvm/html/LibASTMatchersReference.html diff --git a/llvm-X.Y-examples.dirs.in b/llvm-X.Y-examples.dirs.in new file mode 100644 index 000000000..a8b75c661 --- /dev/null +++ b/llvm-X.Y-examples.dirs.in @@ -0,0 +1 @@ +usr/share/doc/llvm-@LLVM_VERSION@-examples diff --git a/llvm-X.Y-examples.examples.in b/llvm-X.Y-examples.examples.in new file mode 100644 index 000000000..e39721e20 --- /dev/null +++ b/llvm-X.Y-examples.examples.in @@ -0,0 +1 @@ +examples/* diff --git a/llvm-X.Y-examples.links.in b/llvm-X.Y-examples.links.in new file mode 100644 index 000000000..a8d74aa2a --- /dev/null +++ b/llvm-X.Y-examples.links.in @@ -0,0 +1,3 @@ +/usr/lib/llvm-@LLVM_VERSION@/build/Makefile.common usr/share/doc/llvm-@LLVM_VERSION@-examples/Makefile.common +/usr/lib/llvm-@LLVM_VERSION@/build/Makefile.config usr/share/doc/llvm-@LLVM_VERSION@-examples/Makefile.config +/usr/lib/llvm-@LLVM_VERSION@/build/Makefile.rules usr/share/doc/llvm-@LLVM_VERSION@-examples/Makefile.rules diff --git a/llvm-X.Y-runtime.binfmt.in b/llvm-X.Y-runtime.binfmt.in new file mode 100644 index 000000000..6bb1df78c --- /dev/null +++ b/llvm-X.Y-runtime.binfmt.in @@ -0,0 +1,3 @@ +package llvm-@LLVM_VERSION@-runtime +interpreter /usr/bin/lli-@LLVM_VERSION@ +magic BC diff --git a/llvm-X.Y-runtime.install.in b/llvm-X.Y-runtime.install.in new file mode 100644 index 000000000..d8e16a7c6 --- /dev/null +++ b/llvm-X.Y-runtime.install.in @@ -0,0 +1,8 @@ +usr/lib/llvm-@LLVM_VERSION@/bin/lli +usr/lib/llvm-@LLVM_VERSION@/bin/lli-child-target + +usr/bin/lli-@LLVM_VERSION@ +usr/bin/lli-child-target-@LLVM_VERSION@ + +debian/llvm-@LLVM_VERSION@-runtime.binfmt usr/share/binfmts/ + diff --git a/llvm-X.Y-runtime.lintian-overrides.in b/llvm-X.Y-runtime.lintian-overrides.in new file mode 100644 index 000000000..e94e71309 --- /dev/null +++ b/llvm-X.Y-runtime.lintian-overrides.in @@ -0,0 +1 @@ +llvm-@LLVM_VERSION@-runtime: binary-without-manpage usr/bin/lli-child-target-@LLVM_VERSION@ diff --git a/llvm-X.Y-runtime.manpages.in b/llvm-X.Y-runtime.manpages.in new file mode 100644 index 000000000..839952d03 --- /dev/null +++ b/llvm-X.Y-runtime.manpages.in @@ -0,0 +1 @@ +debian/man/lli* diff --git a/llvm-X.Y-runtime.postinst.in b/llvm-X.Y-runtime.postinst.in new file mode 100644 index 000000000..22326b1b2 --- /dev/null +++ b/llvm-X.Y-runtime.postinst.in @@ -0,0 +1,11 @@ +#!/bin/sh + +set -e + +if test "$1" = "configure"; then + if which update-binfmts >/dev/null; then + update-binfmts --import llvm-@LLVM_VERSION@-runtime.binfmt || true + fi +fi + +#DEBHELPER# diff --git a/llvm-X.Y-runtime.prerm.in b/llvm-X.Y-runtime.prerm.in new file mode 100644 index 000000000..4b7d8eb75 --- /dev/null +++ b/llvm-X.Y-runtime.prerm.in @@ -0,0 +1,18 @@ +#!/bin/sh + +set -e + +if test "$1" = "remove"; then + if which update-binfmts >/dev/null; then + update-binfmts --package llvm-@LLVM_VERSION@-runtime \ + --remove llvm-@LLVM_VERSION@-runtime.binfmt /usr/bin/lli-@LLVM_VERSION@ || true + if test -f /var/lib/binfmts/llvm-@LLVM_VERSION@.binfmt; then + # Purge old file + update-binfmts --package llvm-@LLVM_VERSION@-runtime \ + --remove llvm-@LLVM_VERSION@.binfmt /usr/bin/lli-@LLVM_VERSION@ || true + fi + fi +fi + +#DEBHELPER# + diff --git a/llvm-X.Y-tools.dirs.in b/llvm-X.Y-tools.dirs.in new file mode 100644 index 000000000..401df068d --- /dev/null +++ b/llvm-X.Y-tools.dirs.in @@ -0,0 +1,2 @@ +/usr/lib/llvm-@LLVM_VERSION@/build/unittests +/usr/lib/llvm-@LLVM_VERSION@/build/utils/lit/ diff --git a/llvm-X.Y-tools.install.in b/llvm-X.Y-tools.install.in new file mode 100644 index 000000000..0ceef3f41 --- /dev/null +++ b/llvm-X.Y-tools.install.in @@ -0,0 +1,19 @@ + +usr/lib/llvm-@LLVM_VERSION@/bin/count +usr/lib/llvm-@LLVM_VERSION@/bin/FileCheck +usr/lib/llvm-@LLVM_VERSION@/bin/not +usr/lib/llvm-@LLVM_VERSION@/bin/yaml-bench +usr/lib/llvm-@LLVM_VERSION@/share/opt-viewer/opt-viewer.py +usr/lib/llvm-@LLVM_VERSION@/share/opt-viewer/optrecord.py +usr/lib/llvm-@LLVM_VERSION@/share/opt-viewer/style.css +usr/lib/llvm-@LLVM_VERSION@/share/opt-viewer/opt-diff.py +usr/lib/llvm-@LLVM_VERSION@/share/opt-viewer/optpmap.py +usr/lib/llvm-@LLVM_VERSION@/share/opt-viewer/opt-stats.py + + +llvm/utils/lit/* /usr/lib/llvm-@LLVM_VERSION@/build/utils/lit/ + +usr/bin/count-@LLVM_VERSION@ +usr/bin/FileCheck-@LLVM_VERSION@ +usr/bin/not-@LLVM_VERSION@ +usr/bin/yaml-bench-@LLVM_VERSION@ diff --git a/llvm-X.Y.dirs.in b/llvm-X.Y.dirs.in new file mode 100644 index 000000000..56a9655f3 --- /dev/null +++ b/llvm-X.Y.dirs.in @@ -0,0 +1,3 @@ +/usr/lib/llvm-@LLVM_VERSION@/bin +usr/share/man/man1 +usr/share/doc/llvm-@LLVM_VERSION@ diff --git a/llvm-X.Y.install.in b/llvm-X.Y.install.in new file mode 100644 index 000000000..dc67100a8 --- /dev/null +++ b/llvm-X.Y.install.in @@ -0,0 +1,18 @@ +usr/lib/llvm-@LLVM_VERSION@/bin/llvm-* +usr/lib/llvm-@LLVM_VERSION@/bin/opt* +usr/lib/llvm-@LLVM_VERSION@/bin/bugpoint* +usr/lib/llvm-@LLVM_VERSION@/bin/llc* +usr/lib/llvm-@LLVM_VERSION@/bin/obj2yaml +usr/lib/llvm-@LLVM_VERSION@/bin/yaml2obj +usr/lib/llvm-@LLVM_VERSION@/bin/verify-uselistorder +usr/lib/llvm-@LLVM_VERSION@/bin/sanstats +usr/lib/llvm-@LLVM_VERSION@/bin/dsymutil +usr/bin/llvm-* +usr/bin/opt* +usr/bin/bugpoint* +usr/bin/llc* +usr/bin/obj2yaml-* +usr/bin/yaml2obj-* +usr/bin/verify-uselistorder-* +usr/bin/sanstats-* +usr/bin/dsymutil-* diff --git a/llvm-X.Y.lintian-overrides.in b/llvm-X.Y.lintian-overrides.in new file mode 100644 index 000000000..35c869467 --- /dev/null +++ b/llvm-X.Y.lintian-overrides.in @@ -0,0 +1,12 @@ +# I know but well... +llvm-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/llvm-dwarfdump-@LLVM_VERSION@.1.gz +llvm-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/llvm-mc-@LLVM_VERSION@.1.gz +llvm-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/llvm-mcmarkup-@LLVM_VERSION@.1.gz +llvm-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/llvm-objdump-@LLVM_VERSION@.1.gz +llvm-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/llvm-rtdyld-@LLVM_VERSION@.1.gz +llvm-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/llvm-size-@LLVM_VERSION@.1.gz +llvm-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/llvm-ranlib-@LLVM_VERSION@.1.gz +# Does not link otherwise +llvm-@LLVM_VERSION@: embedded-library usr/lib/llvm-@LLVM_VERSION@/bin/bugpoint: libjsoncpp +llvm-@LLVM_VERSION@: embedded-library usr/lib/llvm-@LLVM_VERSION@/bin/opt: libjsoncpp + diff --git a/llvm-X.Y.manpages.in b/llvm-X.Y.manpages.in new file mode 100644 index 000000000..98f095fb6 --- /dev/null +++ b/llvm-X.Y.manpages.in @@ -0,0 +1,8 @@ +docs/_build/man/* +debian/man/llvm-dwarfdump-@LLVM_VERSION@.1 +debian/man/llvm-mc-@LLVM_VERSION@.1 +debian/man/llvm-mcmarkup-@LLVM_VERSION@.1 +debian/man/llvm-objdump-@LLVM_VERSION@.1 +debian/man/llvm-rtdyld-@LLVM_VERSION@.1 +debian/man/llvm-size-@LLVM_VERSION@.1 +debian/man/llvm-ranlib-@LLVM_VERSION@.1 diff --git a/llvm-priv-dev.dirs b/llvm-priv-dev.dirs new file mode 100644 index 000000000..dab86638a --- /dev/null +++ b/llvm-priv-dev.dirs @@ -0,0 +1 @@ +/usr/lib/llvm-3.1/build diff --git a/orig-tar.sh b/orig-tar.sh new file mode 100755 index 000000000..129ceb489 --- /dev/null +++ b/orig-tar.sh @@ -0,0 +1,183 @@ +#!/bin/sh +# This script will create the following tarballs: +# llvm-toolchain-snapshot-3.2_3.2repack.orig-clang.tar.bz2 +# llvm-toolchain-snapshot-3.2_3.2repack.orig-clang-extra.tar.bz2 +# llvm-toolchain-snapshot-3.2_3.2repack.orig-compiler-rt.tar.bz2 +# llvm-toolchain-snapshot-3.2_3.2repack.orig-lld.tar.bz2 +# llvm-toolchain-snapshot-3.2_3.2repack.orig-lldb.tar.bz2 +# llvm-toolchain-snapshot-3.2_3.2repack.orig-polly.tar.bz2 +# llvm-toolchain-snapshot-3.2_3.2repack.orig-openmp.tar.bz2 +# llvm-toolchain-snapshot-3.2_3.2repack.orig-libcxx.tar.bz2 +# llvm-toolchain-snapshot-3.2_3.2repack.orig-libcxxabi.tar.bz2 +# llvm-toolchain-snapshot-3.2_3.2repack.orig.tar.bz2 + +set -e + +# commands: +# sh 9/debian/orig-tar.sh release/9.x +# sh 9/debian/orig-tar.sh 9.0.0 rc3 +# sh 9/debian/orig-tar.sh 9.0.1 rc3 +# Stable release +# sh 9/debian/orig-tar.sh 9.0.0 9.0.0 + + +# To create an rc1 release: +# sh 9/debian/orig-tar.sh release/9.x +CURRENT_PATH=$(pwd) +EXPORT_PATH=$(pwd) + +if test -n "${JENKINS_HOME}"; then + # For apt.llvm.org, reuse the same repo + echo "Built from Jenkins. Will export the repo in $HOME/" + EXPORT_PATH="$HOME/" +fi + +GIT_BASE_URL=https://github.com/llvm/llvm-project +GIT_TOOLCHAIN_CHECK=https://github.com/opencollab/llvm-toolchain-integration-test-suite.git + + +reset_repo () +{ + cd $1 + git clean -qfd + git checkout . + git remote update > /dev/null + git reset --hard origin/master > /dev/null + git clean -qfd + git checkout master > /dev/null + git pull + cd - +} + +PATH_DEBIAN="$(pwd)/$(dirname $0)/../" +cd "$PATH_DEBIAN" +MAJOR_VERSION=$(dpkg-parsechangelog | sed -rne "s,^Version: 1:([0-9]+).*,\1,p") +if test -z "$MAJOR_VERSION"; then + echo "Could not detect the major version" + exit 1 +fi + +CURRENT_VERSION=$(dpkg-parsechangelog | sed -rne "s,^Version: 1:([0-9.]+)(~|-)(.*),\1,p") +if test -z "$CURRENT_VERSION"; then + echo "Could not detect the full version" + exit 1 +fi + +cd - &> /dev/null +echo "MAJOR_VERSION=$MAJOR_VERSION / CURRENT_VERSION=$CURRENT_VERSION" +if test -n "$1"; then +# https://github.com/llvm/llvm-project/tree/release/9.x +# For example: sh 4.0/debian/orig-tar.sh release/9.x + BRANCH=$1 + if ! echo "$1"|grep -q release/; then + # The first argument is NOT a branch, means that it is a stable release + FINAL_RELEASE=true + EXACT_VERSION=$1 + fi +else + # No argument, we need trunk + cd "$PATH_DEBIAN" + SOURCE=$(dpkg-parsechangelog |grep ^Source|awk '{print $2}') + cd - &> /dev/null + if test "$SOURCE" != "llvm-toolchain-snapshot"; then + echo "Checkout of the master is only available for llvm-toolchain-snapshot" + exit 1 + fi + BRANCH="master" +fi + +if test -n "$1" -a -n "$2"; then +# https://github.com/llvm/llvm-project/releases/tag/llvmorg-9.0.0 +# For example: sh 4.0/debian/orig-tar.sh 4.0.1 rc3 +# or sh 9/debian/orig-tar.sh 9.0.0 + TAG=$2 + RCRELEASE="true" + EXACT_VERSION=$1 +fi + +# Update or retrieve the repo +mkdir -p git-archive +cd git-archive +if test -d $EXPORT_PATH/llvm-project; then + echo "Updating repo in $EXPORT_PATH/llvm-project" + # Update it + reset_repo $EXPORT_PATH/llvm-project +else + # Download it + echo "Cloning the repo in $EXPORT_PATH/llvm-project" + git clone $GIT_BASE_URL $EXPORT_PATH/llvm-project +fi + +if test -d $EXPORT_PATH/llvm-toolchain-integration-test-suite; then + echo "Updating repo in $EXPORT_PATH/llvm-toolchain-integration-test-suite" + # Update it + reset_repo $EXPORT_PATH/llvm-toolchain-integration-test-suite +else + echo "Clone llvm-toolchain-integration-test-suite into $EXPORT_PATH/llvm-toolchain-integration-test-suite" + git clone $GIT_TOOLCHAIN_CHECK $EXPORT_PATH/llvm-toolchain-integration-test-suite +fi + +cd $EXPORT_PATH/llvm-project +if test -z "$TAG" -a -z "$FINAL_RELEASE"; then + # Building a branch + git checkout $BRANCH + git reset --hard origin/$BRANCH + if test $BRANCH != "master"; then + VERSION=$(echo $BRANCH|cut -d/ -f2|cut -d. -f1) + if ! echo "$MAJOR_VERSION"|grep -q "$VERSION"; then + echo "mismatch in version: Dir=$MAJOR_VERSION Provided=$VERSION" + exit 1 + fi + else + # No argument, take master. So, it can only be snapshot + VERSION=$MAJOR_VERSION + MAJOR_VERSION=snapshot + fi + # the + is here to make sure that this version is considered more recent than the svn + # dpkg --compare-versions 10~svn374977-1~exp1 lt 10~+2019-svn374977-1~exp1 + # to verify that + VERSION="${CURRENT_VERSION}~++$(date +'%Y%m%d%I%M%S')+$(git log -1 --pretty=format:'%h')" +else + + if ! echo "$EXACT_VERSION"|grep -q "$MAJOR_VERSION"; then + echo "Mismatch in version: Dir=$MAJOR_VERSION Provided=$EXACT_VERSION" + exit 1 + fi + git_tag="llvmorg-$EXACT_VERSION" + VERSION=$EXACT_VERSION + if test -n "$TAG"; then + git_tag="$git_tag-$TAG" + VERSION="$VERSION~+$TAG" + fi + + git checkout "$git_tag" > /dev/null + +fi + +# cleanup +rm -rf */www/ + +cd ../ +BASE="llvm-toolchain-${MAJOR_VERSION}_${VERSION}" +FILENAME="${BASE}.orig.tar.xz" + +cp -R llvm-toolchain-integration-test-suite llvm-project/integration-test-suite +echo "Compressing to $FILENAME" +tar Jcf $CURRENT_PATH/"$FILENAME" --exclude .git --transform="s|llvm-project|$BASE|" -C $EXPORT_PATH llvm-project +rm -rf llvm-project/integration-test-suite + +export DEBFULLNAME="Sylvestre Ledru" +export DEBEMAIL="sylvestre@debian.org" +cd "$PATH_DEBIAN" + +if test -z "$DISTRIBUTION"; then + DISTRIBUTION="experimental" +fi + +if test -n "$RCRELEASE" -o -n "$BRANCH"; then + EXTRA_DCH_FLAGS="--force-bad-version --allow-lower-version" +fi + +dch $EXTRA_DCH_FLAGS --distribution $DISTRIBUTION --newversion 1:"$VERSION"-1~exp1 "New snapshot release" + +exit 0 diff --git a/patches/0001-llvm-cmake-resolve-symlinks-in-LLVMConfig.cmake.patch b/patches/0001-llvm-cmake-resolve-symlinks-in-LLVMConfig.cmake.patch new file mode 100644 index 000000000..c52c19e07 --- /dev/null +++ b/patches/0001-llvm-cmake-resolve-symlinks-in-LLVMConfig.cmake.patch @@ -0,0 +1,31 @@ +From d0d969074f6e0f975ad53d21e7ce6c7b40cf2957 Mon Sep 17 00:00:00 2001 +From: Peter Wu +Date: Fri, 4 May 2018 15:43:06 +0200 +Subject: [PATCH] [llvm] cmake: resolve symlinks in LLVMConfig.cmake + +Ensure that symlinks such as /usr/lib/llvm-X.Y/cmake (pointing to +lib/cmake/llvm) are resolved. This ensures that LLVM_INSTALL_PREFIX +becomes /usr/lib/llvm-X.Y instead of /usr. + +Partially addresses PR37128 +--- + cmake/modules/CMakeLists.txt | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/cmake/modules/CMakeLists.txt +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/cmake/modules/CMakeLists.txt ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/cmake/modules/CMakeLists.txt +@@ -88,10 +88,10 @@ file(COPY . + # Generate LLVMConfig.cmake for the install tree. + set(LLVM_CONFIG_CODE " + # Compute the installation prefix from this LLVMConfig.cmake file location. +-get_filename_component(LLVM_INSTALL_PREFIX \"\${CMAKE_CURRENT_LIST_FILE}\" PATH)") ++get_filename_component(LLVM_INSTALL_PREFIX \"\${CMAKE_CURRENT_LIST_FILE}\" REALPATH)") + # Construct the proper number of get_filename_component(... PATH) + # calls to compute the installation prefix. +-string(REGEX REPLACE "/" ";" _count "${LLVM_INSTALL_PACKAGE_DIR}") ++string(REGEX REPLACE "/" ";" _count "prefix/${LLVM_INSTALL_PACKAGE_DIR}") + foreach(p ${_count}) + set(LLVM_CONFIG_CODE "${LLVM_CONFIG_CODE} + get_filename_component(LLVM_INSTALL_PREFIX \"\${LLVM_INSTALL_PREFIX}\" PATH)") diff --git a/patches/0001-systemz-allow-configuring-default-SYSTEMZ_DEFAULT_AR.patch b/patches/0001-systemz-allow-configuring-default-SYSTEMZ_DEFAULT_AR.patch new file mode 100644 index 000000000..d8b20dee3 --- /dev/null +++ b/patches/0001-systemz-allow-configuring-default-SYSTEMZ_DEFAULT_AR.patch @@ -0,0 +1,39 @@ +From 3d76b4f33d2e9b5f8ec1e0a5866f9bafc7d6186d Mon Sep 17 00:00:00 2001 +From: Dimitri John Ledkov +Date: Tue, 10 Mar 2020 12:26:39 +0000 +Subject: [PATCH] systemz: allow configuring default SYSTEMZ_DEFAULT_ARCH. + +Signed-off-by: Dimitri John Ledkov +--- + CMakeLists.txt | 4 ++++ + lib/Driver/ToolChains/Arch/SystemZ.cpp | 2 +- + 2 files changed, 5 insertions(+), 1 deletion(-) + +Index: llvm-toolchain-10-10.0.0~+rc5/clang/CMakeLists.txt +=================================================================== +--- llvm-toolchain-10-10.0.0~+rc5.orig/clang/CMakeLists.txt ++++ llvm-toolchain-10-10.0.0~+rc5/clang/CMakeLists.txt +@@ -306,6 +306,10 @@ if (NOT DEFINED MATCHED_ARCH OR "${CMAKE + "Default architecture for OpenMP offloading to Nvidia GPUs." FORCE) + endif() + ++set(CLANG_SYSTEMZ_DEFAULT_ARCH "z10" CACHE STRING ++ "SystemZ Default Arch") ++add_definitions( -DCLANG_SYSTEMZ_DEFAULT_ARCH="${CLANG_SYSTEMZ_DEFAULT_ARCH}") ++ + set(CLANG_VENDOR ${PACKAGE_VENDOR} CACHE STRING + "Vendor-specific text for showing with version information.") + +Index: llvm-toolchain-10-10.0.0~+rc5/clang/lib/Driver/ToolChains/Arch/SystemZ.cpp +=================================================================== +--- llvm-toolchain-10-10.0.0~+rc5.orig/clang/lib/Driver/ToolChains/Arch/SystemZ.cpp ++++ llvm-toolchain-10-10.0.0~+rc5/clang/lib/Driver/ToolChains/Arch/SystemZ.cpp +@@ -30,7 +30,7 @@ std::string systemz::getSystemZTargetCPU + + return CPUName; + } +- return "z10"; ++ return CLANG_SYSTEMZ_DEFAULT_ARCH; + } + + void systemz::getSystemZTargetFeatures(const ArgList &Args, diff --git a/patches/0001-tools-clang-cmake-resolve-symlinks-in-ClangConfig.cmake.patch b/patches/0001-tools-clang-cmake-resolve-symlinks-in-ClangConfig.cmake.patch new file mode 100644 index 000000000..f3d199ac6 --- /dev/null +++ b/patches/0001-tools-clang-cmake-resolve-symlinks-in-ClangConfig.cmake.patch @@ -0,0 +1,31 @@ +From c830d84bc802ca1e9219415a5784c4ad97a34819 Mon Sep 17 00:00:00 2001 +From: Peter Wu +Date: Fri, 4 May 2018 15:55:26 +0200 +Subject: [PATCH] [clang] cmake: resolve symlinks in ClangConfig.cmake + +Ensure that symlinks such as /usr/lib/cmake/clang-X.Y (pointing to +/usr/lib/llvm-X.Y/lib/cmake/llvm) are resolved. This ensures that +CLANG_INSTALL_PREFIX ends up to be /usr/lib/llvm-X.Y instead of /usr. + +Partially addresses PR37128 +--- + cmake/modules/CMakeLists.txt | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/cmake/modules/CMakeLists.txt +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/cmake/modules/CMakeLists.txt ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/cmake/modules/CMakeLists.txt +@@ -30,10 +30,10 @@ set(CLANG_CONFIG_EXPORTS_FILE) + # Generate ClangConfig.cmake for the install tree. + set(CLANG_CONFIG_CODE " + # Compute the installation prefix from this LLVMConfig.cmake file location. +-get_filename_component(CLANG_INSTALL_PREFIX \"\${CMAKE_CURRENT_LIST_FILE}\" PATH)") ++get_filename_component(CLANG_INSTALL_PREFIX \"\${CMAKE_CURRENT_LIST_FILE}\" REALPATH)") + # Construct the proper number of get_filename_component(... PATH) + # calls to compute the installation prefix. +-string(REGEX REPLACE "/" ";" _count "${CLANG_INSTALL_PACKAGE_DIR}") ++string(REGEX REPLACE "/" ";" _count "prefix/${CLANG_INSTALL_PACKAGE_DIR}") + foreach(p ${_count}) + set(CLANG_CONFIG_CODE "${CLANG_CONFIG_CODE} + get_filename_component(CLANG_INSTALL_PREFIX \"\${CLANG_INSTALL_PREFIX}\" PATH)") diff --git a/patches/0003-Debian-version-info-and-bugreport.patch b/patches/0003-Debian-version-info-and-bugreport.patch new file mode 100644 index 000000000..a8b11deeb --- /dev/null +++ b/patches/0003-Debian-version-info-and-bugreport.patch @@ -0,0 +1,19 @@ +--- + lib/Support/CommandLine.cpp | 4 ++++ + 1 file changed, 4 insertions(+) + +Index: llvm-toolchain-snapshot_10~+20191223101759+5762648c46b/llvm/lib/Support/CommandLine.cpp +=================================================================== +--- llvm-toolchain-snapshot_10~+20191223101759+5762648c46b.orig/llvm/lib/Support/CommandLine.cpp ++++ llvm-toolchain-snapshot_10~+20191223101759+5762648c46b/llvm/lib/Support/CommandLine.cpp +@@ -2473,6 +2473,10 @@ public: + OS << " " << LLVM_VERSION_INFO; + #endif + OS << "\n "; ++#ifdef LLVM_DEBIAN_INFO ++ OS << LLVM_DEBIAN_INFO; ++#endif ++ OS << "\n "; + #if LLVM_IS_DEBUG_BUILD + OS << "DEBUG build"; + #else diff --git a/patches/0044-soname.diff b/patches/0044-soname.diff new file mode 100644 index 000000000..bc0860da8 --- /dev/null +++ b/patches/0044-soname.diff @@ -0,0 +1,31 @@ +--- + clang/tools/libclang/CMakeLists.txt | 2 +- + tools/llvm-shlib/CMakeLists.txt | 1 + + 2 files changed, 2 insertions(+), 1 deletion(-) + +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/tools/libclang/CMakeLists.txt +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/tools/libclang/CMakeLists.txt ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/tools/libclang/CMakeLists.txt +@@ -96,7 +96,7 @@ if (UNIX AND ${CMAKE_SYSTEM_NAME} MATCHE + remove_definitions("-D_XOPEN_SOURCE=700") + endif() + +-add_clang_library(libclang ${ENABLE_SHARED} ${ENABLE_STATIC} INSTALL_WITH_TOOLCHAIN ++add_clang_library(libclang ${ENABLE_SHARED} ${ENABLE_STATIC} INSTALL_WITH_TOOLCHAIN SONAME + OUTPUT_NAME ${output_name} + ${SOURCES} + +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/tools/llvm-shlib/CMakeLists.txt +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/tools/llvm-shlib/CMakeLists.txt ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/tools/llvm-shlib/CMakeLists.txt +@@ -44,6 +44,8 @@ if(LLVM_BUILD_LLVM_DYLIB) + endif() + add_llvm_library(LLVM SHARED DISABLE_LLVM_LINK_LLVM_DYLIB SONAME ${INSTALL_WITH_TOOLCHAIN} ${SOURCES}) + ++ set_property(TARGET LLVM PROPERTY VERSION "1") # Append .1 to SONAME ++ + list(REMOVE_DUPLICATES LIB_NAMES) + if(("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") OR (MINGW) OR (HAIKU) + OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "FreeBSD") diff --git a/patches/0048-Set-html_static_path-_static-everywhere.patch b/patches/0048-Set-html_static_path-_static-everywhere.patch new file mode 100644 index 000000000..45874d87f --- /dev/null +++ b/patches/0048-Set-html_static_path-_static-everywhere.patch @@ -0,0 +1,50 @@ +From: Nicholas D Steeves +Date: Sat, 10 Feb 2018 21:00:55 -0500 +Subject: Set html_static_path = ['_static'] everywhere. + +--- + clang-tools-extra/docs/conf.py | 2 +- + clang/docs/analyzer/conf.py | 2 +- + clang/docs/conf.py | 2 +- + polly/docs/conf.py | 2 +- + 4 files changed, 4 insertions(+), 4 deletions(-) + +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/docs/analyzer/conf.py +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/docs/analyzer/conf.py ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/docs/analyzer/conf.py +@@ -121,7 +121,7 @@ html_theme = 'haiku' + # Add any paths that contain custom static files (such as style sheets) here, + # relative to this directory. They are copied after the builtin static files, + # so a file named "default.css" will overwrite the builtin "default.css". +-html_static_path = [] ++html_static_path = ['_static'] + + # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, + # using the given strftime format. +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/docs/conf.py +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/docs/conf.py ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/docs/conf.py +@@ -122,7 +122,7 @@ html_theme = 'haiku' + # Add any paths that contain custom static files (such as style sheets) here, + # relative to this directory. They are copied after the builtin static files, + # so a file named "default.css" will overwrite the builtin "default.css". +-html_static_path = [] ++html_static_path = ['_static'] + + # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, + # using the given strftime format. +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/polly/docs/conf.py +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/polly/docs/conf.py ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/polly/docs/conf.py +@@ -127,7 +127,7 @@ except ImportError: + # Add any paths that contain custom static files (such as style sheets) here, + # relative to this directory. They are copied after the builtin static files, + # so a file named "default.css" will overwrite the builtin "default.css". +-html_static_path = [] ++html_static_path = ['_static'] + + # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, + # using the given strftime format. diff --git a/patches/0049-Use-Debian-provided-MathJax-everywhere.patch b/patches/0049-Use-Debian-provided-MathJax-everywhere.patch new file mode 100644 index 000000000..346973d7d --- /dev/null +++ b/patches/0049-Use-Debian-provided-MathJax-everywhere.patch @@ -0,0 +1,109 @@ +From: Nicholas D Steeves +Date: Sat, 10 Feb 2018 21:02:17 -0500 +Subject: Use Debian-provided MathJax everywhere. + +--- + clang-tools-extra/docs/Doxyfile | 2 +- + clang-tools-extra/docs/conf.py | 3 +++ + clang-tools-extra/docs/doxygen.cfg.in | 2 +- + clang/docs/analyzer/conf.py | 3 +++ + clang/docs/conf.py | 3 +++ + clang/docs/doxygen.cfg.in | 2 +- + docs/doxygen.cfg.in | 2 +- + polly/docs/doxygen.cfg.in | 2 +- + 8 files changed, 14 insertions(+), 5 deletions(-) + +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang-tools-extra/docs/conf.py +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang-tools-extra/docs/conf.py ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang-tools-extra/docs/conf.py +@@ -123,6 +123,9 @@ html_theme = 'haiku' + # so a file named "default.css" will overwrite the builtin "default.css". + html_static_path = ['_static'] + ++# Use Debian-provided MathJax ++mathjax_path = '/usr/share/javascript/mathjax/MathJax.js?config=TeX-AMS-MML_HTMLorMML' ++ + # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, + # using the given strftime format. + #html_last_updated_fmt = '%b %d, %Y' +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang-tools-extra/docs/doxygen.cfg.in +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang-tools-extra/docs/doxygen.cfg.in ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang-tools-extra/docs/doxygen.cfg.in +@@ -1443,7 +1443,7 @@ MATHJAX_FORMAT = HTML-CSS + # The default value is: http://cdn.mathjax.org/mathjax/latest. + # This tag requires that the tag USE_MATHJAX is set to YES. + +-MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest ++MATHJAX_RELPATH = /usr/share/javascript/mathjax + + # The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax + # extension names that should be enabled during MathJax rendering. For example +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/docs/analyzer/conf.py +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/docs/analyzer/conf.py ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/docs/analyzer/conf.py +@@ -123,6 +123,9 @@ html_theme = 'haiku' + # so a file named "default.css" will overwrite the builtin "default.css". + html_static_path = ['_static'] + ++# Use Debian-provided MathJax ++mathjax_path = '/usr/share/javascript/mathjax/MathJax.js?config=TeX-AMS-MML_HTMLorMML' ++ + # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, + # using the given strftime format. + #html_last_updated_fmt = '%b %d, %Y' +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/docs/conf.py +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/docs/conf.py ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/docs/conf.py +@@ -124,6 +124,9 @@ html_theme = 'haiku' + # so a file named "default.css" will overwrite the builtin "default.css". + html_static_path = ['_static'] + ++# Use Debian-provided MathJax ++mathjax_path = '/usr/share/javascript/mathjax/MathJax.js?config=TeX-AMS-MML_HTMLorMML' ++ + # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, + # using the given strftime format. + #html_last_updated_fmt = '%b %d, %Y' +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/docs/doxygen.cfg.in +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/docs/doxygen.cfg.in ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/docs/doxygen.cfg.in +@@ -1432,7 +1432,7 @@ MATHJAX_FORMAT = HTML-CSS + # The default value is: http://cdn.mathjax.org/mathjax/latest. + # This tag requires that the tag USE_MATHJAX is set to YES. + +-MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest ++MATHJAX_RELPATH = /usr/share/javascript/mathjax + + # The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax + # extension names that should be enabled during MathJax rendering. For example +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/docs/doxygen.cfg.in +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/docs/doxygen.cfg.in ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/docs/doxygen.cfg.in +@@ -1433,7 +1433,7 @@ MATHJAX_FORMAT = HTML-CSS + # The default value is: http://cdn.mathjax.org/mathjax/latest. + # This tag requires that the tag USE_MATHJAX is set to YES. + +-MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest ++MATHJAX_RELPATH = /usr/share/javascript/mathjax + + # The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax + # extension names that should be enabled during MathJax rendering. For example +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/polly/docs/doxygen.cfg.in +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/polly/docs/doxygen.cfg.in ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/polly/docs/doxygen.cfg.in +@@ -1433,7 +1433,7 @@ MATHJAX_FORMAT = HTML-CSS + # The default value is: http://cdn.mathjax.org/mathjax/latest. + # This tag requires that the tag USE_MATHJAX is set to YES. + +-MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest ++MATHJAX_RELPATH = /usr/share/javascript/mathjax + + # The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax + # extension names that should be enabled during MathJax rendering. For example diff --git a/patches/19-clang_debian_version.patch b/patches/19-clang_debian_version.patch new file mode 100644 index 000000000..ba7f098b1 --- /dev/null +++ b/patches/19-clang_debian_version.patch @@ -0,0 +1,21 @@ +Index: llvm-toolchain-snapshot_10~+201911111222550800646d927175e/clang/lib/Basic/Version.cpp +=================================================================== +--- llvm-toolchain-snapshot_10~+201911111222550800646d927175e.orig/clang/lib/Basic/Version.cpp ++++ llvm-toolchain-snapshot_10~+201911111222550800646d927175e/clang/lib/Basic/Version.cpp +@@ -14,6 +14,7 @@ + #include "clang/Basic/LLVM.h" + #include "clang/Config/config.h" + #include "llvm/Support/raw_ostream.h" ++#include "clang/Debian/debian_path.h" + #include + #include + +@@ -124,7 +125,7 @@ std::string getClangToolFullVersion(Stri + #ifdef CLANG_VENDOR + OS << CLANG_VENDOR; + #endif +- OS << ToolName << " version " CLANG_VERSION_STRING " " ++ OS << ToolName << " version " CLANG_VERSION_STRING "-" DEB_PATCHSETVERSION " " + << getClangFullRepositoryVersion(); + + return OS.str(); diff --git a/patches/23-strlcpy_strlcat_warning_removed.diff b/patches/23-strlcpy_strlcat_warning_removed.diff new file mode 100644 index 000000000..e3ca0aea5 --- /dev/null +++ b/patches/23-strlcpy_strlcat_warning_removed.diff @@ -0,0 +1,211 @@ +--- + clang/include/clang/Basic/Builtins.def | 8 +- + clang/lib/AST/Decl.cpp | 12 +-- + clang/lib/Sema/SemaChecking.cpp | 11 +- + clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp | 6 - + clang/test/Sema/builtins.c | 11 +- + clang/test/Sema/warn-strlcpycat-size.c | 55 -------------- + 6 files changed, 25 insertions(+), 78 deletions(-) + +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/include/clang/Basic/Builtins.def +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/include/clang/Basic/Builtins.def ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/include/clang/Basic/Builtins.def +@@ -546,8 +546,8 @@ BUILTIN(__builtin___memset_chk, "v*v*izz + BUILTIN(__builtin___stpcpy_chk, "c*c*cC*z", "nF") + BUILTIN(__builtin___strcat_chk, "c*c*cC*z", "nF") + BUILTIN(__builtin___strcpy_chk, "c*c*cC*z", "nF") +-BUILTIN(__builtin___strlcat_chk, "zc*cC*zz", "nF") +-BUILTIN(__builtin___strlcpy_chk, "zc*cC*zz", "nF") ++//BUILTIN(__builtin___strlcat_chk, "zc*cC*zz", "nF") ++//BUILTIN(__builtin___strlcpy_chk, "zc*cC*zz", "nF") + BUILTIN(__builtin___strncat_chk, "c*c*cC*zz", "nF") + BUILTIN(__builtin___strncpy_chk, "c*c*cC*zz", "nF") + BUILTIN(__builtin___stpncpy_chk, "c*c*cC*zz", "nF") +@@ -1011,8 +1011,8 @@ LIBBUILTIN(getcontext, "iK*", "fj", + LIBBUILTIN(_longjmp, "vJi", "fr", "setjmp.h", ALL_GNU_LANGUAGES) + LIBBUILTIN(siglongjmp, "vSJi", "fr", "setjmp.h", ALL_GNU_LANGUAGES) + // non-standard but very common +-LIBBUILTIN(strlcpy, "zc*cC*z", "f", "string.h", ALL_GNU_LANGUAGES) +-LIBBUILTIN(strlcat, "zc*cC*z", "f", "string.h", ALL_GNU_LANGUAGES) ++//LIBBUILTIN(strlcpy, "zc*cC*z", "f", "string.h", ALL_GNU_LANGUAGES) ++//LIBBUILTIN(strlcat, "zc*cC*z", "f", "string.h", ALL_GNU_LANGUAGES) + // id objc_msgSend(id, SEL, ...) + LIBBUILTIN(objc_msgSend, "GGH.", "f", "objc/message.h", OBJC_LANG) + // long double objc_msgSend_fpret(id self, SEL op, ...) +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/AST/Decl.cpp +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/lib/AST/Decl.cpp ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/AST/Decl.cpp +@@ -3817,13 +3817,13 @@ unsigned FunctionDecl::getMemoryFunction + case Builtin::BImemmove: + return Builtin::BImemmove; + +- case Builtin::BIstrlcpy: +- case Builtin::BI__builtin___strlcpy_chk: +- return Builtin::BIstrlcpy; ++// case Builtin::BIstrlcpy: ++// case Builtin::BI__builtin___strlcpy_chk: ++// return Builtin::BIstrlcpy; + +- case Builtin::BIstrlcat: +- case Builtin::BI__builtin___strlcat_chk: +- return Builtin::BIstrlcat; ++// case Builtin::BIstrlcat: ++// case Builtin::BI__builtin___strlcat_chk: ++// return Builtin::BIstrlcat; + + case Builtin::BI__builtin_memcmp: + case Builtin::BImemcmp: +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Sema/SemaChecking.cpp +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/lib/Sema/SemaChecking.cpp ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Sema/SemaChecking.cpp +@@ -335,8 +335,8 @@ void Sema::checkFortifiedBuiltinMemoryFu + case Builtin::BI__builtin___memcpy_chk: + case Builtin::BI__builtin___memmove_chk: + case Builtin::BI__builtin___memset_chk: +- case Builtin::BI__builtin___strlcat_chk: +- case Builtin::BI__builtin___strlcpy_chk: ++// case Builtin::BI__builtin___strlcat_chk: ++// case Builtin::BI__builtin___strlcpy_chk: + case Builtin::BI__builtin___strncat_chk: + case Builtin::BI__builtin___strncpy_chk: + case Builtin::BI__builtin___stpncpy_chk: +@@ -4404,9 +4404,10 @@ bool Sema::CheckFunctionCall(FunctionDec + return false; + + // Handle memory setting and copying functions. +- if (CMId == Builtin::BIstrlcpy || CMId == Builtin::BIstrlcat) +- CheckStrlcpycatArguments(TheCall, FnInfo); +- else if (CMId == Builtin::BIstrncat) ++// if (CMId == Builtin::BIstrlcpy || CMId == Builtin::BIstrlcat) ++// CheckStrlcpycatArguments(TheCall, FnInfo); ++// else ++ if (CMId == Builtin::BIstrncat) + CheckStrncatArguments(TheCall, FnInfo); + else + CheckMemaccessArguments(TheCall, CMId, FnInfo); +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp +@@ -398,9 +398,9 @@ GenericTaintChecker::TaintPropagationRul + case Builtin::BIstrncpy: + case Builtin::BIstrncat: + return TaintPropagationRule({1, 2}, {0, ReturnValueIndex}); +- case Builtin::BIstrlcpy: +- case Builtin::BIstrlcat: +- return TaintPropagationRule({1, 2}, {0}); ++// case Builtin::BIstrlcpy: ++// case Builtin::BIstrlcat: ++// return TaintPropagationRule({1, 2}, {0}); + case Builtin::BIstrndup: + return TaintPropagationRule({0, 1}, {ReturnValueIndex}); + +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/test/Sema/builtins.c +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/test/Sema/builtins.c ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/test/Sema/builtins.c +@@ -199,11 +199,9 @@ void test18() { + + ptr = __builtin___memccpy_chk(dst, src, '\037', sizeof(src), sizeof(dst)); + result = __builtin___strlcpy_chk(dst, src, sizeof(dst), sizeof(dst)); +- result = __builtin___strlcat_chk(dst, src, sizeof(dst), sizeof(dst)); + + ptr = __builtin___memccpy_chk(dst, src, '\037', sizeof(src)); // expected-error {{too few arguments to function call}} + ptr = __builtin___strlcpy_chk(dst, src, sizeof(dst), sizeof(dst)); // expected-warning {{incompatible integer to pointer conversion}} +- ptr = __builtin___strlcat_chk(dst, src, sizeof(dst), sizeof(dst)); // expected-warning {{incompatible integer to pointer conversion}} + } + + void no_ms_builtins() { +@@ -217,29 +215,6 @@ void unavailable() { + __builtin_operator_delete(0); // expected-error {{'__builtin_operator_delete' is only available in C++}} + } + +-// rdar://18259539 +-size_t strlcpy(char * restrict dst, const char * restrict src, size_t size); +-size_t strlcat(char * restrict dst, const char * restrict src, size_t size); +- +-void Test19(void) +-{ +- static char b[40]; +- static char buf[20]; +- +- strlcpy(buf, b, sizeof(b)); // expected-warning {{size argument in 'strlcpy' call appears to be size of the source; expected the size of the destination}} \\ +- // expected-note {{change size argument to be the size of the destination}} +- __builtin___strlcpy_chk(buf, b, sizeof(b), __builtin_object_size(buf, 0)); // expected-warning {{size argument in '__builtin___strlcpy_chk' call appears to be size of the source; expected the size of the destination}} \ +- // expected-note {{change size argument to be the size of the destination}} \ +- // expected-warning {{'strlcpy' will always overflow; destination buffer has size 20, but size argument is 40}} +- +- strlcat(buf, b, sizeof(b)); // expected-warning {{size argument in 'strlcat' call appears to be size of the source; expected the size of the destination}} \ +- // expected-note {{change size argument to be the size of the destination}} +- +- __builtin___strlcat_chk(buf, b, sizeof(b), __builtin_object_size(buf, 0)); // expected-warning {{size argument in '__builtin___strlcat_chk' call appears to be size of the source; expected the size of the destination}} \ +- // expected-note {{change size argument to be the size of the destination}} \ +- // expected-warning {{'strlcat' will always overflow; destination buffer has size 20, but size argument is 40}} +-} +- + // rdar://11076881 + char * Test20(char *p, const char *in, unsigned n) + { +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/test/Sema/warn-strlcpycat-size.c +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/test/Sema/warn-strlcpycat-size.c ++++ /dev/null +@@ -1,55 +0,0 @@ +-// RUN: %clang_cc1 -Wstrlcpy-strlcat-size -verify -fsyntax-only %s +- +-typedef __SIZE_TYPE__ size_t; +-size_t strlcpy (char * restrict dst, const char * restrict src, size_t size); +-size_t strlcat (char * restrict dst, const char * restrict src, size_t size); +-size_t strlen (const char *s); +- +-char s1[100]; +-char s2[200]; +-char * s3; +- +-struct { +- char f1[100]; +- char f2[100][3]; +-} s4, **s5; +- +-int x; +- +-void f(void) +-{ +- strlcpy(s1, s2, sizeof(s1)); // no warning +- strlcpy(s1, s2, sizeof(s2)); // expected-warning {{size argument in 'strlcpy' call appears to be size of the source; expected the size of the destination}} expected-note {{change size argument to be the size of the destination}} +- strlcpy(s1, s3, strlen(s3)+1); // expected-warning {{size argument in 'strlcpy' call appears to be size of the source; expected the size of the destination}} expected-note {{change size argument to be the size of the destination}} +- strlcat(s2, s3, sizeof(s3)); // expected-warning {{size argument in 'strlcat' call appears to be size of the source; expected the size of the destination}} expected-note {{change size argument to be the size of the destination}} +- strlcpy(s4.f1, s2, sizeof(s2)); // expected-warning {{size argument in 'strlcpy' call appears to be size of the source; expected the size of the destination}} expected-note {{change size argument to be the size of the destination}} +- strlcpy((*s5)->f2[x], s2, sizeof(s2)); // expected-warning {{size argument in 'strlcpy' call appears to be size of the source; expected the size of the destination}} expected-note {{change size argument to be the size of the destination}} +- strlcpy(s1+3, s2, sizeof(s2)); // expected-warning {{size argument in 'strlcpy' call appears to be size of the source; expected the size of the destination}} +-} +- +-// Don't issue FIXIT for flexible arrays. +-struct S { +- int y; +- char x[]; +-}; +- +-void flexible_arrays(struct S *s) { +- char str[] = "hi"; +- strlcpy(s->x, str, sizeof(str)); // expected-warning {{size argument in 'strlcpy' call appears to be size of the source; expected the size of the destination}} +-} +- +-// Don't issue FIXIT for destinations of size 1. +-void size_1() { +- char z[1]; +- char str[] = "hi"; +- +- strlcpy(z, str, sizeof(str)); // expected-warning {{size argument in 'strlcpy' call appears to be size of the source; expected the size of the destination}} +-} +- +-// Support VLAs. +-void vlas(int size) { +- char z[size]; +- char str[] = "hi"; +- +- strlcpy(z, str, sizeof(str)); // expected-warning {{size argument in 'strlcpy' call appears to be size of the source; expected the size of the destination}} expected-note {{change size argument to be the size of the destination}} +-} diff --git a/patches/26-set-correct-float-abi.diff b/patches/26-set-correct-float-abi.diff new file mode 100644 index 000000000..66f0bf0a6 --- /dev/null +++ b/patches/26-set-correct-float-abi.diff @@ -0,0 +1,33 @@ +Description: set correct float abi settings for armel and armhf + debian armel supports systems that don't have a fpu so should use a "float abi" + setting of soft by default. + + Debian armhf needs a float abi setting of "hard" +Author: Peter Michael Green + +--- +The information above should follow the Patch Tagging Guidelines, please +checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here +are templates for supplementary fields that you might want to add: + +Origin: , +Bug: +Bug-Debian: http://bugs.debian.org/ +Bug-Ubuntu: https://launchpad.net/bugs/ +Forwarded: +Reviewed-By: +Last-Update: + +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/ToolChains/Arch/ARM.cpp +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/lib/Driver/ToolChains/Arch/ARM.cpp ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/ToolChains/Arch/ARM.cpp +@@ -250,7 +250,7 @@ arm::FloatABI arm::getARMFloatABI(const + case llvm::Triple::MuslEABI: + case llvm::Triple::EABI: + // EABI is always AAPCS, and if it was not marked 'hard', it's softfp +- ABI = FloatABI::SoftFP; ++ ABI = FloatABI::Soft; + break; + case llvm::Triple::Android: + ABI = (SubArch >= 7) ? FloatABI::SoftFP : FloatABI::Soft; diff --git a/patches/930008-arm.diff b/patches/930008-arm.diff new file mode 100644 index 000000000..4fe5dbbac --- /dev/null +++ b/patches/930008-arm.diff @@ -0,0 +1,13 @@ +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/lib/Support/Triple.cpp +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/lib/Support/Triple.cpp ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/lib/Support/Triple.cpp +@@ -1646,7 +1646,7 @@ StringRef Triple::getARMCPUForArch(Strin + case llvm::Triple::EABIHF: + case llvm::Triple::GNUEABIHF: + case llvm::Triple::MuslEABIHF: +- return "arm1176jzf-s"; ++ return "cortex-a7"; + default: + return "arm7tdmi"; + } diff --git a/patches/D67877.patch b/patches/D67877.patch new file mode 100644 index 000000000..8a844108b --- /dev/null +++ b/patches/D67877.patch @@ -0,0 +1,38 @@ +Origin: https://reviews.llvm.org/D67877 +Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=941082 + +Index: llvm-toolchain-snapshot_10~+20191115103341+caf3166d40f/clang/lib/Analysis/plugins/CMakeLists.txt +=================================================================== +--- llvm-toolchain-snapshot_10~+20191115103341+caf3166d40f.orig/clang/lib/Analysis/plugins/CMakeLists.txt ++++ llvm-toolchain-snapshot_10~+20191115103341+caf3166d40f/clang/lib/Analysis/plugins/CMakeLists.txt +@@ -1,4 +1,4 @@ +-if(CLANG_ENABLE_STATIC_ANALYZER AND LLVM_ENABLE_PLUGINS) ++if(CLANG_ENABLE_STATIC_ANALYZER AND LLVM_ENABLE_PLUGINS AND CLANG_BUILD_EXAMPLES) + add_subdirectory(SampleAnalyzer) + add_subdirectory(CheckerDependencyHandling) + add_subdirectory(CheckerOptionHandling) +Index: llvm-toolchain-snapshot_10~+20191115103341+caf3166d40f/clang/test/CMakeLists.txt +=================================================================== +--- llvm-toolchain-snapshot_10~+20191115103341+caf3166d40f.orig/clang/test/CMakeLists.txt ++++ llvm-toolchain-snapshot_10~+20191115103341+caf3166d40f/clang/test/CMakeLists.txt +@@ -126,14 +126,12 @@ if( NOT CLANG_BUILT_STANDALONE ) + endif() + endif() + +-if (CLANG_ENABLE_STATIC_ANALYZER) +- if (LLVM_ENABLE_PLUGINS) +- list(APPEND CLANG_TEST_DEPS +- SampleAnalyzerPlugin +- CheckerDependencyHandlingAnalyzerPlugin +- CheckerOptionHandlingAnalyzerPlugin +- ) +- endif() ++if (CLANG_ENABLE_STATIC_ANALYZER AND CLANG_BUILD_EXAMPLES AND LLVM_ENABLE_PLUGINS) ++ list(APPEND CLANG_TEST_DEPS ++ SampleAnalyzerPlugin ++ CheckerDependencyHandlingAnalyzerPlugin ++ CheckerOptionHandlingAnalyzerPlugin ++ ) + endif() + + # Copy gen_ast_dump_json_test.py to the clang build dir. This allows invoking diff --git a/patches/atomic_library_1.diff b/patches/atomic_library_1.diff new file mode 100644 index 000000000..bbece316b --- /dev/null +++ b/patches/atomic_library_1.diff @@ -0,0 +1,25 @@ +--- + clang/lib/Basic/Targets.cpp | 14 ++++++++++++++ + clang/test/CodeGen/linux-arm-atomic.c | 10 ++++++++++ + 2 files changed, 24 insertions(+) + +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/test/CodeGen/linux-arm-atomic.c +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/test/CodeGen/linux-arm-atomic.c ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/test/CodeGen/linux-arm-atomic.c +@@ -1,5 +1,15 @@ + // RUN: %clang_cc1 %s -emit-llvm -o - -triple=armv7-unknown-linux | FileCheck %s + // RUN: %clang_cc1 %s -emit-llvm -o - -triple=armv6-unknown-linux | FileCheck %s ++ ++typedef int _Atomic_word; ++_Atomic_word exchange_and_add(volatile _Atomic_word *__mem, int __val) { ++ return __atomic_fetch_add(__mem, __val, __ATOMIC_ACQ_REL); ++} ++ ++// CHECK: define {{.*}} @exchange_and_add ++// CHECK: atomicrmw {{.*}} add ++// RUN: %clang_cc1 %s -emit-llvm -o - -triple=armv7-unknown-linux | FileCheck %s ++// RUN: %clang_cc1 %s -emit-llvm -o - -triple=armv6-unknown-linux | FileCheck %s + // RUN: %clang_cc1 %s -emit-llvm -o - -triple=thumbv7-unknown-linux | FileCheck %s + // RUN: %clang_cc1 %s -emit-llvm -o - -triple=armv6-unknown-freebsd | FileCheck %s + diff --git a/patches/bootstrap-fix-include-next.diff b/patches/bootstrap-fix-include-next.diff new file mode 100644 index 000000000..0d02d8738 --- /dev/null +++ b/patches/bootstrap-fix-include-next.diff @@ -0,0 +1,41 @@ +When doing a bootstrap, we use a newly built clang. +When this one is used, if already installed on the system, +we have clang header in two places: +llvm-toolchain-7-7/build-llvm/lib/clang/7.0.0/include/inttypes.h +and +/usr/include/clang/7.0.0/include/inttypes.h + +Because clang expects only one of his headers to be available, it uses +include_next to get the glibc (libc6-dev package) header. + +However, in the previous example, because we have inttypes.h twice in the +include search path, clang's header will call itself without any effect. +Therefore, it will do include_next until the define from the libc is existing (ex: _INTTYPES_H) + + +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Headers/inttypes.h +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/lib/Headers/inttypes.h ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Headers/inttypes.h +@@ -6,7 +6,7 @@ + * + \*===----------------------------------------------------------------------===*/ + +-#ifndef __CLANG_INTTYPES_H ++#if !defined(__CLANG_INTTYPES_H) || !defined(_INTTYPES_H) + // AIX system headers need inttypes.h to be re-enterable while _STD_TYPES_T + // is defined until an inclusion of it without _STD_TYPES_T occurs, in which + // case the header guard macro is defined. +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Headers/limits.h +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/lib/Headers/limits.h ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Headers/limits.h +@@ -6,7 +6,7 @@ + * + \*===----------------------------------------------------------------------===*/ + +-#ifndef __CLANG_LIMITS_H ++#if !defined(__CLANG_LIMITS_H) || !defined(_LIBC_LIMITS_H_) + #define __CLANG_LIMITS_H + + /* The system's limits.h may, in turn, try to #include_next GCC's limits.h. diff --git a/patches/clang-analyzer-force-version.diff b/patches/clang-analyzer-force-version.diff new file mode 100644 index 000000000..592e35a06 --- /dev/null +++ b/patches/clang-analyzer-force-version.diff @@ -0,0 +1,25 @@ +# Force the version of clang in the analyzer +# This was causing the static analyzer to fail silently if the clang & clang++ are +# not installed +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/tools/scan-build/libexec/ccc-analyzer +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/tools/scan-build/libexec/ccc-analyzer ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/tools/scan-build/libexec/ccc-analyzer +@@ -90,7 +90,7 @@ if ($FindBin::Script =~ /c\+\+-analyzer/ + if (!defined $Compiler || (! -x $Compiler && ! SearchInPath($Compiler))) { $Compiler = $DefaultCXXCompiler; } + + $Clang = $ENV{'CLANG_CXX'}; +- if (!defined $Clang || ! -x $Clang) { $Clang = 'clang++'; } ++ if (!defined $Clang || ! -x $Clang) { $Clang = 'clang++-10'; } + + $IsCXX = 1 + } +@@ -99,7 +99,7 @@ else { + if (!defined $Compiler || (! -x $Compiler && ! SearchInPath($Compiler))) { $Compiler = $DefaultCCompiler; } + + $Clang = $ENV{'CLANG'}; +- if (!defined $Clang || ! -x $Clang) { $Clang = 'clang'; } ++ if (!defined $Clang || ! -x $Clang) { $Clang = 'clang-10'; } + + $IsCXX = 0 + } diff --git a/patches/clang-arm-default-vfp3-on-armv7a.patch b/patches/clang-arm-default-vfp3-on-armv7a.patch new file mode 100644 index 000000000..9e7fd4e57 --- /dev/null +++ b/patches/clang-arm-default-vfp3-on-armv7a.patch @@ -0,0 +1,27 @@ +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/include/llvm/Support/ARMTargetParser.def +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/include/llvm/Support/ARMTargetParser.def ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/include/llvm/Support/ARMTargetParser.def +@@ -76,7 +76,7 @@ ARM_ARCH("armv6kz", ARMV6KZ, "6KZ", "v6k + ARM_ARCH("armv6-m", ARMV6M, "6-M", "v6m", ARMBuildAttrs::CPUArch::v6_M, + FK_NONE, ARM::AEK_NONE) + ARM_ARCH("armv7-a", ARMV7A, "7-A", "v7", ARMBuildAttrs::CPUArch::v7, +- FK_NEON, ARM::AEK_DSP) ++ FK_VFPV3_D16 /* Hard float */, ARM::AEK_DSP) + ARM_ARCH("armv7ve", ARMV7VE, "7VE", "v7ve", ARMBuildAttrs::CPUArch::v7, + FK_NEON, (ARM::AEK_SEC | ARM::AEK_MP | ARM::AEK_VIRT | + ARM::AEK_HWDIVARM | ARM::AEK_HWDIVTHUMB | ARM::AEK_DSP)) +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/lib/Target/ARM/ARM.td +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/lib/Target/ARM/ARM.td ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/lib/Target/ARM/ARM.td +@@ -673,7 +673,8 @@ def ARMv6sm : Architecture<"armv6s-m", + FeatureStrictAlign]>; + + def ARMv7a : Architecture<"armv7-a", "ARMv7a", [HasV7Ops, +- FeatureNEON, ++ FeatureVFP3, ++ FeatureVFP3_D16, + FeatureDB, + FeatureDSP, + FeatureAClass]>; diff --git a/patches/clang-baseline-fix-i386.patch b/patches/clang-baseline-fix-i386.patch new file mode 100644 index 000000000..e1cb9d5eb --- /dev/null +++ b/patches/clang-baseline-fix-i386.patch @@ -0,0 +1,15 @@ +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/ToolChains/Arch/X86.cpp +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/lib/Driver/ToolChains/Arch/X86.cpp ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/ToolChains/Arch/X86.cpp +@@ -101,8 +101,8 @@ const char *x86::getX86TargetCPU(const A + case llvm::Triple::Haiku: + return "i586"; + default: +- // Fallback to p4. +- return "pentium4"; ++ // Fallback to i686. ++ return "i686"; + } + } + diff --git a/patches/clang-format-version.diff b/patches/clang-format-version.diff new file mode 100644 index 000000000..ef089e31b --- /dev/null +++ b/patches/clang-format-version.diff @@ -0,0 +1,45 @@ +--- + clang/tools/clang-format/clang-format-diff.py | 2 +- + clang/tools/clang-format/clang-format.el | 2 +- + clang/tools/clang-format/clang-format.py | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/tools/clang-format/clang-format-diff.py +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/tools/clang-format/clang-format-diff.py ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/tools/clang-format/clang-format-diff.py +@@ -54,7 +54,7 @@ def main(): + parser.add_argument('-style', + help='formatting style to apply (LLVM, Google, Chromium, ' + 'Mozilla, WebKit)') +- parser.add_argument('-binary', default='clang-format', ++ parser.add_argument('-binary', default='clang-format-10', + help='location of binary to use for clang-format') + args = parser.parse_args() + +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/tools/clang-format/clang-format.el +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/tools/clang-format/clang-format.el ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/tools/clang-format/clang-format.el +@@ -37,7 +37,7 @@ + :group 'tools) + + (defcustom clang-format-executable +- (or (executable-find "clang-format") ++ (or (executable-find "clang-format-10") + "clang-format") + "Location of the clang-format executable. + +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/tools/clang-format/clang-format.py +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/tools/clang-format/clang-format.py ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/tools/clang-format/clang-format.py +@@ -36,7 +36,7 @@ import vim + + # set g:clang_format_path to the path to clang-format if it is not on the path + # Change this to the full path if clang-format is not on the path. +-binary = 'clang-format' ++binary = 'clang-format-10' + if vim.eval('exists("g:clang_format_path")') == "1": + binary = vim.eval('g:clang_format_path') + diff --git a/patches/clang-tidy-run-bin.diff b/patches/clang-tidy-run-bin.diff new file mode 100644 index 000000000..024ce8678 --- /dev/null +++ b/patches/clang-tidy-run-bin.diff @@ -0,0 +1,17 @@ +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py +@@ -180,10 +180,10 @@ def main(): + 'clang-tidy and clang-apply-replacements in ' + '$PATH.') + parser.add_argument('-clang-tidy-binary', metavar='PATH', +- default='clang-tidy', ++ default='clang-tidy-10', + help='path to clang-tidy binary') + parser.add_argument('-clang-apply-replacements-binary', metavar='PATH', +- default='clang-apply-replacements', ++ default='clang-apply-replacements-10', + help='path to clang-apply-replacements binary') + parser.add_argument('-checks', default=None, + help='checks filter, when not specified, use clang-tidy ' diff --git a/patches/clang_vendor_pass_stage2.diff b/patches/clang_vendor_pass_stage2.diff new file mode 100644 index 000000000..80b8cb0b3 --- /dev/null +++ b/patches/clang_vendor_pass_stage2.diff @@ -0,0 +1,20 @@ +commit ca467542eecfc621eea7fefb3c7e3849c6b43ac7 +Author: Sylvestre Ledru +Date: Fri May 29 09:13:08 2020 +0200 + + [CMake] Pass CLANG_VENDOR variables into later stages + + We are already passing CLANG_VERSION_* & PACKAGE_VENDOR + +diff --git a/clang/CMakeLists.txt b/clang/CMakeLists.txt +index 7dadc5f6e91..5a5e34aacbe 100644 +--- a/clang/CMakeLists.txt ++++ b/clang/CMakeLists.txt +@@ -711,6 +711,7 @@ if (CLANG_ENABLE_BOOTSTRAP) + CLANG_VERSION_MAJOR + CLANG_VERSION_MINOR + CLANG_VERSION_PATCHLEVEL ++ CLANG_VENDOR + LLVM_VERSION_SUFFIX + LLVM_BINUTILS_INCDIR + CLANG_REPOSITORY_STRING diff --git a/patches/clangd-atomic-cmake.patch b/patches/clangd-atomic-cmake.patch new file mode 100644 index 000000000..20426512b --- /dev/null +++ b/patches/clangd-atomic-cmake.patch @@ -0,0 +1,16 @@ +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang-tools-extra/clangd/CMakeLists.txt +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang-tools-extra/clangd/CMakeLists.txt ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang-tools-extra/clangd/CMakeLists.txt +@@ -34,6 +34,11 @@ if(NOT HAVE_CXX_ATOMICS64_WITHOUT_LIB) + list(APPEND CLANGD_ATOMIC_LIB "atomic") + endif() + ++if(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "i386" OR ++ CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "i686") ++ list(APPEND CLANGD_ATOMIC_LIB "atomic") ++endif() ++ + add_clang_library(clangDaemon + AST.cpp + Cancellation.cpp diff --git a/patches/debug-jit-path.diff b/patches/debug-jit-path.diff new file mode 100644 index 000000000..035d2037e --- /dev/null +++ b/patches/debug-jit-path.diff @@ -0,0 +1,15 @@ +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/lib/ExecutionEngine/PerfJITEvents/PerfJITEventListener.cpp +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/lib/ExecutionEngine/PerfJITEvents/PerfJITEventListener.cpp ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/lib/ExecutionEngine/PerfJITEvents/PerfJITEventListener.cpp +@@ -300,8 +300,8 @@ bool PerfJITEventListener::InitDebugging + // search for location to dump data to + if (const char *BaseDir = getenv("JITDUMPDIR")) + Path.append(BaseDir); +- else if (!sys::path::home_directory(Path)) +- Path = "."; ++ else ++ sys::path::system_temp_directory(/*ErasedOnReboot*/ true, Path); + + // create debug directory + Path += "/.debug/jit/"; diff --git a/patches/declare_clear_cache.diff b/patches/declare_clear_cache.diff new file mode 100644 index 000000000..770048ed3 --- /dev/null +++ b/patches/declare_clear_cache.diff @@ -0,0 +1,17 @@ +--- + lib/Support/Unix/Memory.inc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/lib/Support/Unix/Memory.inc +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/lib/Support/Unix/Memory.inc ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/lib/Support/Unix/Memory.inc +@@ -256,7 +256,7 @@ void Memory::InvalidateInstructionCache( + // FIXME: Can we safely always call this for __GNUC__ everywhere? + const char *Start = static_cast(Addr); + const char *End = Start + Len; +- __clear_cache(const_cast(Start), const_cast(End)); ++ __builtin___clear_cache(const_cast(Start), const_cast(End)); + # endif + + #endif // end apple diff --git a/patches/disable-display-PASS-UNSUPPORTED-XFAIL.diff b/patches/disable-display-PASS-UNSUPPORTED-XFAIL.diff new file mode 100644 index 000000000..90994b6d2 --- /dev/null +++ b/patches/disable-display-PASS-UNSUPPORTED-XFAIL.diff @@ -0,0 +1,17 @@ +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/lldb/third_party/Python/module/unittest2/unittest2/runner.py +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/lldb/third_party/Python/module/unittest2/unittest2/runner.py ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/lldb/third_party/Python/module/unittest2/unittest2/runner.py +@@ -174,9 +174,9 @@ class TextTestRunner(unittest.TextTestRu + if hasattr(result, 'separator2'): + self.stream.writeln(result.separator2) + run = result.testsRun +- self.stream.writeln("Ran %d test%s in %.3fs" % +- (run, run != 1 and "s" or "", timeTaken)) +- self.stream.writeln() ++# self.stream.writeln("Ran %d test%s in %.3fs" % ++# (run, run != 1 and "s" or "", timeTaken)) ++# self.stream.writeln() + + expectedFails = unexpectedSuccesses = skipped = passed = failed = errored = 0 + try: diff --git a/patches/disable-error-xray.diff b/patches/disable-error-xray.diff new file mode 100644 index 000000000..5ef146088 --- /dev/null +++ b/patches/disable-error-xray.diff @@ -0,0 +1,13 @@ +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/xray/xray_tsc.h +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/compiler-rt/lib/xray/xray_tsc.h ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/xray/xray_tsc.h +@@ -82,8 +82,6 @@ inline uint64_t getTSCFrequency() XRAY_N + + } // namespace __xray + +-#else +-#error Target architecture is not supported. + #endif // CPU architecture + #endif // SANITIZER_FUCHSIA + diff --git a/patches/disable-fuzzer-compiler-rt-x86.diff b/patches/disable-fuzzer-compiler-rt-x86.diff new file mode 100644 index 000000000..4f0c97b3c --- /dev/null +++ b/patches/disable-fuzzer-compiler-rt-x86.diff @@ -0,0 +1,30 @@ +Index: llvm-toolchain-10-10.0.0~+rc2/compiler-rt/lib/CMakeLists.txt +=================================================================== +--- llvm-toolchain-10-10.0.0~+rc2.orig/compiler-rt/lib/CMakeLists.txt ++++ llvm-toolchain-10-10.0.0~+rc2/compiler-rt/lib/CMakeLists.txt +@@ -57,5 +57,8 @@ if(COMPILER_RT_BUILD_XRAY) + endif() + + if(COMPILER_RT_BUILD_LIBFUZZER) +- compiler_rt_build_runtime(fuzzer) ++ if(NOT(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "i386" OR CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "i686")) ++ # Disabled because of https://bugs.llvm.org/show_bug.cgi?id=43677 ++ compiler_rt_build_runtime(fuzzer) ++ endif() + endif() +Index: llvm-toolchain-10-10.0.0~+rc2/compiler-rt/test/CMakeLists.txt +=================================================================== +--- llvm-toolchain-10-10.0.0~+rc2.orig/compiler-rt/test/CMakeLists.txt ++++ llvm-toolchain-10-10.0.0~+rc2/compiler-rt/test/CMakeLists.txt +@@ -55,7 +55,10 @@ if(COMPILER_RT_CAN_EXECUTE_TESTS) + + # OpenBSD not supporting asan, cannot run the tests + if(COMPILER_RT_BUILD_LIBFUZZER AND NOT "${CMAKE_SYSTEM_NAME}" STREQUAL "OpenBSD" AND NOT ANDROID) +- compiler_rt_test_runtime(fuzzer) ++ if(NOT(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "i386" OR CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "i686")) ++ # Disabled because of https://bugs.llvm.org/show_bug.cgi?id=43677 ++ compiler_rt_test_runtime(fuzzer) ++ endif() + endif() + + foreach(sanitizer ${COMPILER_RT_SANITIZERS_TO_BUILD}) diff --git a/patches/disable-lit-cpuid-install.diff b/patches/disable-lit-cpuid-install.diff new file mode 100644 index 000000000..9a4f7312f --- /dev/null +++ b/patches/disable-lit-cpuid-install.diff @@ -0,0 +1,10 @@ +Index: llvm-toolchain-9-9/lldb/utils/lit-cpuid/CMakeLists.txt +=================================================================== +--- llvm-toolchain-9-9.orig/lldb/utils/lit-cpuid/CMakeLists.txt ++++ llvm-toolchain-9-9/lldb/utils/lit-cpuid/CMakeLists.txt +@@ -1,4 +1,4 @@ +-add_llvm_utility(lit-cpuid ++add_lldb_executable(lit-cpuid + lit-cpuid.cpp + ) + diff --git a/patches/disable-llvm-symbolizer-test.diff b/patches/disable-llvm-symbolizer-test.diff new file mode 100644 index 000000000..aa800ea9a --- /dev/null +++ b/patches/disable-llvm-symbolizer-test.diff @@ -0,0 +1,25 @@ +Description: Silent a test failing on yakkety amd64 + /tmp/buildd/llvm-toolchain-snapshot-4.0~svn279801/llvm/test/tools/llvm-symbolizer/print_context.c:16:11: error: expected string not found in input + // CHECK: inc + ^ + :1:1: note: scanning from here + _fini + ^ + :1:3: note: possible intended match here + _fini + ^ +Author: Sylvestre +Last-Update: 2016-08-26 + +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/tools/llvm-symbolizer/print_context.c +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/test/tools/llvm-symbolizer/print_context.c ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/tools/llvm-symbolizer/print_context.c +@@ -18,6 +18,7 @@ int main() { + // Inputs/print_context.o built with plain -g -c from this source file + // Specifying -Xclang -fdebug-compilation-dir -Xclang . to make the debug info + // location independent. ++// XFAIL: * + + // CHECK: inc + // CHECK: print_context.c:3 diff --git a/patches/disable-path-test-failing.diff b/patches/disable-path-test-failing.diff new file mode 100644 index 000000000..831211ea3 --- /dev/null +++ b/patches/disable-path-test-failing.diff @@ -0,0 +1,29 @@ +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/unittests/Support/Path.cpp +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/unittests/Support/Path.cpp ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/unittests/Support/Path.cpp +@@ -447,7 +447,7 @@ protected: + sys::path::append(NonExistantFile, "1B28B495C16344CB9822E588CD4C3EF0"); + } + +- void TearDown() override { ASSERT_NO_ERROR(fs::remove(TestDirectory.str())); } ++// void TearDown() override { ASSERT_NO_ERROR(fs::remove(TestDirectory.str())); } + }; + + TEST_F(FileSystemTest, Unique) { +@@ -529,13 +529,13 @@ TEST_F(FileSystemTest, RealPath) { + + // This can fail if $HOME is not set and getpwuid fails. + bool Result = llvm::sys::path::home_directory(HomeDir); +- if (Result) { ++/* if (Result) { + ASSERT_NO_ERROR(fs::real_path(HomeDir, Expected)); + ASSERT_NO_ERROR(fs::real_path("~", Actual, true)); + EXPECT_EQ(Expected, Actual); + ASSERT_NO_ERROR(fs::real_path("~/", Actual, true)); + EXPECT_EQ(Expected, Actual); +- } ++ }*/ + + ASSERT_NO_ERROR(fs::remove_directories(Twine(TestDirectory) + "/test1")); + } diff --git a/patches/disable-sse2-old-x86.diff b/patches/disable-sse2-old-x86.diff new file mode 100644 index 000000000..9a0f19cb2 --- /dev/null +++ b/patches/disable-sse2-old-x86.diff @@ -0,0 +1,13 @@ +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/include/clang/Basic/X86Target.def +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/include/clang/Basic/X86Target.def ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/include/clang/Basic/X86Target.def +@@ -312,7 +312,7 @@ CPU_SPECIFIC("pentium_mmx", 'D', "+mmx") + CPU_SPECIFIC("pentium_ii", 'E', "+cmov,+mmx") + CPU_SPECIFIC("pentium_iii", 'H', "+cmov,+mmx,+sse") + CPU_SPECIFIC_ALIAS("pentium_iii_no_xmm_regs", "pentium_iii") +-CPU_SPECIFIC("pentium_4", 'J', "+cmov,+mmx,+sse,+sse2") ++CPU_SPECIFIC("pentium_4", 'J', "+cmov,+mmx,+sse") + CPU_SPECIFIC("pentium_m", 'K', "+cmov,+mmx,+sse,+sse2") + CPU_SPECIFIC("pentium_4_sse3", 'L', "+cmov,+mmx,+sse,+sse2,+sse3") + CPU_SPECIFIC("core_2_duo_ssse3", 'M', "+cmov,+mmx,+sse,+sse2,+sse3,+ssse3") diff --git a/patches/do-not-fail-on-unexpected-pass.diff b/patches/do-not-fail-on-unexpected-pass.diff new file mode 100644 index 000000000..264a2a769 --- /dev/null +++ b/patches/do-not-fail-on-unexpected-pass.diff @@ -0,0 +1,13 @@ +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/utils/lit/lit/Test.py +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/utils/lit/lit/Test.py ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/utils/lit/lit/Test.py +@@ -32,7 +32,7 @@ PASS = ResultCode('PASS', False) + FLAKYPASS = ResultCode('FLAKYPASS', False) + XFAIL = ResultCode('XFAIL', False) + FAIL = ResultCode('FAIL', True) +-XPASS = ResultCode('XPASS', True) ++XPASS = ResultCode('XPASS', False) + UNRESOLVED = ResultCode('UNRESOLVED', True) + UNSUPPORTED = ResultCode('UNSUPPORTED', False) + TIMEOUT = ResultCode('TIMEOUT', True) diff --git a/patches/fix-clang-path-and-build.diff b/patches/fix-clang-path-and-build.diff new file mode 100644 index 000000000..e2531a989 --- /dev/null +++ b/patches/fix-clang-path-and-build.diff @@ -0,0 +1,33 @@ +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/ToolChains/Linux.cpp +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/lib/Driver/ToolChains/Linux.cpp ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/ToolChains/Linux.cpp +@@ -12,6 +12,7 @@ + #include "Arch/PPC.h" + #include "Arch/RISCV.h" + #include "CommonArgs.h" ++#include "clang/Basic/Version.h" + #include "clang/Config/config.h" + #include "clang/Driver/Distro.h" + #include "clang/Driver/Driver.h" +@@ -661,8 +662,18 @@ void Linux::AddClangSystemIncludeArgs(co + SmallString<128> ResourceDirInclude(D.ResourceDir); + llvm::sys::path::append(ResourceDirInclude, "include"); + if (!DriverArgs.hasArg(options::OPT_nobuiltininc) && +- (!getTriple().isMusl() || DriverArgs.hasArg(options::OPT_nostdlibinc))) +- addSystemInclude(DriverArgs, CC1Args, ResourceDirInclude); ++ (!getTriple().isMusl() || DriverArgs.hasArg(options::OPT_nostdlibinc))) { ++ if (llvm::sys::fs::exists(ResourceDirInclude)) { ++ /* Include the build include directory only ++ * Otherwise, it fails with stage2 when clang headers are available on the system ++ * they usually fail because of the include_next. Two llvm/clang headers are found ++ * while we are waiting for the lib C++ (std or not) ++ */ ++ addSystemInclude(DriverArgs, CC1Args, ResourceDirInclude); ++ } else { ++ addSystemInclude(DriverArgs, CC1Args, "/usr/include/clang/" + std::string(CLANG_VERSION_STRING) + "/include/"); ++ } ++ } + + if (DriverArgs.hasArg(options::OPT_nostdlibinc)) + return; diff --git a/patches/fix-llvm-config-obj-src-root.patch b/patches/fix-llvm-config-obj-src-root.patch new file mode 100644 index 000000000..0b8d2c537 --- /dev/null +++ b/patches/fix-llvm-config-obj-src-root.patch @@ -0,0 +1,20 @@ +--- + tools/llvm-config/llvm-config.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/tools/llvm-config/llvm-config.cpp +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/tools/llvm-config/llvm-config.cpp ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/tools/llvm-config/llvm-config.cpp +@@ -560,9 +560,9 @@ int main(int argc, char **argv) { + } else if (Arg == "--shared-mode") { + PrintSharedMode = true; + } else if (Arg == "--obj-root") { +- OS << ActivePrefix << '\n'; ++ OS << ActivePrefix << "/build/" << '\n'; + } else if (Arg == "--src-root") { +- OS << LLVM_SRC_ROOT << '\n'; ++ OS << ActivePrefix << "/build/" << '\n'; + } else if (Arg == "--ignore-libllvm") { + LinkDyLib = false; + LinkMode = BuiltSharedLibs ? LinkModeShared : LinkModeAuto; diff --git a/patches/fix-scan-view-path.diff b/patches/fix-scan-view-path.diff new file mode 100644 index 000000000..cd256895f --- /dev/null +++ b/patches/fix-scan-view-path.diff @@ -0,0 +1,21 @@ +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/tools/scan-view/bin/scan-view +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/tools/scan-view/bin/scan-view ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/tools/scan-view/bin/scan-view +@@ -28,6 +28,7 @@ kDefaultPort = 8181 + kMaxPortsToTry = 100 + + ### ++BASE_DIR = '/usr/share/clang/scan-view-10' + + + def url_is_up(url): +@@ -65,7 +66,7 @@ def start_browser(port, options): + + def run(port, options, root): + # Prefer to look relative to the installed binary +- share = os.path.dirname(__file__) + "/../share/" ++ share = os.path.join(BASE_DIR, 'share') + if not os.path.isdir(share): + # Otherwise look relative to the source + share = os.path.dirname(__file__) + "/../../scan-view/share" diff --git a/patches/hurd/hurd-EIEIO-undef.diff b/patches/hurd/hurd-EIEIO-undef.diff new file mode 100644 index 000000000..10bae8706 --- /dev/null +++ b/patches/hurd/hurd-EIEIO-undef.diff @@ -0,0 +1,14 @@ +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/utils/TableGen/CodeEmitterGen.cpp +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/utils/TableGen/CodeEmitterGen.cpp ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/utils/TableGen/CodeEmitterGen.cpp +@@ -396,6 +396,9 @@ void CodeEmitterGen::run(raw_ostream &o) + ArrayRef NumberedInstructions = + Target.getInstructionsByEnumValue(); + ++ o << "// Undef for HURD\n"; ++ o << "#ifdef EIEIO\n#undef EIEIO\n#endif\n"; ++ + const CodeGenHwModes &HWM = Target.getHwModes(); + // The set of HwModes used by instruction encodings. + std::set HwModes; diff --git a/patches/hurd/hurd-cxx-paths.diff b/patches/hurd/hurd-cxx-paths.diff new file mode 100644 index 000000000..457b472fb --- /dev/null +++ b/patches/hurd/hurd-cxx-paths.diff @@ -0,0 +1,201 @@ +hurd: find c++ headers + +This should be factorized with Linux.cpp and the GNU/kFreeBSD case. + +--- + clang/lib/Driver/ToolChains/Hurd.cpp | 146 ++++++++++++++++++++++++++++++++++- + clang/lib/Driver/ToolChains/Hurd.h | 3 + 2 files changed, 145 insertions(+), 4 deletions(-) + +--- a/clang/lib/Driver/ToolChains/Hurd.cpp ++++ b/clang/lib/Driver/ToolChains/Hurd.cpp +@@ -61,6 +61,15 @@ static StringRef getOSLibDir(const llvm: + return Triple.isArch32Bit() ? "lib" : "lib64"; + } + ++static void addMultilibsFilePaths(const Driver &D, const MultilibSet &Multilibs, ++ const Multilib &Multilib, ++ StringRef InstallPath, ++ ToolChain::path_list &Paths) { ++ if (const auto &PathsCallback = Multilibs.filePathsCallback()) ++ for (const auto &Path : PathsCallback(Multilib)) ++ addPathIfExists(D, InstallPath + Path, Paths); ++} ++ + Hurd::Hurd(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) + : Generic_ELF(D, Triple, Args) { + std::string SysRoot = computeSysRoot(); +@@ -73,8 +82,61 @@ Hurd::Hurd(const Driver &D, const llvm:: + ExtraOpts.push_back("--build-id"); + #endif + +- // If we are currently running Clang inside of the requested system root, add +- // its parent library paths to those searched. ++ // Add the multilib suffixed paths where they are available. ++ if (GCCInstallation.isValid()) { ++ const llvm::Triple &GCCTriple = GCCInstallation.getTriple(); ++ const std::string &LibPath = GCCInstallation.getParentLibPath(); ++ ++ // Add toolchain / multilib specific file paths. ++ addMultilibsFilePaths(D, Multilibs, SelectedMultilib, ++ GCCInstallation.getInstallPath(), Paths); ++ ++ // Sourcery CodeBench MIPS toolchain holds some libraries under ++ // a biarch-like suffix of the GCC installation. ++ addPathIfExists( ++ D, GCCInstallation.getInstallPath() + SelectedMultilib.gccSuffix(), ++ Paths); ++ ++ // GCC cross compiling toolchains will install target libraries which ship ++ // as part of the toolchain under // rather than as ++ // any part of the GCC installation in ++ // //gcc//. This decision is somewhat ++ // debatable, but is the reality today. We need to search this tree even ++ // when we have a sysroot somewhere else. It is the responsibility of ++ // whomever is doing the cross build targeting a sysroot using a GCC ++ // installation that is *not* within the system root to ensure two things: ++ // ++ // 1) Any DSOs that are linked in from this tree or from the install path ++ // above must be present on the system root and found via an ++ // appropriate rpath. ++ // 2) There must not be libraries installed into ++ // // unless they should be preferred over ++ // those within the system root. ++ // ++ // Note that this matches the GCC behavior. See the below comment for where ++ // Clang diverges from GCC's behavior. ++ addPathIfExists(D, LibPath + "/../" + GCCTriple.str() + "/lib/../" + ++ OSLibDir + SelectedMultilib.osSuffix(), ++ Paths); ++ ++ // If the GCC installation we found is inside of the sysroot, we want to ++ // prefer libraries installed in the parent prefix of the GCC installation. ++ // It is important to *not* use these paths when the GCC installation is ++ // outside of the system root as that can pick up unintended libraries. ++ // This usually happens when there is an external cross compiler on the ++ // host system, and a more minimal sysroot available that is the target of ++ // the cross. Note that GCC does include some of these directories in some ++ // configurations but this seems somewhere between questionable and simply ++ // a bug. ++ if (StringRef(LibPath).startswith(SysRoot)) { ++ addPathIfExists(D, LibPath + "/" + MultiarchTriple, Paths); ++ addPathIfExists(D, LibPath + "/../" + OSLibDir, Paths); ++ } ++ } ++ ++ // Similar to the logic for GCC above, if we currently running Clang inside ++ // of the requested system root, add its parent library paths to ++ // those searched. + // FIXME: It's not clear whether we should use the driver's installed + // directory ('Dir' below) or the ResourceDir. + if (StringRef(D.Dir).startswith(SysRoot)) { +@@ -88,8 +150,40 @@ Hurd::Hurd(const Driver &D, const llvm:: + addPathIfExists(D, SysRoot + "/usr/lib/" + MultiarchTriple, Paths); + addPathIfExists(D, SysRoot + "/usr/lib/../" + OSLibDir, Paths); + +- // If we are currently running Clang inside of the requested system root, add +- // its parent library path to those searched. ++ // Try walking via the GCC triple path in case of biarch or multiarch GCC ++ // installations with strange symlinks. ++ if (GCCInstallation.isValid()) { ++ addPathIfExists(D, ++ SysRoot + "/usr/lib/" + GCCInstallation.getTriple().str() + ++ "/../../" + OSLibDir, ++ Paths); ++ ++ // Add the 'other' biarch variant path ++ Multilib BiarchSibling; ++ if (GCCInstallation.getBiarchSibling(BiarchSibling)) { ++ addPathIfExists(D, GCCInstallation.getInstallPath() + ++ BiarchSibling.gccSuffix(), ++ Paths); ++ } ++ ++ // See comments above on the multilib variant for details of why this is ++ // included even from outside the sysroot. ++ const std::string &LibPath = GCCInstallation.getParentLibPath(); ++ const llvm::Triple &GCCTriple = GCCInstallation.getTriple(); ++ const Multilib &Multilib = GCCInstallation.getMultilib(); ++ addPathIfExists(D, LibPath + "/../" + GCCTriple.str() + "/lib" + ++ Multilib.osSuffix(), ++ Paths); ++ ++ // See comments above on the multilib variant for details of why this is ++ // only included from within the sysroot. ++ if (StringRef(LibPath).startswith(SysRoot)) ++ addPathIfExists(D, LibPath, Paths); ++ } ++ ++ // Similar to the logic for GCC above, if we are currently running Clang ++ // inside of the requested system root, add its parent library path to those ++ // searched. + // FIXME: It's not clear whether we should use the driver's installed + // directory ('Dir' below) or the ResourceDir. + if (StringRef(D.Dir).startswith(SysRoot)) +@@ -156,6 +250,17 @@ void Hurd::AddClangSystemIncludeArgs(con + + // Lacking those, try to detect the correct set of system includes for the + // target triple. ++ ++ // Add include directories specific to the selected multilib set and multilib. ++ if (GCCInstallation.isValid()) { ++ const auto &Callback = Multilibs.includeDirsCallback(); ++ if (Callback) { ++ for (const auto &Path : Callback(GCCInstallation.getMultilib())) ++ addExternCSystemIncludeIfExists( ++ DriverArgs, CC1Args, GCCInstallation.getInstallPath() + Path); ++ } ++ } ++ + if (getTriple().getArch() == llvm::Triple::x86) { + std::string Path = SysRoot + "/usr/include/i386-gnu"; + if (D.getVFS().exists(Path)) +@@ -174,3 +279,36 @@ void Hurd::addExtraOpts(llvm::opt::ArgSt + for (const auto &Opt : ExtraOpts) + CmdArgs.push_back(Opt.c_str()); + } ++ ++void Hurd::addLibStdCxxIncludePaths(const llvm::opt::ArgList &DriverArgs, ++ llvm::opt::ArgStringList &CC1Args) const { ++ // Try generic GCC detection first. ++ if (Generic_GCC::addGCCLibStdCxxIncludePaths(DriverArgs, CC1Args)) ++ return; ++ ++ // We need a detected GCC installation on Hurd to provide libstdc++'s ++ // headers. ++ if (!GCCInstallation.isValid()) ++ return; ++ ++ StringRef LibDir = GCCInstallation.getParentLibPath(); ++ StringRef TripleStr = GCCInstallation.getTriple().str(); ++ const Multilib &Multilib = GCCInstallation.getMultilib(); ++ const GCCVersion &Version = GCCInstallation.getVersion(); ++ ++ const std::string LibStdCXXIncludePathCandidates[] = { ++ // Android standalone toolchain has C++ headers in yet another place. ++ LibDir.str() + "/../" + TripleStr.str() + "/include/c++/" + Version.Text, ++ // Freescale SDK C++ headers are directly in /usr/include/c++, ++ // without a subdirectory corresponding to the gcc version. ++ LibDir.str() + "/../include/c++", ++ }; ++ ++ for (const auto &IncludePath : LibStdCXXIncludePathCandidates) { ++ if (addLibStdCXXIncludePaths(IncludePath, /*Suffix*/ "", TripleStr, ++ /*GCCMultiarchTriple*/ "", ++ /*TargetMultiarchTriple*/ "", ++ Multilib.includeSuffix(), DriverArgs, CC1Args)) ++ break; ++ } ++} +--- a/clang/lib/Driver/ToolChains/Hurd.h ++++ b/clang/lib/Driver/ToolChains/Hurd.h +@@ -26,6 +26,9 @@ public: + void + AddClangSystemIncludeArgs(const llvm::opt::ArgList &DriverArgs, + llvm::opt::ArgStringList &CC1Args) const override; ++ void addLibStdCxxIncludePaths( ++ const llvm::opt::ArgList &DriverArgs, ++ llvm::opt::ArgStringList &CC1Args) const override; + + std::string computeSysRoot() const; + diff --git a/patches/hurd/hurd-pathmax.diff b/patches/hurd/hurd-pathmax.diff new file mode 100644 index 000000000..faa9ba915 --- /dev/null +++ b/patches/hurd/hurd-pathmax.diff @@ -0,0 +1,49 @@ +Index: llvm-toolchain-snapshot_10~++20200108101405+78ce19b7e1d/clang/lib/Basic/FileManager.cpp +=================================================================== +--- llvm-toolchain-snapshot_10~++20200108101405+78ce19b7e1d.orig/clang/lib/Basic/FileManager.cpp ++++ llvm-toolchain-snapshot_10~++20200108101405+78ce19b7e1d/clang/lib/Basic/FileManager.cpp +@@ -526,6 +526,12 @@ FileManager::getNoncachedStatValue(Strin + return std::error_code(); + } + ++// For GNU Hurd ++#if defined(__GNU__) && !defined(PATH_MAX) ++# define PATH_MAX 4096 ++#endif ++ ++ + void FileManager::GetUniqueIDMapping( + SmallVectorImpl &UIDToFiles) const { + UIDToFiles.clear(); +Index: llvm-toolchain-snapshot_10~++20200108101405+78ce19b7e1d/lldb/include/lldb/lldb-defines.h +=================================================================== +--- llvm-toolchain-snapshot_10~++20200108101405+78ce19b7e1d.orig/lldb/include/lldb/lldb-defines.h ++++ llvm-toolchain-snapshot_10~++20200108101405+78ce19b7e1d/lldb/include/lldb/lldb-defines.h +@@ -27,6 +27,11 @@ + #define INT32_MAX 2147483647 + #endif + ++// For GNU Hurd ++#if defined(__GNU__) && !defined(PATH_MAX) ++# define PATH_MAX 4096 ++#endif ++ + #if !defined(UINT32_MAX) + #define UINT32_MAX 4294967295U + #endif +Index: llvm-toolchain-snapshot_10~++20200108101405+78ce19b7e1d/polly/lib/External/ppcg/cuda_common.c +=================================================================== +--- llvm-toolchain-snapshot_10~++20200108101405+78ce19b7e1d.orig/polly/lib/External/ppcg/cuda_common.c ++++ llvm-toolchain-snapshot_10~++20200108101405+78ce19b7e1d/polly/lib/External/ppcg/cuda_common.c +@@ -15,6 +15,11 @@ + #include "cuda_common.h" + #include "ppcg.h" + ++// For GNU Hurd ++#if defined(__GNU__) && !defined(PATH_MAX) ++# define PATH_MAX 4096 ++#endif ++ + /* Open the host .cu file and the kernel .hu and .cu files for writing. + * Add the necessary includes. + */ diff --git a/patches/install-scan-build-py.diff b/patches/install-scan-build-py.diff new file mode 100644 index 000000000..ba9e4b320 --- /dev/null +++ b/patches/install-scan-build-py.diff @@ -0,0 +1,16 @@ +--- + clang/tools/CMakeLists.txt | 1 + + 1 file changed, 1 insertion(+) + +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/tools/CMakeLists.txt +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/tools/CMakeLists.txt ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/tools/CMakeLists.txt +@@ -28,6 +28,7 @@ if(CLANG_ENABLE_STATIC_ANALYZER) + add_clang_subdirectory(clang-check) + add_clang_subdirectory(clang-extdef-mapping) + add_clang_subdirectory(scan-build) ++ add_clang_subdirectory(scan-build-py) + add_clang_subdirectory(scan-view) + endif() + diff --git a/patches/kfreebsd/CMakeLists.txt.diff b/patches/kfreebsd/CMakeLists.txt.diff new file mode 100644 index 000000000..5f739bd12 --- /dev/null +++ b/patches/kfreebsd/CMakeLists.txt.diff @@ -0,0 +1,13 @@ +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/CMakeLists.txt +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/CMakeLists.txt ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/CMakeLists.txt +@@ -867,7 +867,7 @@ if(LLVM_TARGET_IS_CROSSCOMPILE_HOST) + # (this is a variable that CrossCompile sets on recursive invocations) + endif() + +-if(${CMAKE_SYSTEM_NAME} MATCHES "(FreeBSD|DragonFly)") ++if( ${CMAKE_SYSTEM_NAME} MATCHES "(FreeBSD|DragonFly)" AND NOT "kFreeBSD" ) + # On FreeBSD, /usr/local/* is not used by default. In order to build LLVM + # with libxml2, iconv.h, etc., we must add /usr/local paths. + include_directories(SYSTEM "/usr/local/include") diff --git a/patches/kfreebsd/clang_lib_Basic_Targets.diff b/patches/kfreebsd/clang_lib_Basic_Targets.diff new file mode 100644 index 000000000..1acf81d82 --- /dev/null +++ b/patches/kfreebsd/clang_lib_Basic_Targets.diff @@ -0,0 +1,48 @@ +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Basic/Targets.cpp +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/lib/Basic/Targets.cpp ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Basic/Targets.cpp +@@ -470,8 +470,8 @@ TargetInfo *AllocateTarget(const llvm::T + return new OpenBSDI386TargetInfo(Triple, Opts); + case llvm::Triple::FreeBSD: + return new FreeBSDTargetInfo(Triple, Opts); +- case llvm::Triple::KFreeBSD: +- return new KFreeBSDTargetInfo(Triple, Opts); ++ case llvm::Triple::kFreeBSD: ++ return new kFreeBSDTargetInfo(Triple, Opts); + case llvm::Triple::Minix: + return new MinixTargetInfo(Triple, Opts); + case llvm::Triple::Solaris: +@@ -529,8 +529,8 @@ TargetInfo *AllocateTarget(const llvm::T + return new FreeBSDTargetInfo(Triple, Opts); + case llvm::Triple::Fuchsia: + return new FuchsiaTargetInfo(Triple, Opts); +- case llvm::Triple::KFreeBSD: +- return new KFreeBSDTargetInfo(Triple, Opts); ++ case llvm::Triple::kFreeBSD: ++ return new kFreeBSDTargetInfo(Triple, Opts); + case llvm::Triple::Solaris: + return new SolarisTargetInfo(Triple, Opts); + case llvm::Triple::Win32: { +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Basic/Targets/OSTargets.h +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/lib/Basic/Targets/OSTargets.h ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Basic/Targets/OSTargets.h +@@ -265,7 +265,7 @@ public: + + // GNU/kFreeBSD Target + template +-class LLVM_LIBRARY_VISIBILITY KFreeBSDTargetInfo : public OSTargetInfo { ++class LLVM_LIBRARY_VISIBILITY kFreeBSDTargetInfo : public OSTargetInfo { + protected: + void getOSDefines(const LangOptions &Opts, const llvm::Triple &Triple, + MacroBuilder &Builder) const override { +@@ -282,7 +282,7 @@ protected: + } + + public: +- KFreeBSDTargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts) ++ kFreeBSDTargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts) + : OSTargetInfo(Triple, Opts) {} + }; + diff --git a/patches/kfreebsd/compiler-rt_lib.diff b/patches/kfreebsd/compiler-rt_lib.diff new file mode 100644 index 000000000..4f376484e --- /dev/null +++ b/patches/kfreebsd/compiler-rt_lib.diff @@ -0,0 +1,374 @@ +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp +@@ -83,9 +83,14 @@ + extern "C" { + // must be included after and on + // FreeBSD 9.2 and 10.0. ++#if SANITIZER_KFREEBSD ++#include ++#endif + #include + } ++#if !SANITIZER_KFREEBSD + #include ++#endif + #endif // SANITIZER_FREEBSD + + #if SANITIZER_NETBSD +@@ -461,10 +466,12 @@ bool FileExists(const char *filename) { + + #if !SANITIZER_NETBSD + tid_t GetTid() { +-#if SANITIZER_FREEBSD ++#if SANITIZER_FREEBSD && !SANITIZER_KFREEBSD + long Tid; + thr_self(&Tid); + return Tid; ++#elif SANITIZER_KFREEBSD ++ return (uptr)pthread_self(); + #elif SANITIZER_OPENBSD + return internal_syscall(SYSCALL(getthrid)); + #elif SANITIZER_SOLARIS +@@ -1148,10 +1155,10 @@ bool LibraryNameIs(const char *full_name + // Call cb for each region mapped by map. + void ForEachMappedRegion(link_map *map, void (*cb)(const void *, uptr)) { + CHECK_NE(map, nullptr); +-#if !SANITIZER_FREEBSD && !SANITIZER_OPENBSD ++#if !SANITIZER_FREEBSD && !SANITIZER_OPENBSD || SANITIZER_KFREEBSD + typedef ElfW(Phdr) Elf_Phdr; + typedef ElfW(Ehdr) Elf_Ehdr; +-#endif // !SANITIZER_FREEBSD && !SANITIZER_OPENBSD ++#endif // !SANITIZER_FREEBSD && !SANITIZER_OPENBSD || SANITIZER_KFREEBSD + char *base = (char *)map->l_addr; + Elf_Ehdr *ehdr = (Elf_Ehdr *)base; + char *phdrs = base + ehdr->e_phoff; +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp +@@ -36,10 +36,12 @@ + #include + + #if SANITIZER_FREEBSD +-#include ++# if !SANITIZER_KFREEBSD ++# include ++# define pthread_getattr_np pthread_attr_get_np ++# endif + #include + #include +-#define pthread_getattr_np pthread_attr_get_np + #endif + + #if SANITIZER_OPENBSD +@@ -525,9 +527,9 @@ void GetThreadStackAndTls(bool main, upt + #endif + } + +-#if !SANITIZER_FREEBSD && !SANITIZER_OPENBSD ++#if !SANITIZER_FREEBSD && !SANITIZER_OPENBSD || SANITIZER_KFREEBSD + typedef ElfW(Phdr) Elf_Phdr; +-#elif SANITIZER_WORDSIZE == 32 && __FreeBSD_version <= 902001 // v9.2 ++#elif SANITIZER_WORDSIZE == 32 && !SANITIZER_KFREEBSD && __FreeBSD_version <= 902001 // v9.2 + #define Elf_Phdr XElf32_Phdr + #define dl_phdr_info xdl_phdr_info + #define dl_iterate_phdr(c, b) xdl_iterate_phdr((c), (b)) +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/sanitizer_common/sanitizer_platform.h +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/compiler-rt/lib/sanitizer_common/sanitizer_platform.h ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/sanitizer_common/sanitizer_platform.h +@@ -15,7 +15,7 @@ + #if !defined(__linux__) && !defined(__FreeBSD__) && !defined(__NetBSD__) && \ + !defined(__OpenBSD__) && !defined(__APPLE__) && !defined(_WIN32) && \ + !defined(__Fuchsia__) && !defined(__rtems__) && \ +- !(defined(__sun__) && defined(__svr4__)) ++ !(defined(__sun__) && defined(__svr4__)) && !defined(__FreeBSD_kernel__) + # error "This operating system is not supported" + #endif + +@@ -25,12 +25,18 @@ + # define SANITIZER_LINUX 0 + #endif + +-#if defined(__FreeBSD__) ++#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) + # define SANITIZER_FREEBSD 1 + #else + # define SANITIZER_FREEBSD 0 + #endif + ++#if defined(__FreeBSD_kernel__) ++# define SANITIZER_KFREEBSD 1 ++#else ++# define SANITIZER_KFREEBSD 0 ++#endif ++ + #if defined(__NetBSD__) + # define SANITIZER_NETBSD 1 + #else +@@ -112,7 +118,8 @@ + + #define SANITIZER_POSIX \ + (SANITIZER_FREEBSD || SANITIZER_LINUX || SANITIZER_MAC || \ +- SANITIZER_NETBSD || SANITIZER_OPENBSD || SANITIZER_SOLARIS) ++ SANITIZER_NETBSD || SANITIZER_OPENBSD || SANITIZER_SOLARIS || \ ++ SANITIZER_KFREEBSD) + + #if __LP64__ || defined(_WIN64) + # define SANITIZER_WORDSIZE 64 +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/asan/asan_linux.cpp +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/compiler-rt/lib/asan/asan_linux.cpp ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/asan/asan_linux.cpp +@@ -37,7 +37,7 @@ + #include + #include + +-#if SANITIZER_FREEBSD ++#if SANITIZER_FREEBSD && !SANITIZER_KFREEBSD + #include + #endif + +@@ -47,7 +47,11 @@ + + #if SANITIZER_ANDROID || SANITIZER_FREEBSD || SANITIZER_SOLARIS + #include ++#if SANITIZER_KFREEBSD ++#include ++#else + extern "C" void* _DYNAMIC; ++#endif + #elif SANITIZER_NETBSD + #include + #include +@@ -60,7 +64,7 @@ extern Elf_Dyn _DYNAMIC; + // x86-64 FreeBSD 9.2 and older define 'ucontext_t' incorrectly in + // 32-bit mode. + #if SANITIZER_FREEBSD && (SANITIZER_WORDSIZE == 32) && \ +- __FreeBSD_version <= 902001 // v9.2 ++ !SANITIZER_KFREEBSD && __FreeBSD_version <= 902001 // v9.2 + #define ucontext_t xucontext_t + #endif + +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/ubsan/ubsan_platform.h +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/compiler-rt/lib/ubsan/ubsan_platform.h ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/ubsan/ubsan_platform.h +@@ -14,7 +14,7 @@ + + // Other platforms should be easy to add, and probably work as-is. + #if defined(__linux__) || defined(__FreeBSD__) || defined(__APPLE__) || \ +- defined(__NetBSD__) || defined(__OpenBSD__) || \ ++ defined(__NetBSD__) || defined(__OpenBSD__) || defined(__FreeBSD_kernel__) || \ + (defined(__sun__) && defined(__svr4__)) || \ + defined(_WIN32) || defined(__Fuchsia__) || defined(__rtems__) + # define CAN_SANITIZE_UB 1 +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/tsan/rtl/tsan_rtl_amd64.S +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/compiler-rt/lib/tsan/rtl/tsan_rtl_amd64.S ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/tsan/rtl/tsan_rtl_amd64.S +@@ -192,7 +192,7 @@ ASM_SYMBOL_INTERCEPTOR(setjmp): + // obtain SP, store in %rdi, first argument to `void __tsan_setjmp(uptr sp)` + #if defined(__FreeBSD__) || defined(__NetBSD__) + lea 8(%rsp), %rdi +-#elif defined(__linux__) || defined(__APPLE__) ++#elif defined(__linux__) || defined(__FreeBSD_kernel__) || defined(__APPLE__) + lea 16(%rsp), %rdi + #else + # error "Unknown platform" +@@ -233,7 +233,7 @@ ASM_SYMBOL_INTERCEPTOR(_setjmp): + // obtain SP, store in %rdi, first argument to `void __tsan_setjmp(uptr sp)` + #if defined(__FreeBSD__) || defined(__NetBSD__) + lea 8(%rsp), %rdi +-#elif defined(__linux__) || defined(__APPLE__) ++#elif defined(__linux__) || defined(__FreeBSD_kernel__) || defined(__APPLE__) + lea 16(%rsp), %rdi + #else + # error "Unknown platform" +@@ -281,7 +281,7 @@ ASM_SYMBOL_INTERCEPTOR(sigsetjmp): + // obtain SP, store in %rdi, first argument to `void __tsan_setjmp(uptr sp)` + #if defined(__FreeBSD__) || defined(__NetBSD__) + lea 24(%rsp), %rdi +-#elif defined(__linux__) || defined(__APPLE__) ++#elif defined(__linux__) || defined(__FreeBSD_kernel__) || defined(__APPLE__) + lea 32(%rsp), %rdi + #else + # error "Unknown platform" +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/fuzzer/FuzzerDefs.h +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/compiler-rt/lib/fuzzer/FuzzerDefs.h ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/fuzzer/FuzzerDefs.h +@@ -28,6 +28,7 @@ + #define LIBFUZZER_LINUX 1 + #define LIBFUZZER_NETBSD 0 + #define LIBFUZZER_FREEBSD 0 ++#define LIBFUZZER_KFREEBSD 1 + #define LIBFUZZER_OPENBSD 0 + #define LIBFUZZER_WINDOWS 0 + #elif __APPLE__ +@@ -54,6 +55,15 @@ + #define LIBFUZZER_FREEBSD 1 + #define LIBFUZZER_OPENBSD 0 + #define LIBFUZZER_WINDOWS 0 ++#elif __FreeBSD_kernel__ ++#define LIBFUZZER_APPLE 0 ++#define LIBFUZZER_FUCHSIA 0 ++#define LIBFUZZER_LINUX 0 ++#define LIBFUZZER_NETBSD 0 ++#define LIBFUZZER_FREEBSD 0 ++#define LIBFUZZER_KFREEBSD 1 ++#define LIBFUZZER_OPENBSD 0 ++#define LIBFUZZER_WINDOWS 0 + #elif __OpenBSD__ + #define LIBFUZZER_APPLE 0 + #define LIBFUZZER_FUCHSIA 0 +@@ -95,7 +105,7 @@ + + #define LIBFUZZER_POSIX \ + (LIBFUZZER_APPLE || LIBFUZZER_LINUX || LIBFUZZER_NETBSD || \ +- LIBFUZZER_FREEBSD || LIBFUZZER_OPENBSD) ++ LIBFUZZER_FREEBSD || LIBFUZZER_OPENBSD || LIBFUZZER_KFREEBSD) + + #ifdef __x86_64 + # if __has_attribute(target) +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/fuzzer/FuzzerUtilPosix.cpp +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/compiler-rt/lib/fuzzer/FuzzerUtilPosix.cpp ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/fuzzer/FuzzerUtilPosix.cpp +@@ -133,7 +133,7 @@ size_t GetPeakRSSMb() { + if (getrusage(RUSAGE_SELF, &usage)) + return 0; + if (LIBFUZZER_LINUX || LIBFUZZER_FREEBSD || LIBFUZZER_NETBSD || +- LIBFUZZER_OPENBSD) { ++ LIBFUZZER_OPENBSD || LIBFUZZER_KFREEBSD) { + // ru_maxrss is in KiB + return usage.ru_maxrss >> 10; + } else if (LIBFUZZER_APPLE) { +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/fuzzer/FuzzerExtraCounters.cpp +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/compiler-rt/lib/fuzzer/FuzzerExtraCounters.cpp ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/fuzzer/FuzzerExtraCounters.cpp +@@ -11,7 +11,7 @@ + #include "FuzzerDefs.h" + + #if LIBFUZZER_LINUX || LIBFUZZER_NETBSD || LIBFUZZER_FREEBSD || \ +- LIBFUZZER_OPENBSD ++ LIBFUZZER_OPENBSD || LIBFUZZER_KFREEBSD + __attribute__((weak)) extern uint8_t __start___libfuzzer_extra_counters; + __attribute__((weak)) extern uint8_t __stop___libfuzzer_extra_counters; + +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/fuzzer/FuzzerExtFunctionsWeak.cpp +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/compiler-rt/lib/fuzzer/FuzzerExtFunctionsWeak.cpp ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/fuzzer/FuzzerExtFunctionsWeak.cpp +@@ -13,7 +13,7 @@ + //===----------------------------------------------------------------------===// + #include "FuzzerDefs.h" + #if LIBFUZZER_LINUX || LIBFUZZER_NETBSD || LIBFUZZER_FUCHSIA || \ +- LIBFUZZER_FREEBSD || LIBFUZZER_OPENBSD ++ LIBFUZZER_FREEBSD || LIBFUZZER_OPENBSD || LIBFUZZER_KFREEBSD + + #include "FuzzerExtFunctions.h" + #include "FuzzerIO.h" +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/fuzzer/FuzzerUtilLinux.cpp +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/compiler-rt/lib/fuzzer/FuzzerUtilLinux.cpp ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/fuzzer/FuzzerUtilLinux.cpp +@@ -9,7 +9,7 @@ + //===----------------------------------------------------------------------===// + #include "FuzzerDefs.h" + #if LIBFUZZER_LINUX || LIBFUZZER_NETBSD || LIBFUZZER_FREEBSD || \ +- LIBFUZZER_OPENBSD ++ LIBFUZZER_OPENBSD || LIBFUZZER_KFREEBSD + #include "FuzzerCommand.h" + + #include +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/sanitizer_common/sanitizer_freebsd.h +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/compiler-rt/lib/sanitizer_common/sanitizer_freebsd.h ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/sanitizer_common/sanitizer_freebsd.h +@@ -20,7 +20,7 @@ + // 32-bit mode. + #if SANITIZER_FREEBSD && (SANITIZER_WORDSIZE == 32) + # include +-# if __FreeBSD_version <= 902001 // v9.2 ++# if !SANITIZER_KFREEBSD && __FreeBSD_version <= 902001 // v9.2 + # include + # include + # include +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/sanitizer_common/sanitizer_procmaps_bsd.cpp +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/compiler-rt/lib/sanitizer_common/sanitizer_procmaps_bsd.cpp ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/sanitizer_common/sanitizer_procmaps_bsd.cpp +@@ -37,7 +37,7 @@ + // Fix 'kinfo_vmentry' definition on FreeBSD prior v9.2 in 32-bit mode. + #if SANITIZER_FREEBSD && (SANITIZER_WORDSIZE == 32) + #include +-#if __FreeBSD_version <= 902001 // v9.2 ++#if !SANITIZER_KFREEBSD && __FreeBSD_version <= 902001 // v9.2 + #define kinfo_vmentry xkinfo_vmentry + #endif + #endif +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h +@@ -24,7 +24,9 @@ + #include "sanitizer_glibc_version.h" + #endif + ++#if !SANITIZER_KFREEBSD + # define GET_LINK_MAP_BY_DLOPEN_HANDLE(handle) ((link_map*)(handle)) ++#endif + + namespace __sanitizer { + extern unsigned struct_utsname_sz; +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/sanitizer_common/sanitizer_syscall_generic.inc +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/compiler-rt/lib/sanitizer_common/sanitizer_syscall_generic.inc ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/sanitizer_common/sanitizer_syscall_generic.inc +@@ -19,7 +19,7 @@ + # define SYSCALL(name) __NR_ ## name + #endif + +-#if defined(__x86_64__) && (SANITIZER_FREEBSD || SANITIZER_MAC) ++#if defined(__x86_64__) && ((SANITIZER_FREEBSD && !SANITIZER_KFREEBSD) || SANITIZER_MAC) + # define internal_syscall __syscall + # else + # define internal_syscall syscall +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp +@@ -109,10 +109,14 @@ typedef struct user_fpregs elf_fpregset_ + #include + #endif + +-#if SANITIZER_LINUX && !SANITIZER_ANDROID ++#if (SANITIZER_LINUX && !SANITIZER_ANDROID) || SANITIZER_KFREEBSD + #include + #include ++#if SANITIZER_KFREEBSD ++#include ++#else + #include ++#endif + #include + #include + #include +@@ -150,8 +154,12 @@ typedef struct user_fpregs elf_fpregset_ + #include + #endif + +-#if SANITIZER_LINUX ++#if SANITIZER_LINUX || SANITIZER_KFREEBSD ++#if SANITIZER_KFREEBSD ++#include ++#else + #include ++#endif + #include + #include + #include diff --git a/patches/kfreebsd/include_llvm_ADT_Triple.h.diff b/patches/kfreebsd/include_llvm_ADT_Triple.h.diff new file mode 100644 index 000000000..7fa4a854a --- /dev/null +++ b/patches/kfreebsd/include_llvm_ADT_Triple.h.diff @@ -0,0 +1,33 @@ +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/include/llvm/ADT/Triple.h +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/include/llvm/ADT/Triple.h ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/include/llvm/ADT/Triple.h +@@ -161,7 +161,7 @@ public: + FreeBSD, + Fuchsia, + IOS, +- KFreeBSD, ++ kFreeBSD, + Linux, + Lv2, // PS3 + MacOSX, +@@ -588,8 +588,8 @@ public: + } + + /// Tests whether the OS is kFreeBSD. +- bool isOSKFreeBSD() const { +- return getOS() == Triple::KFreeBSD; ++ bool isOSkFreeBSD() const { ++ return getOS() == Triple::kFreeBSD; + } + + /// Tests whether the OS is Hurd. +@@ -609,7 +609,7 @@ public: + + /// Tests whether the OS uses glibc. + bool isOSGlibc() const { +- return (getOS() == Triple::Linux || getOS() == Triple::KFreeBSD || ++ return (getOS() == Triple::Linux || getOS() == Triple::kFreeBSD || + getOS() == Triple::Hurd) && + !isAndroid(); + } diff --git a/patches/kfreebsd/kfreebsd-libcxx-threads-detection.diff b/patches/kfreebsd/kfreebsd-libcxx-threads-detection.diff new file mode 100644 index 000000000..54c92e155 --- /dev/null +++ b/patches/kfreebsd/kfreebsd-libcxx-threads-detection.diff @@ -0,0 +1,12 @@ +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxx/include/__config +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/libcxx/include/__config ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxx/include/__config +@@ -1085,6 +1085,7 @@ _LIBCPP_FUNC_VIS extern "C" void __sanit + !defined(_LIBCPP_HAS_THREAD_API_WIN32) && \ + !defined(_LIBCPP_HAS_THREAD_API_EXTERNAL) + # if defined(__FreeBSD__) || \ ++ defined(__FreeBSD_kernel__) || \ + defined(__Fuchsia__) || \ + defined(__wasi__) || \ + defined(__NetBSD__) || \ diff --git a/patches/kfreebsd/kfreebsd-openmp.diff b/patches/kfreebsd/kfreebsd-openmp.diff new file mode 100644 index 000000000..ba53484dc --- /dev/null +++ b/patches/kfreebsd/kfreebsd-openmp.diff @@ -0,0 +1,129 @@ +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/openmp/runtime/src/kmp.h +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/openmp/runtime/src/kmp.h ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/openmp/runtime/src/kmp.h +@@ -1142,6 +1142,10 @@ extern kmp_uint64 __kmp_now_nsec(); + /* TODO: tune for KMP_OS_OPENBSD */ + #define KMP_INIT_WAIT 1024U /* initial number of spin-tests */ + #define KMP_NEXT_WAIT 512U /* susequent number of spin-tests */ ++#elif KMP_OS_KFREEBSD ++/* TODO: tune for KMP_OS_KFREEBSD */ ++#define KMP_INIT_WAIT 1024U /* initial number of spin-tests */ ++#define KMP_NEXT_WAIT 512U /* susequent number of spin-tests */ + #endif + + #if KMP_ARCH_X86 || KMP_ARCH_X86_64 +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/openmp/runtime/src/kmp_ftn_entry.h +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/openmp/runtime/src/kmp_ftn_entry.h ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/openmp/runtime/src/kmp_ftn_entry.h +@@ -531,7 +531,7 @@ int FTN_STDCALL KMP_EXPAND_NAME(FTN_GET_ + int gtid; + + #if KMP_OS_DARWIN || KMP_OS_DRAGONFLY || KMP_OS_FREEBSD || KMP_OS_NETBSD || \ +- KMP_OS_HURD ++ KMP_OS_HURD || KMP_OS_KFREEBSD + gtid = __kmp_entry_gtid(); + #elif KMP_OS_WINDOWS + if (!__kmp_init_parallel || +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/openmp/runtime/src/kmp_platform.h +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/openmp/runtime/src/kmp_platform.h ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/openmp/runtime/src/kmp_platform.h +@@ -18,6 +18,7 @@ + #define KMP_OS_LINUX 0 + #define KMP_OS_DRAGONFLY 0 + #define KMP_OS_FREEBSD 0 ++#define KMP_OS_KFREEBSD 0 + #define KMP_OS_NETBSD 0 + #define KMP_OS_OPENBSD 0 + #define KMP_OS_DARWIN 0 +@@ -56,6 +57,11 @@ + #define KMP_OS_FREEBSD 1 + #endif + ++#if (defined __FreeBSD_kernel__) ++#undef KMP_OS_KFREEBSD ++#define KMP_OS_KFREEBSD 1 ++#endif ++ + #if (defined __NetBSD__) + #undef KMP_OS_NETBSD + #define KMP_OS_NETBSD 1 +@@ -78,12 +84,12 @@ + + #if (1 != \ + KMP_OS_LINUX + KMP_OS_DRAGONFLY + KMP_OS_FREEBSD + KMP_OS_NETBSD + \ +- KMP_OS_OPENBSD + KMP_OS_DARWIN + KMP_OS_WINDOWS + KMP_OS_HURD) ++ KMP_OS_OPENBSD + KMP_OS_DARWIN + KMP_OS_WINDOWS + KMP_OS_HURD + KMP_OS_KFREEBSD) + #error Unknown OS + #endif + + #if KMP_OS_LINUX || KMP_OS_DRAGONFLY || KMP_OS_FREEBSD || KMP_OS_NETBSD || \ +- KMP_OS_OPENBSD || KMP_OS_DARWIN || KMP_OS_HURD ++ KMP_OS_OPENBSD || KMP_OS_DARWIN || KMP_OS_HURD || KMP_OS_KFREEBSD + #undef KMP_OS_UNIX + #define KMP_OS_UNIX 1 + #endif +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/openmp/runtime/src/kmp_runtime.cpp +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/openmp/runtime/src/kmp_runtime.cpp ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/openmp/runtime/src/kmp_runtime.cpp +@@ -8114,7 +8114,7 @@ __kmp_determine_reduction_method( + KMP_ARCH_MIPS64 || KMP_ARCH_RISCV64 + + #if KMP_OS_LINUX || KMP_OS_DRAGONFLY || KMP_OS_FREEBSD || KMP_OS_NETBSD || \ +- KMP_OS_OPENBSD || KMP_OS_WINDOWS || KMP_OS_DARWIN || KMP_OS_HURD ++ KMP_OS_OPENBSD || KMP_OS_WINDOWS || KMP_OS_DARWIN || KMP_OS_HURD || KMP_OS_KFREEBSD + + int teamsize_cutoff = 4; + +@@ -8142,7 +8142,7 @@ __kmp_determine_reduction_method( + + #elif KMP_ARCH_X86 || KMP_ARCH_ARM || KMP_ARCH_AARCH || KMP_ARCH_MIPS + +-#if KMP_OS_LINUX || KMP_OS_FREEBSD || KMP_OS_WINDOWS || KMP_OS_HURD ++#if KMP_OS_LINUX || KMP_OS_FREEBSD || KMP_OS_WINDOWS || KMP_OS_HURD || KMP_OS_KFREEBSD + + // basic tuning + +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/openmp/runtime/src/z_Linux_util.cpp +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/openmp/runtime/src/z_Linux_util.cpp ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/openmp/runtime/src/z_Linux_util.cpp +@@ -472,7 +472,7 @@ void __kmp_terminate_thread(int gtid) { + static kmp_int32 __kmp_set_stack_info(int gtid, kmp_info_t *th) { + int stack_data; + #if KMP_OS_LINUX || KMP_OS_DRAGONFLY || KMP_OS_FREEBSD || KMP_OS_NETBSD || \ +- KMP_OS_HURD ++ KMP_OS_HURD || KMP_OS_KFREEBSD + pthread_attr_t attr; + int status; + size_t size = 0; +@@ -526,7 +526,7 @@ static void *__kmp_launch_worker(void *t + #endif /* KMP_BLOCK_SIGNALS */ + void *exit_val; + #if KMP_OS_LINUX || KMP_OS_DRAGONFLY || KMP_OS_FREEBSD || KMP_OS_NETBSD || \ +- KMP_OS_OPENBSD || KMP_OS_HURD ++ KMP_OS_OPENBSD || KMP_OS_HURD || KMP_OS_KFREEBSD + void *volatile padding = 0; + #endif + int gtid; +@@ -1798,7 +1798,7 @@ static int __kmp_get_xproc(void) { + int r = 0; + + #if KMP_OS_LINUX || KMP_OS_DRAGONFLY || KMP_OS_FREEBSD || KMP_OS_NETBSD || \ +- KMP_OS_OPENBSD || KMP_OS_HURD ++ KMP_OS_OPENBSD || KMP_OS_HURD || KMP_OS_KFREEBSD + + r = sysconf(_SC_NPROCESSORS_ONLN); + +@@ -2042,7 +2042,7 @@ int __kmp_is_address_mapped(void *addr) + // Free resources. + fclose(file); + KMP_INTERNAL_FREE(name); +-#elif KMP_OS_FREEBSD ++#elif KMP_OS_FREEBSD || KMP_OS_KFREEBSD + char *buf; + size_t lstsz; + int mib[] = {CTL_KERN, KERN_PROC, KERN_PROC_VMMAP, getpid()}; diff --git a/patches/kfreebsd/kfreebsd-threads-build.diff b/patches/kfreebsd/kfreebsd-threads-build.diff new file mode 100644 index 000000000..4601629be --- /dev/null +++ b/patches/kfreebsd/kfreebsd-threads-build.diff @@ -0,0 +1,13 @@ +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxx/src/thread.cpp +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/libcxx/src/thread.cpp ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxx/src/thread.cpp +@@ -18,7 +18,7 @@ + + #if defined(__unix__) || (defined(__APPLE__) && defined(__MACH__)) + # include +-# if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) || defined(__APPLE__) ++# if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) || defined(__APPLE__) || defined(__FreeBSD_kernel__) + # include + # endif + #endif // defined(__unix__) || (defined(__APPLE__) && defined(__MACH__)) diff --git a/patches/kfreebsd/kfreebsd-triple-clang.diff b/patches/kfreebsd/kfreebsd-triple-clang.diff new file mode 100644 index 000000000..56657dafa --- /dev/null +++ b/patches/kfreebsd/kfreebsd-triple-clang.diff @@ -0,0 +1,615 @@ +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/CMakeLists.txt +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/lib/Driver/CMakeLists.txt ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/CMakeLists.txt +@@ -49,6 +49,7 @@ add_clang_library(clangDriver + ToolChains/HIP.cpp + ToolChains/Hexagon.cpp + ToolChains/Hurd.cpp ++ ToolChains/KFreeBSD.cpp + ToolChains/Linux.cpp + ToolChains/MipsLinux.cpp + ToolChains/MinGW.cpp +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/Driver.cpp +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/lib/Driver/Driver.cpp ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/Driver.cpp +@@ -26,6 +26,7 @@ + #include "ToolChains/Haiku.h" + #include "ToolChains/Hexagon.h" + #include "ToolChains/Hurd.h" ++#include "ToolChains/KFreeBSD.h" + #include "ToolChains/Lanai.h" + #include "ToolChains/Linux.h" + #include "ToolChains/MSP430.h" +@@ -4727,6 +4728,9 @@ const ToolChain &Driver::getToolChain(co + case llvm::Triple::FreeBSD: + TC = std::make_unique(*this, Target, Args); + break; ++ case llvm::Triple::kFreeBSD: ++ TC = std::make_unique(*this, Target, Args); ++ break; + case llvm::Triple::Minix: + TC = std::make_unique(*this, Target, Args); + break; +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/ToolChains/Clang.cpp +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/lib/Driver/ToolChains/Clang.cpp ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/ToolChains/Clang.cpp +@@ -453,7 +453,7 @@ static bool useFramePointerForTargetByDe + } + + if (Triple.isOSLinux() || Triple.getOS() == llvm::Triple::CloudABI || +- Triple.isOSHurd()) { ++ Triple.isOSHurd() || Triple.isOSkFreeBSD()) { + switch (Triple.getArch()) { + // Don't use a frame pointer on linux if optimizing for certain targets. + case llvm::Triple::mips64: +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/ToolChains/Gnu.cpp +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/lib/Driver/ToolChains/Gnu.cpp ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/ToolChains/Gnu.cpp +@@ -578,6 +578,20 @@ void tools::gnutools::Linker::ConstructJ + + if (!Args.hasArg(options::OPT_nolibc)) + CmdArgs.push_back("-lc"); ++ CmdArgs.push_back("-lc"); ++ ++ if (getToolChain().getTriple().isOSkFreeBSD()) { ++ switch (getToolChain().getArch()) { ++ case llvm::Triple::x86_64: ++ CmdArgs.push_back("-rpath-link=/lib/x86_64-kfreebsd-gnu"); ++ break; ++ case llvm::Triple::x86: ++ CmdArgs.push_back("-rpath-link=/lib/i386-kfreebsd-gnu"); ++ break; ++ default: ++ break; ++ } ++ } + + // Add IAMCU specific libs, if needed. + if (IsIAMCU) +@@ -1957,7 +1971,8 @@ void Generic_GCC::GCCInstallationDetecto + "x86_64-redhat-linux", "x86_64-suse-linux", + "x86_64-manbo-linux-gnu", "x86_64-linux-gnu", + "x86_64-slackware-linux", "x86_64-unknown-linux", +- "x86_64-amazon-linux", "x86_64-linux-android"}; ++ "x86_64-amazon-linux", "x86_64-linux-android", ++ "x86_64-kfreebsd-gnu", "x86_64-pc-kfreebsd-gnu"}; + static const char *const X32LibDirs[] = {"/libx32"}; + static const char *const X86LibDirs[] = {"/lib32", "/lib"}; + static const char *const X86Triples[] = { +@@ -1966,7 +1981,9 @@ void Generic_GCC::GCCInstallationDetecto + "i586-redhat-linux", "i386-redhat-linux", "i586-suse-linux", + "i486-slackware-linux", "i686-montavista-linux", "i586-linux-gnu", + "i686-linux-android", "i386-gnu", "i486-gnu", +- "i586-gnu", "i686-gnu"}; ++ "i586-gnu", "i686-gnu", ++ "i686-kfreebsd-gnu", "i686-pc-kfreebsd-gnu", "i486-kfreebsd-gnu", ++ "i386-kfreebsd-gnu" }; + + static const char *const MIPSLibDirs[] = {"/lib"}; + static const char *const MIPSTriples[] = { +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/ToolChains/KFreeBSD.cpp +=================================================================== +--- /dev/null ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/ToolChains/KFreeBSD.cpp +@@ -0,0 +1,458 @@ ++//===--- KFreeBSD.cpp - kFreeBSD ToolChain Implementations --------*- C++ -*-===// ++// ++// The LLVM Compiler Infrastructure ++// ++// This file is distributed under the University of Illinois Open Source ++// License. See LICENSE.TXT for details. ++// ++//===----------------------------------------------------------------------===// ++ ++#include "KFreeBSD.h" ++#include "CommonArgs.h" ++#include "llvm/Support/VirtualFileSystem.h" ++#include "clang/Config/config.h" ++#include "clang/Driver/Driver.h" ++#include "clang/Driver/Options.h" ++#include "clang/Driver/SanitizerArgs.h" ++#include "llvm/Option/ArgList.h" ++#include "llvm/ProfileData/InstrProf.h" ++#include "llvm/Support/Path.h" ++ ++using namespace clang::driver; ++using namespace clang::driver::toolchains; ++using namespace clang; ++using namespace llvm::opt; ++ ++using tools::addPathIfExists; ++ ++/// Get our best guess at the multiarch triple for a target. ++/// ++/// Debian-based systems are starting to use a multiarch setup where they use ++/// a target-triple directory in the library and header search paths. ++/// Unfortunately, this triple does not align with the vanilla target triple, ++/// so we provide a rough mapping here. ++static std::string getMultiarchTriple(const Driver &D, ++ const llvm::Triple &TargetTriple, ++ StringRef SysRoot) { ++ // For most architectures, just use whatever we have rather than trying to be ++ // clever. ++ switch (TargetTriple.getArch()) { ++ default: ++ break; ++ ++ // We use the existence of '/lib/' as a directory to detect ++ // some common kfreebsd triples that don't quite match the Clang ++ // triple for both 32-bit and 64-bit targets. Multiarch fixes its ++ // install triples to these regardless of what the actual target ++ // triple is. ++ case llvm::Triple::x86_64: ++ if (D.getVFS().exists(SysRoot + "/lib/x86_64-kfreebsd-gnu")) ++ return "x86_64-kfreebsd-gnu"; ++ break; ++ case llvm::Triple::x86: ++ if (D.getVFS().exists(SysRoot + "/lib/i386-kfreebsd-gnu")) ++ return "i386-kfreebsd-gnu"; ++ break; ++ } ++ ++ return TargetTriple.str(); ++} ++ ++static StringRef getOSLibDir(const llvm::Triple &Triple, const ArgList &Args) { ++ // It happens that only x86 and PPC use the 'lib32' variant of oslibdir, and ++ // using that variant while targeting other architectures causes problems ++ // because the libraries are laid out in shared system roots that can't cope ++ // with a 'lib32' library search path being considered. So we only enable ++ // them when we know we may need it. ++ // ++ // FIXME: This is a bit of a hack. We should really unify this code for ++ // reasoning about oslibdir spellings with the lib dir spellings in the ++ // GCCInstallationDetector, but that is a more significant refactoring. ++ ++ if (Triple.getArch() == llvm::Triple::x86) ++ return "lib"; ++ ++ if (Triple.getArch() == llvm::Triple::x86_64) ++ return "lib"; ++ ++ return Triple.isArch32Bit() ? "lib" : "lib64"; ++} ++ ++static void addMultilibsFilePaths(const Driver &D, const MultilibSet &Multilibs, ++ const Multilib &Multilib, ++ StringRef InstallPath, ++ ToolChain::path_list &Paths) { ++ if (const auto &PathsCallback = Multilibs.filePathsCallback()) ++ for (const auto &Path : PathsCallback(Multilib)) ++ addPathIfExists(D, InstallPath + Path, Paths); ++} ++ ++kFreeBSD::kFreeBSD(const Driver &D, const llvm::Triple &Triple, ++ const ArgList &Args) ++ : Generic_ELF(D, Triple, Args) { ++ GCCInstallation.init(Triple, Args); ++ Multilibs = GCCInstallation.getMultilibs(); ++ std::string SysRoot = computeSysRoot(); ++ ++ // Cross-compiling binutils and GCC installations (vanilla and openSUSE at ++ // least) put various tools in a triple-prefixed directory off of the parent ++ // of the GCC installation. We use the GCC triple here to ensure that we end ++ // up with tools that support the same amount of cross compiling as the ++ // detected GCC installation. For example, if we find a GCC installation ++ // targeting x86_64, but it is a bi-arch GCC installation, it can also be ++ // used to target i386. ++ // FIXME: This seems unlikely to be Linux-, kFreeBSD- or Hurd-specific. ++ ToolChain::path_list &PPaths = getProgramPaths(); ++ PPaths.push_back(Twine(GCCInstallation.getParentLibPath() + "/../" + ++ GCCInstallation.getTriple().str() + "/bin") ++ .str()); ++ ++#ifdef ENABLE_LINKER_BUILD_ID ++ ExtraOpts.push_back("--build-id"); ++#endif ++ ++ // The selection of paths to try here is designed to match the patterns which ++ // the GCC driver itself uses, as this is part of the GCC-compatible driver. ++ // This was determined by running GCC in a fake filesystem, creating all ++ // possible permutations of these directories, and seeing which ones it added ++ // to the link paths. ++ path_list &Paths = getFilePaths(); ++ ++ const std::string OSLibDir = getOSLibDir(Triple, Args); ++ const std::string MultiarchTriple = getMultiarchTriple(D, Triple, SysRoot); ++ ++ // Add the multilib suffixed paths where they are available. ++ if (GCCInstallation.isValid()) { ++ const llvm::Triple &GCCTriple = GCCInstallation.getTriple(); ++ const std::string &LibPath = GCCInstallation.getParentLibPath(); ++ const Multilib &Multilib = GCCInstallation.getMultilib(); ++ const MultilibSet &Multilibs = GCCInstallation.getMultilibs(); ++ ++ // Add toolchain / multilib specific file paths. ++ addMultilibsFilePaths(D, Multilibs, Multilib, ++ GCCInstallation.getInstallPath(), Paths); ++ ++ // Sourcery CodeBench MIPS toolchain holds some libraries under ++ // a biarch-like suffix of the GCC installation. ++ addPathIfExists(D, GCCInstallation.getInstallPath() + Multilib.gccSuffix(), ++ Paths); ++ ++ // GCC cross compiling toolchains will install target libraries which ship ++ // as part of the toolchain under // rather than as ++ // any part of the GCC installation in ++ // //gcc//. This decision is somewhat ++ // debatable, but is the reality today. We need to search this tree even ++ // when we have a sysroot somewhere else. It is the responsibility of ++ // whomever is doing the cross build targeting a sysroot using a GCC ++ // installation that is *not* within the system root to ensure two things: ++ // ++ // 1) Any DSOs that are linked in from this tree or from the install path ++ // above must be present on the system root and found via an ++ // appropriate rpath. ++ // 2) There must not be libraries installed into ++ // // unless they should be preferred over ++ // those within the system root. ++ // ++ // Note that this matches the GCC behavior. See the below comment for where ++ // Clang diverges from GCC's behavior. ++ addPathIfExists(D, LibPath + "/../" + GCCTriple.str() + "/lib/../" + ++ OSLibDir + Multilib.osSuffix(), ++ Paths); ++ ++ // If the GCC installation we found is inside of the sysroot, we want to ++ // prefer libraries installed in the parent prefix of the GCC installation. ++ // It is important to *not* use these paths when the GCC installation is ++ // outside of the system root as that can pick up unintended libraries. ++ // This usually happens when there is an external cross compiler on the ++ // host system, and a more minimal sysroot available that is the target of ++ // the cross. Note that GCC does include some of these directories in some ++ // configurations but this seems somewhere between questionable and simply ++ // a bug. ++ if (StringRef(LibPath).startswith(SysRoot)) { ++ addPathIfExists(D, LibPath + "/" + MultiarchTriple, Paths); ++ addPathIfExists(D, LibPath + "/../" + OSLibDir, Paths); ++ } ++ } ++ ++ // Similar to the logic for GCC above, if we currently running Clang inside ++ // of the requested system root, add its parent library paths to ++ // those searched. ++ // FIXME: It's not clear whether we should use the driver's installed ++ // directory ('Dir' below) or the ResourceDir. ++ if (StringRef(D.Dir).startswith(SysRoot)) { ++ addPathIfExists(D, D.Dir + "/../lib/" + MultiarchTriple, Paths); ++ addPathIfExists(D, D.Dir + "/../" + OSLibDir, Paths); ++ } ++ ++ addPathIfExists(D, SysRoot + "/lib/" + MultiarchTriple, Paths); ++ addPathIfExists(D, SysRoot + "/lib/../" + OSLibDir, Paths); ++ ++ addPathIfExists(D, SysRoot + "/usr/lib/" + MultiarchTriple, Paths); ++ addPathIfExists(D, SysRoot + "/usr/lib/../" + OSLibDir, Paths); ++ ++ // Try walking via the GCC triple path in case of biarch or multiarch GCC ++ // installations with strange symlinks. ++ if (GCCInstallation.isValid()) { ++ addPathIfExists(D, ++ SysRoot + "/usr/lib/" + GCCInstallation.getTriple().str() + ++ "/../../" + OSLibDir, ++ Paths); ++ ++ // Add the 'other' biarch variant path ++ Multilib BiarchSibling; ++ if (GCCInstallation.getBiarchSibling(BiarchSibling)) { ++ addPathIfExists(D, GCCInstallation.getInstallPath() + ++ BiarchSibling.gccSuffix(), ++ Paths); ++ } ++ ++ // See comments above on the multilib variant for details of why this is ++ // included even from outside the sysroot. ++ const std::string &LibPath = GCCInstallation.getParentLibPath(); ++ const llvm::Triple &GCCTriple = GCCInstallation.getTriple(); ++ const Multilib &Multilib = GCCInstallation.getMultilib(); ++ addPathIfExists(D, LibPath + "/../" + GCCTriple.str() + "/lib" + ++ Multilib.osSuffix(), ++ Paths); ++ ++ // See comments above on the multilib variant for details of why this is ++ // only included from within the sysroot. ++ if (StringRef(LibPath).startswith(SysRoot)) ++ addPathIfExists(D, LibPath, Paths); ++ } ++ ++ // Similar to the logic for GCC above, if we are currently running Clang ++ // inside of the requested system root, add its parent library path to those ++ // searched. ++ // FIXME: It's not clear whether we should use the driver's installed ++ // directory ('Dir' below) or the ResourceDir. ++ if (StringRef(D.Dir).startswith(SysRoot)) ++ addPathIfExists(D, D.Dir + "/../lib", Paths); ++ ++ addPathIfExists(D, SysRoot + "/lib", Paths); ++ addPathIfExists(D, SysRoot + "/usr/lib", Paths); ++} ++ ++bool kFreeBSD::HasNativeLLVMSupport() const { return true; } ++ ++Tool *kFreeBSD::buildLinker() const { return new tools::gnutools::Linker(*this); } ++ ++Tool *kFreeBSD::buildAssembler() const { ++ return new tools::gnutools::Assembler(*this); ++} ++ ++std::string kFreeBSD::computeSysRoot() const { ++ if (!getDriver().SysRoot.empty()) ++ return getDriver().SysRoot; ++ ++ return std::string(); ++} ++ ++std::string kFreeBSD::getDynamicLinker(const ArgList &Args) const { ++ const llvm::Triple::ArchType Arch = getArch(); ++ ++ if (Arch == llvm::Triple::x86_64) ++ return "/lib/ld-kfreebsd-x86-64.so.1"; ++ ++ if (Arch == llvm::Triple::x86) ++ return "/lib/ld.so.1"; ++ ++ llvm_unreachable("unsupported architecture"); ++} ++ ++void kFreeBSD::AddClangSystemIncludeArgs(const ArgList &DriverArgs, ++ ArgStringList &CC1Args) const { ++ const Driver &D = getDriver(); ++ std::string SysRoot = computeSysRoot(); ++ ++ if (DriverArgs.hasArg(clang::driver::options::OPT_nostdinc)) ++ return; ++ ++ if (!DriverArgs.hasArg(options::OPT_nostdlibinc)) ++ addSystemInclude(DriverArgs, CC1Args, SysRoot + "/usr/local/include"); ++ ++ if (!DriverArgs.hasArg(options::OPT_nobuiltininc)) { ++ SmallString<128> P(D.ResourceDir); ++ llvm::sys::path::append(P, "include"); ++ addSystemInclude(DriverArgs, CC1Args, P); ++ } ++ ++ if (DriverArgs.hasArg(options::OPT_nostdlibinc)) ++ return; ++ ++ // Check for configure-time C include directories. ++ StringRef CIncludeDirs(C_INCLUDE_DIRS); ++ if (CIncludeDirs != "") { ++ SmallVector dirs; ++ CIncludeDirs.split(dirs, ":"); ++ for (StringRef dir : dirs) { ++ StringRef Prefix = ++ llvm::sys::path::is_absolute(dir) ? StringRef(SysRoot) : ""; ++ addExternCSystemInclude(DriverArgs, CC1Args, Prefix + dir); ++ } ++ // addExternCSystemInclude(DriverArgs, CC1Args, SysRoot + "/usr/include"); ++ return; ++ } ++ ++ // Lacking those, try to detect the correct set of system includes for the ++ // target triple. ++ ++ // Add include directories specific to the selected multilib set and multilib. ++ if (GCCInstallation.isValid()) { ++ const auto &Callback = Multilibs.includeDirsCallback(); ++ if (Callback) { ++ for (const auto &Path : Callback(GCCInstallation.getMultilib())) ++ addExternCSystemIncludeIfExists( ++ DriverArgs, CC1Args, GCCInstallation.getInstallPath() + Path); ++ } ++ } ++ ++ // Implement generic Debian multiarch support. ++ const StringRef X86_64MultiarchIncludeDirs[] = { ++ "/usr/include/x86_64-kfreebsd-gnu"}; ++ ++ // CHECK ++ const StringRef X86MultiarchIncludeDirs[] = { ++ "/usr/include/i386-kfreebsd-gnu"}; ++ ++ ArrayRef MultiarchIncludeDirs; ++ switch (getTriple().getArch()) { ++ case llvm::Triple::x86: ++ MultiarchIncludeDirs = X86MultiarchIncludeDirs; ++ break; ++ case llvm::Triple::x86_64: ++ MultiarchIncludeDirs = X86_64MultiarchIncludeDirs; ++ break; ++ default: ++ break; ++ } ++ ++ for (StringRef Dir : MultiarchIncludeDirs) { ++ if (D.getVFS().exists(SysRoot + Dir)) { ++ addExternCSystemInclude(DriverArgs, CC1Args, SysRoot + Dir); ++ break; ++ } ++ } ++ ++ // Add an include of '/include' directly. This isn't provided by default by ++ // system GCCs, but is often used with cross-compiling GCCs, and harmless to ++ // add even when Clang is acting as-if it were a system compiler. ++ addExternCSystemInclude(DriverArgs, CC1Args, SysRoot + "/include"); ++ ++ addExternCSystemInclude(DriverArgs, CC1Args, SysRoot + "/usr/include"); ++} ++ ++static std::string DetectLibcxxIncludePath(StringRef base) { ++ std::error_code EC; ++ int MaxVersion = 0; ++ std::string MaxVersionString = ""; ++ for (llvm::sys::fs::directory_iterator LI(base, EC), LE; !EC && LI != LE; ++ LI = LI.increment(EC)) { ++ StringRef VersionText = llvm::sys::path::filename(LI->path()); ++ int Version; ++ if (VersionText[0] == 'v' && ++ !VersionText.slice(1, StringRef::npos).getAsInteger(10, Version)) { ++ if (Version > MaxVersion) { ++ MaxVersion = Version; ++ MaxVersionString = VersionText; ++ } ++ } ++ } ++ return MaxVersion ? (base + "/" + MaxVersionString).str() : ""; ++} ++ ++void kFreeBSD::addLibCxxIncludePaths(const llvm::opt::ArgList &DriverArgs, ++ llvm::opt::ArgStringList &CC1Args) const { ++ const std::string& SysRoot = computeSysRoot(); ++ const std::string LibCXXIncludePathCandidates[] = { ++ DetectLibcxxIncludePath(getDriver().ResourceDir + "/include/c++"), ++ DetectLibcxxIncludePath(getDriver().Dir + "/../include/c++"), ++ // If this is a development, non-installed, clang, libcxx will ++ // not be found at ../include/c++ but it likely to be found at ++ // one of the following two locations: ++ DetectLibcxxIncludePath(SysRoot + "/usr/local/include/c++"), ++ DetectLibcxxIncludePath(SysRoot + "/usr/include/c++") }; ++ for (const auto &IncludePath : LibCXXIncludePathCandidates) { ++ if (IncludePath.empty() || !getVFS().exists(IncludePath)) ++ continue; ++ // Use the first candidate that exists. ++ addSystemInclude(DriverArgs, CC1Args, IncludePath); ++ return; ++ } ++} ++ ++void kFreeBSD::addLibStdCxxIncludePaths(const llvm::opt::ArgList &DriverArgs, ++ llvm::opt::ArgStringList &CC1Args) const { ++ // We need a detected GCC installation on kFreeBSD to provide libstdc++'s ++ // headers. ++ if (!GCCInstallation.isValid()) ++ return; ++ ++ // By default, look for the C++ headers in an include directory adjacent to ++ // the lib directory of the GCC installation. Note that this is expect to be ++ // equivalent to '/usr/include/c++/X.Y' in almost all cases. ++ StringRef LibDir = GCCInstallation.getParentLibPath(); ++ StringRef InstallDir = GCCInstallation.getInstallPath(); ++ StringRef TripleStr = GCCInstallation.getTriple().str(); ++ const Multilib &Multilib = GCCInstallation.getMultilib(); ++ const std::string GCCMultiarchTriple = getMultiarchTriple( ++ getDriver(), GCCInstallation.getTriple(), getDriver().SysRoot); ++ const std::string TargetMultiarchTriple = ++ getMultiarchTriple(getDriver(), getTriple(), getDriver().SysRoot); ++ const GCCVersion &Version = GCCInstallation.getVersion(); ++ ++ // The primary search for libstdc++ supports multiarch variants. ++ if (addLibStdCXXIncludePaths(LibDir.str() + "/../include", ++ "/c++/" + Version.Text, TripleStr, ++ GCCMultiarchTriple, TargetMultiarchTriple, ++ Multilib.includeSuffix(), DriverArgs, CC1Args)) ++ return; ++ ++ // Otherwise, fall back on a bunch of options which don't use multiarch ++ // layouts for simplicity. ++ const std::string LibStdCXXIncludePathCandidates[] = { ++ // Gentoo is weird and places its headers inside the GCC install, ++ // so if the first attempt to find the headers fails, try these patterns. ++ InstallDir.str() + "/include/g++-v" + Version.Text, ++ InstallDir.str() + "/include/g++-v" + Version.MajorStr + "." + ++ Version.MinorStr, ++ InstallDir.str() + "/include/g++-v" + Version.MajorStr, ++ // Android standalone toolchain has C++ headers in yet another place. ++ LibDir.str() + "/../" + TripleStr.str() + "/include/c++/" + Version.Text, ++ // Freescale SDK C++ headers are directly in /usr/include/c++, ++ // without a subdirectory corresponding to the gcc version. ++ LibDir.str() + "/../include/c++", ++ }; ++ ++ for (const auto &IncludePath : LibStdCXXIncludePathCandidates) { ++ if (addLibStdCXXIncludePaths(IncludePath, /*Suffix*/ "", TripleStr, ++ /*GCCMultiarchTriple*/ "", ++ /*TargetMultiarchTriple*/ "", ++ Multilib.includeSuffix(), DriverArgs, CC1Args)) ++ break; ++ } ++} ++ ++/* FIXME: ++/home/srs/DEBs/llvm-toolchain-7/llvm-toolchain-7-7.0.1~+rc2-7/clang/lib/Driver/ToolChains/KFreeBSD.cpp:431:15: error: no declaration matches ‘clang::SanitizerMask clang::driver::toolchains::kFreeBSD::getSupportedSanitizers() const’ ++ SanitizerMask kFreeBSD::getSupportedSanitizers() const { ++*/ ++SanitizerMask kFreeBSD::getSupportedSanitizers() const { ++ const bool IsX86 = getTriple().getArch() == llvm::Triple::x86; ++ const bool IsX86_64 = getTriple().getArch() == llvm::Triple::x86_64; ++ SanitizerMask Res = ToolChain::getSupportedSanitizers(); ++ // FIXME: Add here!! ++ if (IsX86_64) { ++ Res |= SanitizerKind::DataFlow; ++ Res |= SanitizerKind::Leak; ++ Res |= SanitizerKind::Thread; ++ Res |= SanitizerKind::Scudo; ++ Res |= SanitizerKind::HWAddress; ++ Res |= SanitizerKind::KernelHWAddress; ++ } ++ if (IsX86 || IsX86_64) ++ Res |= SanitizerKind::Function; ++ ++ return Res; ++} ++ +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/ToolChains/KFreeBSD.h +=================================================================== +--- /dev/null ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/ToolChains/KFreeBSD.h +@@ -0,0 +1,54 @@ ++//===--- KFreeBSD.h - kFreeBSD ToolChain Implementations ----------*- C++ -*-===// ++// ++// The LLVM Compiler Infrastructure ++// ++// This file is distributed under the University of Illinois Open Source ++// License. See LICENSE.TXT for details. ++// ++//===----------------------------------------------------------------------===// ++ ++#ifndef LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_KFreeBSD_H ++#define LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_KFreeBSD_H ++ ++#include "Gnu.h" ++#include "clang/Driver/ToolChain.h" ++ ++namespace clang { ++namespace driver { ++namespace toolchains { ++ ++class LLVM_LIBRARY_VISIBILITY kFreeBSD : public Generic_ELF { ++public: ++ kFreeBSD(const Driver &D, const llvm::Triple &Triple, ++ const llvm::opt::ArgList &Args); ++ ++ bool HasNativeLLVMSupport() const override; ++ ++ void ++ AddClangSystemIncludeArgs(const llvm::opt::ArgList &DriverArgs, ++ llvm::opt::ArgStringList &CC1Args) const override; ++ void addLibCxxIncludePaths( ++ const llvm::opt::ArgList &DriverArgs, ++ llvm::opt::ArgStringList &CC1Args) const override; ++ void addLibStdCxxIncludePaths( ++ const llvm::opt::ArgList &DriverArgs, ++ llvm::opt::ArgStringList &CC1Args) const override; ++ ++ SanitizerMask getSupportedSanitizers() const override; ++ ++ virtual std::string computeSysRoot() const; ++ ++ virtual std::string getDynamicLinker(const llvm::opt::ArgList &Args) const; ++ ++ std::vector ExtraOpts; ++ ++protected: ++ Tool *buildAssembler() const override; ++ Tool *buildLinker() const override; ++}; ++ ++} // end namespace toolchains ++} // end namespace driver ++} // end namespace clang ++ ++#endif // LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_KFreeBSD_H diff --git a/patches/kfreebsd/kfreebsd-triple.diff b/patches/kfreebsd/kfreebsd-triple.diff new file mode 100644 index 000000000..50dd3f8a8 --- /dev/null +++ b/patches/kfreebsd/kfreebsd-triple.diff @@ -0,0 +1,23 @@ +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/unittests/ADT/TripleTest.cpp +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/unittests/ADT/TripleTest.cpp ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/unittests/ADT/TripleTest.cpp +@@ -98,6 +98,18 @@ TEST(TripleTest, ParsedIDs) { + EXPECT_EQ(Triple::Hurd, T.getOS()); + EXPECT_EQ(Triple::GNU, T.getEnvironment()); + ++ T = Triple("i386-pc-kfreebsd-gnu"); ++ EXPECT_EQ(Triple::x86, T.getArch()); ++ EXPECT_EQ(Triple::PC, T.getVendor()); ++ EXPECT_EQ(Triple::kFreeBSD, T.getOS()); ++ EXPECT_EQ(Triple::GNU, T.getEnvironment()); ++ ++ T = Triple("x86_64-pc-kfreebsd-gnu"); ++ EXPECT_EQ(Triple::x86_64, T.getArch()); ++ EXPECT_EQ(Triple::PC, T.getVendor()); ++ EXPECT_EQ(Triple::kFreeBSD, T.getOS()); ++ EXPECT_EQ(Triple::GNU, T.getEnvironment()); ++ + T = Triple("x86_64-pc-linux-gnu"); + EXPECT_EQ(Triple::x86_64, T.getArch()); + EXPECT_EQ(Triple::PC, T.getVendor()); diff --git a/patches/kfreebsd/lib_Support.diff b/patches/kfreebsd/lib_Support.diff new file mode 100644 index 000000000..c27fb302e --- /dev/null +++ b/patches/kfreebsd/lib_Support.diff @@ -0,0 +1,35 @@ +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/lib/Support/Triple.cpp +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/lib/Support/Triple.cpp ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/lib/Support/Triple.cpp +@@ -183,7 +183,7 @@ StringRef Triple::getOSTypeName(OSType K + case FreeBSD: return "freebsd"; + case Fuchsia: return "fuchsia"; + case IOS: return "ios"; +- case KFreeBSD: return "kfreebsd"; ++ case kFreeBSD: return "kfreebsd"; + case Linux: return "linux"; + case Lv2: return "lv2"; + case MacOSX: return "macosx"; +@@ -488,7 +488,7 @@ static Triple::OSType parseOS(StringRef + .StartsWith("freebsd", Triple::FreeBSD) + .StartsWith("fuchsia", Triple::Fuchsia) + .StartsWith("ios", Triple::IOS) +- .StartsWith("kfreebsd", Triple::KFreeBSD) ++ .StartsWith("kfreebsd", Triple::kFreeBSD) + .StartsWith("linux", Triple::Linux) + .StartsWith("lv2", Triple::Lv2) + .StartsWith("macos", Triple::MacOSX) +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/lib/Support/Unix/Path.inc +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/lib/Support/Unix/Path.inc ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/lib/Support/Unix/Path.inc +@@ -62,7 +62,7 @@ + #define FSTATVFS fstatvfs + #define STATVFS_F_FRSIZE(vfs) vfs.f_frsize + #else +-#if defined(__OpenBSD__) || defined(__FreeBSD__) ++#if defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) + #include + #include + #elif defined(__linux__) diff --git a/patches/kfreebsd/lib_Target_X86.diff b/patches/kfreebsd/lib_Target_X86.diff new file mode 100644 index 000000000..636ab7833 --- /dev/null +++ b/patches/kfreebsd/lib_Target_X86.diff @@ -0,0 +1,26 @@ +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/lib/Target/X86/X86Subtarget.cpp +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/lib/Target/X86/X86Subtarget.cpp ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/lib/Target/X86/X86Subtarget.cpp +@@ -290,7 +290,7 @@ void X86Subtarget::initSubtargetFeatures + if (StackAlignOverride) + stackAlignment = *StackAlignOverride; + else if (isTargetDarwin() || isTargetLinux() || isTargetSolaris() || +- isTargetKFreeBSD() || In64BitMode) ++ isTargetkFreeBSD() || In64BitMode) + stackAlignment = Align(16); + + // Some CPUs have more overhead for gather. The specified overhead is relative +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/lib/Target/X86/X86Subtarget.h +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/lib/Target/X86/X86Subtarget.h ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/lib/Target/X86/X86Subtarget.h +@@ -764,7 +764,7 @@ public: + bool isTargetMachO() const { return TargetTriple.isOSBinFormatMachO(); } + + bool isTargetLinux() const { return TargetTriple.isOSLinux(); } +- bool isTargetKFreeBSD() const { return TargetTriple.isOSKFreeBSD(); } ++ bool isTargetkFreeBSD() const { return TargetTriple.isOSkFreeBSD(); } + bool isTargetGlibc() const { return TargetTriple.isOSGlibc(); } + bool isTargetAndroid() const { return TargetTriple.isAndroid(); } + bool isTargetNaCl() const { return TargetTriple.isOSNaCl(); } diff --git a/patches/kfreebsd/lldb_source_Host_freebsd_Host.cpp.diff b/patches/kfreebsd/lldb_source_Host_freebsd_Host.cpp.diff new file mode 100644 index 000000000..e99a83cef --- /dev/null +++ b/patches/kfreebsd/lldb_source_Host_freebsd_Host.cpp.diff @@ -0,0 +1,18 @@ +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/lldb/source/Host/freebsd/Host.cpp +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/lldb/source/Host/freebsd/Host.cpp ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/lldb/source/Host/freebsd/Host.cpp +@@ -10,6 +10,13 @@ + #include + + #include ++#ifdef __FreeBSD_kernel__ ++# ifdef __amd64__ ++# include ++# else ++# include ++# endif ++#endif + #include + #include + #include diff --git a/patches/kfreebsd/lldb_source_Plugins_Process_FreeBSD.diff b/patches/kfreebsd/lldb_source_Plugins_Process_FreeBSD.diff new file mode 100644 index 000000000..7bc11c8fa --- /dev/null +++ b/patches/kfreebsd/lldb_source_Plugins_Process_FreeBSD.diff @@ -0,0 +1,28 @@ +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/lldb/source/Plugins/Process/FreeBSD/FreeBSDThread.cpp +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/lldb/source/Plugins/Process/FreeBSD/FreeBSDThread.cpp ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/lldb/source/Plugins/Process/FreeBSD/FreeBSDThread.cpp +@@ -8,7 +8,9 @@ + + #include + #include ++#ifndef __FreeBSD_kernel__ + #include ++#endif + #include + #include + #include +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp +@@ -9,7 +9,9 @@ + + #include + #include ++#ifndef __FreeBSD_kernel__ + #include ++#endif + #include + #include + #include diff --git a/patches/kfreebsd/tools_llvm-shlib_CMakeLists.txt.diff b/patches/kfreebsd/tools_llvm-shlib_CMakeLists.txt.diff new file mode 100644 index 000000000..eeb847984 --- /dev/null +++ b/patches/kfreebsd/tools_llvm-shlib_CMakeLists.txt.diff @@ -0,0 +1,12 @@ +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/tools/llvm-shlib/CMakeLists.txt +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/tools/llvm-shlib/CMakeLists.txt ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/tools/llvm-shlib/CMakeLists.txt +@@ -49,6 +49,7 @@ if(LLVM_BUILD_LLVM_DYLIB) + list(REMOVE_DUPLICATES LIB_NAMES) + if(("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") OR (MINGW) OR (HAIKU) + OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "FreeBSD") ++ OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "kFreeBSD") + OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "GNU") + OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "OpenBSD") + OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "Fuchsia") diff --git a/patches/libcxx/libcxx-riscv64-cycletimer.diff b/patches/libcxx/libcxx-riscv64-cycletimer.diff new file mode 100644 index 000000000..18223264a --- /dev/null +++ b/patches/libcxx/libcxx-riscv64-cycletimer.diff @@ -0,0 +1,81 @@ +commit 09e6304440c08fe72b6ac05f922ab9d8b7f1e387 +Author: Roger Ferrer Ibanez +Date: Wed Jul 24 05:33:46 2019 +0000 + + [RISCV] Implement benchmark::cycleclock::Now + + This is a cherrypick of D64237 onto llvm/utils/benchmark and + libcxx/utils/google-benchmark. + + Differential Revision: https://reviews.llvm.org/D65142 + + llvm-svn: 366868 + +--- a/libcxx/utils/google-benchmark/README.LLVM ++++ b/libcxx/utils/google-benchmark/README.LLVM +@@ -4,3 +4,9 @@ LLVM notes + This directory contains the Google Benchmark source code with some unnecessary + files removed. Note that this directory is under a different license than + libc++. ++ ++Changes: ++* https://github.com/google/benchmark/commit/4abdfbb802d1b514703223f5f852ce4a507d32d2 ++ is applied on top of ++ https://github.com/google/benchmark/commit/4528c76b718acc9b57956f63069c699ae21edcab ++ to add RISC-V timer support. +--- a/libcxx/utils/google-benchmark/src/cycleclock.h ++++ b/libcxx/utils/google-benchmark/src/cycleclock.h +@@ -164,6 +164,21 @@ inline BENCHMARK_ALWAYS_INLINE int64_t Now() { + uint64_t tsc; + asm("stck %0" : "=Q"(tsc) : : "cc"); + return tsc; ++#elif defined(__riscv) // RISC-V ++ // Use RDCYCLE (and RDCYCLEH on riscv32) ++#if __riscv_xlen == 32 ++ uint64_t cycles_low, cycles_hi0, cycles_hi1; ++ asm("rdcycleh %0" : "=r"(cycles_hi0)); ++ asm("rdcycle %0" : "=r"(cycles_lo)); ++ asm("rdcycleh %0" : "=r"(cycles_hi1)); ++ // This matches the PowerPC overflow detection, above ++ cycles_lo &= -static_cast(cycles_hi0 == cycles_hi1); ++ return (cycles_hi1 << 32) | cycles_lo; ++#else ++ uint64_t cycles; ++ asm("rdcycle %0" : "=r"(cycles)); ++ return cycles; ++#endif + #else + // The soft failover to a generic implementation is automatic only for ARM. + // For other platforms the developer is expected to make an attempt to create +--- a/utils/benchmark/README.LLVM ++++ b/utils/benchmark/README.LLVM +@@ -23,3 +23,5 @@ Changes: + is applied to disable exceptions in Microsoft STL when exceptions are disabled + * Disabled CMake get_git_version as it is meaningless for this in-tree build, + and hardcoded a null version ++* https://github.com/google/benchmark/commit/4abdfbb802d1b514703223f5f852ce4a507d32d2 ++ is applied on top of v1.4.1 to add RISC-V timer support. +--- a/utils/benchmark/src/cycleclock.h ++++ b/utils/benchmark/src/cycleclock.h +@@ -164,6 +164,21 @@ inline BENCHMARK_ALWAYS_INLINE int64_t Now() { + uint64_t tsc; + asm("stck %0" : "=Q" (tsc) : : "cc"); + return tsc; ++#elif defined(__riscv) // RISC-V ++ // Use RDCYCLE (and RDCYCLEH on riscv32) ++#if __riscv_xlen == 32 ++ uint64_t cycles_low, cycles_hi0, cycles_hi1; ++ asm("rdcycleh %0" : "=r"(cycles_hi0)); ++ asm("rdcycle %0" : "=r"(cycles_lo)); ++ asm("rdcycleh %0" : "=r"(cycles_hi1)); ++ // This matches the PowerPC overflow detection, above ++ cycles_lo &= -static_cast(cycles_hi0 == cycles_hi1); ++ return (cycles_hi1 << 32) | cycles_lo; ++#else ++ uint64_t cycles; ++ asm("rdcycle %0" : "=r"(cycles)); ++ return cycles; ++#endif + #else + // The soft failover to a generic implementation is automatic only for ARM. + // For other platforms the developer is expected to make an attempt to create diff --git a/patches/libcxx/libcxx-silent-failure-arm64.diff b/patches/libcxx/libcxx-silent-failure-arm64.diff new file mode 100644 index 000000000..bffb2a90b --- /dev/null +++ b/patches/libcxx/libcxx-silent-failure-arm64.diff @@ -0,0 +1,25 @@ +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp +@@ -7,6 +7,7 @@ + //===----------------------------------------------------------------------===// + // + // UNSUPPORTED: libcpp-has-no-threads ++// XFAIL: * + + // FLAKY_TEST. + +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp +@@ -8,7 +8,7 @@ + // + // UNSUPPORTED: libcpp-has-no-threads + // UNSUPPORTED: c++98, c++03, c++11 +-// XFAIL: dylib-has-no-shared_mutex ++// XFAIL: * + + // FLAKY_TEST. + diff --git a/patches/libcxx/libcxx-silent-failure-ppc64el.diff b/patches/libcxx/libcxx-silent-failure-ppc64el.diff new file mode 100644 index 000000000..97a62fcd4 --- /dev/null +++ b/patches/libcxx/libcxx-silent-failure-ppc64el.diff @@ -0,0 +1,13 @@ +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxx/test/libcxx/atomics/atomics.align/align.pass.sh.cpp +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/libcxx/test/libcxx/atomics/atomics.align/align.pass.sh.cpp ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxx/test/libcxx/atomics/atomics.align/align.pass.sh.cpp +@@ -13,7 +13,7 @@ + // + // GCC currently fails because it needs -fabi-version=6 to fix mangling of + // std::atomic when used with __attribute__((vector(X))). +-// XFAIL: gcc ++// XFAIL: * + + // + diff --git a/patches/libcxx/libcxx-silent-test-libcxx.diff b/patches/libcxx/libcxx-silent-test-libcxx.diff new file mode 100644 index 000000000..ffae59648 --- /dev/null +++ b/patches/libcxx/libcxx-silent-test-libcxx.diff @@ -0,0 +1,51 @@ +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxx/test/std/numerics/rand/rand.util/rand.util.canonical/generate_canonical.pass.cpp +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/libcxx/test/std/numerics/rand/rand.util/rand.util.canonical/generate_canonical.pass.cpp ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxx/test/std/numerics/rand/rand.util/rand.util.canonical/generate_canonical.pass.cpp +@@ -11,6 +11,8 @@ + // template + // RealType generate_canonical(URNG& g); + ++// XFAIL: * ++ + #include + #include + +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxx/test/std/re/re.traits/isctype.pass.cpp +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/libcxx/test/std/re/re.traits/isctype.pass.cpp ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxx/test/std/re/re.traits/isctype.pass.cpp +@@ -15,6 +15,7 @@ + // TODO(EricWF): This test takes 40+ minutes to build with Clang 3.8 under ASAN or MSAN. + // UNSUPPORTED: asan, msan + ++// XFAIL: * + + #include + #include +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxxabi/test/catch_multi_level_pointer.pass.cpp +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/libcxxabi/test/catch_multi_level_pointer.pass.cpp ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxxabi/test/catch_multi_level_pointer.pass.cpp +@@ -8,6 +8,8 @@ + + // UNSUPPORTED: libcxxabi-no-exceptions + ++// XFAIL: * ++ + #include + #include + #include +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct.pass.cpp +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct.pass.cpp ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct.pass.cpp +@@ -15,6 +15,8 @@ + + // template void construct(T* p, Args&&... args); + ++// XFAIL: * ++ + #include + #include + #include diff --git a/patches/libcxx/libcxx-test-atomics-set-compare-exchange-to-be-expected-fails-on-arm.patch b/patches/libcxx/libcxx-test-atomics-set-compare-exchange-to-be-expected-fails-on-arm.patch new file mode 100644 index 000000000..41fa7b05b --- /dev/null +++ b/patches/libcxx/libcxx-test-atomics-set-compare-exchange-to-be-expected-fails-on-arm.patch @@ -0,0 +1,58 @@ +Clang 3.9 regression causes a bug when generating code for +std::atomic_compare_and_exchange*(std::atomic,...) without +optimizations. If same code is compiled with -O2 tests pass without problems. +Atomics are implement in headers with builtin functions which makes this +affect application code instead of libc++ library code. + +libcxx tests default to -O0 compilation so these test need to be marked failing +on arm to allow installing packages. Use cases is so borderline failure that it +shouldn't prevent building the package. (64bit atomics in 32bit mode) + +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong.pass.cpp +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong.pass.cpp ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong.pass.cpp +@@ -7,6 +7,7 @@ + //===----------------------------------------------------------------------===// + // + // UNSUPPORTED: libcpp-has-no-threads ++// XFAIL: arm + // ... assertion fails line 34 + + // +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong_explicit.pass.cpp +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong_explicit.pass.cpp ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong_explicit.pass.cpp +@@ -7,6 +7,7 @@ + //===----------------------------------------------------------------------===// + // + // UNSUPPORTED: libcpp-has-no-threads ++// XFAIL: arm + // ... assertion fails line 38 + + // +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak.pass.cpp +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak.pass.cpp ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak.pass.cpp +@@ -7,6 +7,7 @@ + //===----------------------------------------------------------------------===// + // + // UNSUPPORTED: libcpp-has-no-threads ++// XFAIL: arm + // ... assertion fails line 34 + + // +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak_explicit.pass.cpp +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak_explicit.pass.cpp ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak_explicit.pass.cpp +@@ -7,6 +7,7 @@ + //===----------------------------------------------------------------------===// + // + // UNSUPPORTED: libcpp-has-no-threads ++// XFAIL: arm + // ... assertion fails line 38 + + // diff --git a/patches/libcxx/libcxx-test-fix-lockfree-test-for-i386.patch b/patches/libcxx/libcxx-test-fix-lockfree-test-for-i386.patch new file mode 100644 index 000000000..237b4fec9 --- /dev/null +++ b/patches/libcxx/libcxx-test-fix-lockfree-test-for-i386.patch @@ -0,0 +1,31 @@ +Lock is_always_lock free test fails on i386 because std::atomic is aligned +to 8 bytes while long long is aligned to 4 bytes. clang can't generate inline +code for unaligned 8 byte atomics even tough instruction set and gcc support +it. + +That makes it expected thaqt ATOMIC_LLONG_LOCK_FREE and +std::atomic::is_always_lock_free don't match on i386. Correct test +for std::atomic is to check if target cpu support cmpxchg8 instruction. +To set instruction support one can check __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 define. + +Bug: https://llvm.org/bugs/show_bug.cgi?id=19355 + +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxx/test/std/atomics/atomics.lockfree/isalwayslockfree.pass.cpp +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/libcxx/test/std/atomics/atomics.lockfree/isalwayslockfree.pass.cpp ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxx/test/std/atomics/atomics.lockfree/isalwayslockfree.pass.cpp +@@ -21,6 +21,14 @@ + # error Feature test macro missing. + #endif + ++#if defined(__i386__) && defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8) ++/* Fix for clang setting __GCC_ATOMIC_LLONG_LOCK_FREE incorecctly for x86 ++ * https://llvm.org/bugs/show_bug.cgi?id=19355 ++ */ ++#undef ATOMIC_LLONG_LOCK_FREE ++#define ATOMIC_LLONG_LOCK_FREE 2 ++#endif ++ + template void checkAlwaysLockFree() { + if (std::atomic::is_always_lock_free) + assert(std::atomic().is_lock_free()); diff --git a/patches/libcxx/libcxxabi-arm-ehabi-fix.patch b/patches/libcxx/libcxxabi-arm-ehabi-fix.patch new file mode 100644 index 000000000..55d2b588e --- /dev/null +++ b/patches/libcxx/libcxxabi-arm-ehabi-fix.patch @@ -0,0 +1,118 @@ +Fix arm EHABI code to work. armhf had exception test failing without EHABI support. + +No known upstream bug about this. Actual code change is more like workaround than +something that upstream would accept. Proper fix would be adding _Unwind_Control_Block +to clang unwind.h. _Unwind_Control_Block should also extend _Unwind_Exception to make +sure their ABI stays in sync. + +No known upstream bug about this. + +Index: llvm-toolchain-10_10~++20200205105438+211aa5bf59e/libcxxabi/src/cxa_exception.cpp +=================================================================== +--- llvm-toolchain-10_10~++20200205105438+211aa5bf59e.orig/libcxxabi/src/cxa_exception.cpp ++++ llvm-toolchain-10_10~++20200205105438+211aa5bf59e/libcxxabi/src/cxa_exception.cpp +@@ -275,15 +275,16 @@ __cxa_throw(void *thrown_object, std::ty + + #ifdef __USING_SJLJ_EXCEPTIONS__ + _Unwind_SjLj_RaiseException(&exception_header->unwindHeader); +-#else ++#elif !LIBCXXABI_ARM_EHABI + _Unwind_RaiseException(&exception_header->unwindHeader); ++#else ++ _Unwind_RaiseException(exception_header->unwindHeader); + #endif + // This only happens when there is no handler, or some unexpected unwinding + // error happens. + failed_throw(exception_header); + } + +- + // 2.5.3 Exception Handlers + /* + The adjusted pointer is computed by the personality routine during phase 1 +@@ -546,7 +547,11 @@ void __cxa_end_catch() { + // to touch a foreign exception in any way, that is undefined + // behavior. They likely can't since the only way to catch + // a foreign exception is with catch (...)! ++#if !LIBCXXABI_ARM_EHABI + _Unwind_DeleteException(&globals->caughtExceptions->unwindHeader); ++#else ++ _Unwind_DeleteException(globals->caughtExceptions->unwindHeader); ++#endif + globals->caughtExceptions = 0; + } + } +@@ -603,8 +608,10 @@ void __cxa_rethrow() { + } + #ifdef __USING_SJLJ_EXCEPTIONS__ + _Unwind_SjLj_RaiseException(&exception_header->unwindHeader); +-#else ++#elif !LIBCXXABI_ARM_EHABI + _Unwind_RaiseException(&exception_header->unwindHeader); ++#else ++ _Unwind_RaiseException(exception_header->unwindHeader); + #endif + + // If we get here, some kind of unwinding error has occurred. +@@ -728,8 +735,10 @@ __cxa_rethrow_primary_exception(void* th + dep_exception_header->unwindHeader.exception_cleanup = dependent_exception_cleanup; + #ifdef __USING_SJLJ_EXCEPTIONS__ + _Unwind_SjLj_RaiseException(&dep_exception_header->unwindHeader); ++#elif !LIBCXXABI_ARM_EHABI ++ _Unwind_RaiseException(&dep_exception_header->unwindHeader); + #else +- _Unwind_RaiseException(&dep_exception_header->unwindHeader); ++ _Unwind_RaiseException(dep_exception_header->unwindHeader); + #endif + // Some sort of unwinding error. Note that terminate is a handler. + __cxa_begin_catch(&dep_exception_header->unwindHeader); +Index: llvm-toolchain-10_10~++20200205105438+211aa5bf59e/libcxxabi/src/cxa_exception.h +=================================================================== +--- llvm-toolchain-10_10~++20200205105438+211aa5bf59e.orig/libcxxabi/src/cxa_exception.h ++++ llvm-toolchain-10_10~++20200205105438+211aa5bf59e/libcxxabi/src/cxa_exception.h +@@ -27,6 +27,45 @@ _LIBCXXABI_HIDDEN uint64_t __getExceptio + _LIBCXXABI_HIDDEN void __setExceptionClass ( _Unwind_Exception*, uint64_t); + _LIBCXXABI_HIDDEN bool __isOurExceptionClass(const _Unwind_Exception*); + ++#if LIBCXXABI_ARM_EHABI ++// GCC has _Unwind_Control_Block in unwind.h (unwind_arm_common.h) ++#if defined(__clang__) ++struct _Unwind_Control_Block ++{ ++ uint64_t exception_class; ++ void (*exception_cleanup)(_Unwind_Reason_Code, _Unwind_Control_Block *); ++ struct { ++ _Unwind_Word reserved1; ++ _Unwind_Word reserved2; ++ _Unwind_Word reserved3; ++ _Unwind_Word reserved4; ++ _Unwind_Word reserved5; ++ } unwinder_cache; ++ struct { ++ _Unwind_Word sp; ++ _Unwind_Word bitpattern[5]; ++ } barrier_cache; ++ struct { ++ _Unwind_Word bitpattern[4]; ++ } cleanup_cache; ++ struct { ++ _Unwind_Word fnstart; ++ _Unwind_Word *ehtp; ++ _Unwind_Word additional; ++ _Unwind_Word reserved1; ++ } pr_cache; ++ long long int :0; ++ operator _Unwind_Exception*() noexcept ++ { ++ return reinterpret_cast<_Unwind_Exception*>(this); ++ } ++}; ++ ++#endif ++ ++#define _Unwind_Exception _Unwind_Control_Block ++#endif ++ + struct _LIBCXXABI_HIDDEN __cxa_exception { + #if defined(__LP64__) || defined(_WIN64) || defined(_LIBCXXABI_ARM_EHABI) + // Now _Unwind_Exception is marked with __attribute__((aligned)), diff --git a/patches/libcxx/libcxxabi-test-don-t-fail-extended-long-double.patch b/patches/libcxx/libcxxabi-test-don-t-fail-extended-long-double.patch new file mode 100644 index 000000000..b3f473d8a --- /dev/null +++ b/patches/libcxx/libcxxabi-test-don-t-fail-extended-long-double.patch @@ -0,0 +1,17 @@ +Powerpc has extended double that doesn't match x86 coding. Power format would +need special tests to verify correctness but for now it is enough to prevent +incorrect test from running. + +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxxabi/test/test_demangle.pass.cpp +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/libcxxabi/test/test_demangle.pass.cpp ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxxabi/test/test_demangle.pass.cpp +@@ -29834,7 +29834,7 @@ const char* invalid_cases[] = + "NSoERj5E=Y1[uM:ga", + "Aon_PmKVPDk7?fg4XP5smMUL6;Vl<>IL8ayHpiVDDDXTY;^o9;i", + "_ZNSt16allocator_traitsISaIN4llvm3sys2fs18directory_iteratorEEE9constructIS3_IS3_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS4_PT_DpOS7_", +-#if !LDBL_FP80 ++#if !LDBL_FP80 && __LDBL_MANT_DIG__ < 64 + "_ZN5test01hIfEEvRAcvjplstT_Le4001a000000000000000E_c", + #endif + // The following test cases were found by libFuzzer+ASAN diff --git a/patches/lldb-libname.diff b/patches/lldb-libname.diff new file mode 100644 index 000000000..e651ef049 --- /dev/null +++ b/patches/lldb-libname.diff @@ -0,0 +1,17 @@ +--- + lldb/scripts/Python/finishSwigPythonLLDB.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: llvm-toolchain-snapshot_10~svn3310515/lldb/scripts/Python/finishSwigPythonLLDB.py +=================================================================== +--- llvm-toolchain-snapshot_10~svn3310515.orig/lldb/scripts/Python/finishSwigPythonLLDB.py ++++ llvm-toolchain-snapshot_10~svn3310515/lldb/scripts/Python/finishSwigPythonLLDB.py +@@ -443,7 +443,7 @@ def make_symlink_liblldb( + if eOSType == utilsOsType.EnumOsType.Darwin: + strLibFileExtn = ".dylib" + else: +- strLibFileExtn = ".so" ++ strLibFileExtn = "-10.so" + strSrc = os.path.join(vstrLldbLibDir, "liblldb" + strLibFileExtn) + + bOk, strErrMsg = make_symlink( diff --git a/patches/lldb-soname.diff b/patches/lldb-soname.diff new file mode 100644 index 000000000..cc012ece4 --- /dev/null +++ b/patches/lldb-soname.diff @@ -0,0 +1,43 @@ +--- + lldb/source/API/CMakeLists.txt | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +Index: llvm-toolchain-snapshot_10~++20200103094450+3186b18b998/lldb/source/API/CMakeLists.txt +=================================================================== +--- llvm-toolchain-snapshot_10~++20200103094450+3186b18b998.orig/lldb/source/API/CMakeLists.txt ++++ llvm-toolchain-snapshot_10~++20200103094450+3186b18b998/lldb/source/API/CMakeLists.txt +@@ -19,7 +19,12 @@ if(LLDB_BUILD_FRAMEWORK) + set(option_framework FRAMEWORK) + endif() + +-add_lldb_library(liblldb SHARED ${option_framework} ++set(output_name lldb) ++if (CMAKE_SYSTEM_NAME MATCHES "Windows") ++ set(output_name liblldb) ++endif() ++ ++add_lldb_library(liblldb SHARED OUTPUT_NAME ${output_name} SONAME + SBAddress.cpp + SBAttachInfo.cpp + SBBlock.cpp +@@ -151,7 +156,7 @@ endif() + + set_target_properties(liblldb + PROPERTIES +- VERSION ${LLDB_VERSION} ++ VERSION 1 + ) + + if (NOT CMAKE_SYSTEM_NAME MATCHES "Windows") +@@ -176,11 +181,6 @@ if ( CMAKE_SYSTEM_NAME MATCHES "Windows" + if (MSVC AND LLDB_ENABLE_PYTHON) + target_link_libraries(liblldb PRIVATE ${PYTHON_LIBRARIES}) + endif() +-else() +- set_target_properties(liblldb +- PROPERTIES +- OUTPUT_NAME lldb +- ) + endif() + + if (NOT LLDB_BUILT_STANDALONE) diff --git a/patches/lldb/lldb-addversion-suffix-to-llvm-server-exec.patch b/patches/lldb/lldb-addversion-suffix-to-llvm-server-exec.patch new file mode 100644 index 000000000..fd4d7b21f --- /dev/null +++ b/patches/lldb/lldb-addversion-suffix-to-llvm-server-exec.patch @@ -0,0 +1,35 @@ +lldb-server exec users always /usr/bin/lldb-server. Server is required +for any debugging with lldb which makes it unusable unless default version +package has been installed. Small changes to code and debian/rules allows +a workaround for lldb-server start up. + +To use this one needs to add cmake definition during configure. eg +-DDEBIAN_VERSION_SUFFIX=-$(LLVM_VERSION) + +Better implementation would be to use /usr/share/llvm-$(VERSION)/bin but +that change seems to require a big change to the path handling code +which could then break something else. + +This probably should have upstream bug but I couldn't find any existing report. + +Index: llvm-toolchain-snapshot_10~++20200114112031+ddbc0b1e516/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114112031+ddbc0b1e516.orig/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp ++++ llvm-toolchain-snapshot_10~++20200114112031+ddbc0b1e516/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp +@@ -35,6 +35,7 @@ + #include "lldb/Utility/StreamString.h" + #include "llvm/ADT/SmallString.h" + #include "llvm/Support/ScopedPrinter.h" ++#include "llvm/Config/llvm-config.h" + + #include "ProcessGDBRemoteLog.h" + +@@ -43,7 +44,7 @@ + #elif defined(_WIN32) + #define DEBUGSERVER_BASENAME "lldb-server.exe" + #else +-#define DEBUGSERVER_BASENAME "lldb-server" ++# define DEBUGSERVER_BASENAME "lldb-server-" LLVM_VERSION_STRING + #endif + + #if defined(HAVE_LIBCOMPRESSION) diff --git a/patches/lldb/lldb-disable-swig-error.diff b/patches/lldb/lldb-disable-swig-error.diff new file mode 100644 index 000000000..0a2f63ee9 --- /dev/null +++ b/patches/lldb/lldb-disable-swig-error.diff @@ -0,0 +1,13 @@ +Index: llvm-toolchain-snapshot_10~++20200109103418+595ac8c46ea/lldb/bindings/python.swig +=================================================================== +--- llvm-toolchain-snapshot_10~++20200109103418+595ac8c46ea.orig/lldb/bindings/python.swig ++++ llvm-toolchain-snapshot_10~++20200109103418+595ac8c46ea/lldb/bindings/python.swig +@@ -50,7 +50,7 @@ except ImportError: + %enddef + // These versions will not generate working python modules, so error out early. + #if SWIG_VERSION >= 0x030009 && SWIG_VERSION < 0x030011 +-#error Swig versions 3.0.9 and 3.0.10 are incompatible with lldb. ++#warning Swig versions 3.0.9 and 3.0.10 are incompatible with lldb. + #endif + + // The name of the module to be created. diff --git a/patches/lldb/lldb-link-atomic-cmake.patch b/patches/lldb/lldb-link-atomic-cmake.patch new file mode 100644 index 000000000..206af9130 --- /dev/null +++ b/patches/lldb/lldb-link-atomic-cmake.patch @@ -0,0 +1,26 @@ +Description: Link with -latomic when mips* processor is detected +Author: Gianfranco Costamagna +Last-Update: 2016-07-27 + +--- + lldb/cmake/LLDBDependencies.cmake | 6 ++++++ + 1 file changed, 6 insertions(+) + +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/lldb/source/Utility/CMakeLists.txt +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/lldb/source/Utility/CMakeLists.txt ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/lldb/source/Utility/CMakeLists.txt +@@ -2,6 +2,13 @@ set(LLDB_SYSTEM_LIBS) + + list(APPEND LLDB_SYSTEM_LIBS ${system_libs}) + ++if(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "mips" OR ++ CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "mipsel" OR ++ CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "mips64el" OR ++ CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "powerpcspe") ++ list(APPEND LLDB_SYSTEM_LIBS atomic) ++endif() ++ + if (CMAKE_SYSTEM_NAME MATCHES "Windows") + list(APPEND LLDB_SYSTEM_LIBS ws2_32 rpcrt4) + endif () diff --git a/patches/lldb/lldb-missing-install.diff b/patches/lldb/lldb-missing-install.diff new file mode 100644 index 000000000..eaa7ecf42 --- /dev/null +++ b/patches/lldb/lldb-missing-install.diff @@ -0,0 +1,23 @@ +Index: llvm-toolchain-snapshot_10~++20200114112031+ddbc0b1e516/lldb/tools/argdumper/CMakeLists.txt +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114112031+ddbc0b1e516.orig/lldb/tools/argdumper/CMakeLists.txt ++++ llvm-toolchain-snapshot_10~++20200114112031+ddbc0b1e516/lldb/tools/argdumper/CMakeLists.txt +@@ -4,3 +4,6 @@ add_lldb_tool(lldb-argdumper ADD_TO_FRAM + LINK_COMPONENTS + Support + ) ++ ++install(TARGETS lldb-argdumper ++ RUNTIME DESTINATION bin) +Index: llvm-toolchain-snapshot_10~++20200114112031+ddbc0b1e516/lldb/tools/lldb-server/CMakeLists.txt +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114112031+ddbc0b1e516.orig/lldb/tools/lldb-server/CMakeLists.txt ++++ llvm-toolchain-snapshot_10~++20200114112031+ddbc0b1e516/lldb/tools/lldb-server/CMakeLists.txt +@@ -52,3 +52,7 @@ add_lldb_tool(lldb-server + + target_include_directories(lldb-server PRIVATE "${LLDB_SOURCE_DIR}/source") + target_link_libraries(lldb-server PRIVATE ${LLDB_SYSTEM_LIBS}) ++ ++install(TARGETS lldb-server ++ RUNTIME DESTINATION bin) ++ diff --git a/patches/mips-force-nomadd4.patch b/patches/mips-force-nomadd4.patch new file mode 100644 index 000000000..670b2f133 --- /dev/null +++ b/patches/mips-force-nomadd4.patch @@ -0,0 +1,92 @@ +The MIPS port aims to support the Loongson 3 family of CPUs in addition +of the other MIPS CPUs. On the Loongson 3 family the MADD4 instructions +are fused, while they are not fused on the other MIPS CPUs. In order to +support both, we have to disabled those instructions. + +For that, the patch below basically corresponds to the --with-madd4=no +used on the GCC side. + +Index: llvm-toolchain-10-10.0.1~+rc4/clang/lib/Basic/Targets/Mips.h +=================================================================== +--- llvm-toolchain-10-10.0.1~+rc4.orig/clang/lib/Basic/Targets/Mips.h ++++ llvm-toolchain-10-10.0.1~+rc4/clang/lib/Basic/Targets/Mips.h +@@ -332,6 +332,8 @@ + HasMSA = true; + else if (Feature == "+nomadd4") + DisableMadd4 = true; ++ else if (Feature == "-nomadd4") ++ DisableMadd4 = false; + else if (Feature == "+fp64") + FPMode = FP64; + else if (Feature == "-fp64") +Index: llvm-toolchain-10-10.0.1~+rc4/llvm/lib/Target/Mips/MipsSubtarget.cpp +=================================================================== +--- llvm-toolchain-10-10.0.1~+rc4.orig/llvm/lib/Target/Mips/MipsSubtarget.cpp ++++ llvm-toolchain-10-10.0.1~+rc4/llvm/lib/Target/Mips/MipsSubtarget.cpp +@@ -79,7 +79,7 @@ + InMips16Mode(false), InMips16HardFloat(Mips16HardFloat), + InMicroMipsMode(false), HasDSP(false), HasDSPR2(false), HasDSPR3(false), + AllowMixed16_32(Mixed16_32 | Mips_Os16), Os16(Mips_Os16), HasMSA(false), +- UseTCCInDIV(false), HasSym32(false), HasEVA(false), DisableMadd4(false), ++ UseTCCInDIV(false), HasSym32(false), HasEVA(false), DisableMadd4(true), + HasMT(false), HasCRC(false), HasVirt(false), HasGINV(false), + UseIndirectJumpsHazard(false), StackAlignOverride(StackAlignOverride), + TM(TM), TargetTriple(TT), TSInfo(), +@@ -91,6 +91,9 @@ + if (MipsArchVersion == MipsDefault) + MipsArchVersion = Mips32; + ++ if (hasMips32r6() || hasMips64r6()) ++ DisableMadd4 = false; ++ + // Don't even attempt to generate code for MIPS-I and MIPS-V. They have not + // been tested and currently exist for the integrated assembler only. + if (MipsArchVersion == Mips1) +@@ -238,6 +241,7 @@ + MipsSubtarget::initializeSubtargetDependencies(StringRef CPU, StringRef FS, + const TargetMachine &TM) { + std::string CPUName = MIPS_MC::selectMipsCPU(TM.getTargetTriple(), CPU); ++ SubtargetFeatures Features(FS); + + // Parse features string. + ParseSubtargetFeatures(CPUName, FS); +@@ -260,6 +264,13 @@ + report_fatal_error("64-bit code requested on a subtarget that doesn't " + "support it!"); + ++ for (const std::string &Feature : Features.getFeatures()) { ++ if (Feature == "+nomadd4") ++ DisableMadd4 = true; ++ else if (Feature == "-nomadd4") ++ DisableMadd4 = false; ++ } ++ + return *this; + } + +Index: llvm-toolchain-10-10.0.1~+rc4/llvm/lib/Target/Mips/Mips.td +=================================================================== +--- llvm-toolchain-10-10.0.1~+rc4.orig/llvm/lib/Target/Mips/Mips.td ++++ llvm-toolchain-10-10.0.1~+rc4/llvm/lib/Target/Mips/Mips.td +@@ -205,7 +205,7 @@ + "UseTCCInDIV", "false", + "Force the assembler to use trapping">; + +-def FeatureMadd4 ++def FeatureNoMadd4 + : SubtargetFeature<"nomadd4", "DisableMadd4", "true", + "Disable 4-operand madd.fmt and related instructions">; + +Index: llvm-toolchain-10-10.0.1~+rc4/llvm/lib/Target/Mips/MipsInstrInfo.td +=================================================================== +--- llvm-toolchain-10-10.0.1~+rc4.orig/llvm/lib/Target/Mips/MipsInstrInfo.td ++++ llvm-toolchain-10-10.0.1~+rc4/llvm/lib/Target/Mips/MipsInstrInfo.td +@@ -242,7 +242,7 @@ + def HasMSA : Predicate<"Subtarget->hasMSA()">, + AssemblerPredicate<"FeatureMSA">; + def HasMadd4 : Predicate<"!Subtarget->disableMadd4()">, +- AssemblerPredicate<"!FeatureMadd4">; ++ AssemblerPredicate<"!FeatureNoMadd4">; + def HasMT : Predicate<"Subtarget->hasMT()">, + AssemblerPredicate<"FeatureMT">; + def UseIndirectJumpsHazard : Predicate<"Subtarget->useIndirectJumpsHazard()">, diff --git a/patches/mips-fpxx-enable.diff b/patches/mips-fpxx-enable.diff new file mode 100644 index 000000000..6ed13aac4 --- /dev/null +++ b/patches/mips-fpxx-enable.diff @@ -0,0 +1,17 @@ +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/ToolChains/Arch/Mips.cpp +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/lib/Driver/ToolChains/Arch/Mips.cpp ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/ToolChains/Arch/Mips.cpp +@@ -468,10 +468,10 @@ bool mips::isFP64ADefault(const llvm::Tr + + bool mips::isFPXXDefault(const llvm::Triple &Triple, StringRef CPUName, + StringRef ABIName, mips::FloatABI FloatABI) { +- if (Triple.getVendor() != llvm::Triple::ImaginationTechnologies && ++/* if (Triple.getVendor() != llvm::Triple::ImaginationTechnologies && + Triple.getVendor() != llvm::Triple::MipsTechnologies && + !Triple.isAndroid()) +- return false; ++ return false;*/ + + if (ABIName != "32") + return false; diff --git a/patches/no-cgi.patch b/patches/no-cgi.patch new file mode 100644 index 000000000..bf782e02b --- /dev/null +++ b/patches/no-cgi.patch @@ -0,0 +1,44 @@ +Description: cgi method is deprecated, use html instead +Author: Gianfranco Costamagna +Last-Update: 2020-02-25 + +--- llvm-toolchain-10-10.0.0~+rc2.orig/llvm/tools/opt-viewer/opt-viewer.py ++++ llvm-toolchain-10-10.0.0~+rc2/llvm/tools/opt-viewer/opt-viewer.py +@@ -3,7 +3,7 @@ + from __future__ import print_function + + import argparse +-import cgi ++import html + import codecs + import errno + import functools +@@ -200,7 +200,7 @@ class IndexRenderer: + self.max_hottest_remarks_on_index = max_hottest_remarks_on_index + + def render_entry(self, r, odd): +- escaped_name = cgi.escape(r.DemangledFunctionName) ++ escaped_name = html.escape(r.DemangledFunctionName) + print(u''' + + {r.DebugLocString} +--- llvm-toolchain-10-10.0.0~+rc2.orig/llvm/tools/opt-viewer/optrecord.py ++++ llvm-toolchain-10-10.0.0~+rc2/llvm/tools/opt-viewer/optrecord.py +@@ -10,7 +10,7 @@ except ImportError: + print("For faster parsing, you may want to install libYAML for PyYAML") + from yaml import Loader + +-import cgi ++import html + from collections import defaultdict + import fnmatch + import functools +@@ -158,7 +158,7 @@ class Remark(yaml.YAMLObject): + (key, value) = list(mapping.items())[0] + + if key == 'Caller' or key == 'Callee' or key == 'DirectCallee': +- value = cgi.escape(self.demangle(value)) ++ value = html.escape(self.demangle(value)) + + if dl and key != 'Caller': + dl_dict = dict(list(dl)) diff --git a/patches/no-z3.patch b/patches/no-z3.patch new file mode 100644 index 000000000..a98492217 --- /dev/null +++ b/patches/no-z3.patch @@ -0,0 +1,47 @@ +Description: + Disable z3 to avoid pulling ocaml into main. + For some reason the cmake option LLVM_ENABLE_Z3_SOLVER was not taken into account +Author: Gianfranco Costamagna + +Last-Update: 2019-11-26 + +Index: llvm-toolchain-snapshot_10~+20191225062409+aff6c9db9a9/llvm/CMakeLists.txt +=================================================================== +--- llvm-toolchain-snapshot_10~+20191225062409+aff6c9db9a9.orig/llvm/CMakeLists.txt ++++ llvm-toolchain-snapshot_10~+20191225062409+aff6c9db9a9/llvm/CMakeLists.txt +@@ -351,24 +351,22 @@ option(LLVM_ENABLE_ZLIB "Use zlib for co + + set(LLVM_Z3_INSTALL_DIR "" CACHE STRING "Install directory of the Z3 solver.") + +-find_package(Z3 4.7.1) +- +-if (LLVM_Z3_INSTALL_DIR) +- if (NOT Z3_FOUND) +- message(FATAL_ERROR "Z3 >= 4.7.1 has not been found in LLVM_Z3_INSTALL_DIR: ${LLVM_Z3_INSTALL_DIR}.") +- endif() +-endif() +- +-set(LLVM_ENABLE_Z3_SOLVER_DEFAULT "${Z3_FOUND}") +- + option(LLVM_ENABLE_Z3_SOLVER + "Enable Support for the Z3 constraint solver in LLVM." +- ${LLVM_ENABLE_Z3_SOLVER_DEFAULT} ++ ON + ) + + if (LLVM_ENABLE_Z3_SOLVER) +- if (NOT Z3_FOUND) +- message(FATAL_ERROR "LLVM_ENABLE_Z3_SOLVER cannot be enabled when Z3 is not available.") ++ find_package(Z3 4.7.1) ++ ++ if (LLVM_Z3_INSTALL_DIR) ++ if (NOT Z3_FOUND) ++ message(FATAL_ERROR "Z3 >= 4.7.1 has not been found in LLVM_Z3_INSTALL_DIR: ${LLVM_Z3_INSTALL_DIR}.") ++ endif() ++ else() ++ if (NOT Z3_FOUND) ++ message(FATAL_ERROR "LLVM_ENABLE_Z3_SOLVER cannot be enabled when Z3 is not available.") ++ endif() + endif() + + set(LLVM_WITH_Z3 1) diff --git a/patches/openmp-soname.diff b/patches/openmp-soname.diff new file mode 100644 index 000000000..3d7a5bd27 --- /dev/null +++ b/patches/openmp-soname.diff @@ -0,0 +1,14 @@ +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/openmp/runtime/CMakeLists.txt +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/openmp/runtime/CMakeLists.txt ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/openmp/runtime/CMakeLists.txt +@@ -341,7 +341,8 @@ else() + set(LIBOMP_INSTALL_KIND ARCHIVE) + endif() + +-set(LIBOMP_LIB_FILE ${LIBOMP_LIB_NAME}${LIBOMP_LIBRARY_SUFFIX}) ++set(LIBOMP_LIB_FILE ${LIBOMP_LIB_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}.${LIBOMP_VERSION_MAJOR}) ++ + + # Optional backwards compatibility aliases. + set(LIBOMP_INSTALL_ALIASES TRUE CACHE BOOL diff --git a/patches/openmp/bootstrap-with-openmp-version-export-missing.diff b/patches/openmp/bootstrap-with-openmp-version-export-missing.diff new file mode 100644 index 000000000..fc3579362 --- /dev/null +++ b/patches/openmp/bootstrap-with-openmp-version-export-missing.diff @@ -0,0 +1,14 @@ +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/openmp/runtime/src/CMakeLists.txt +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/openmp/runtime/src/CMakeLists.txt ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/openmp/runtime/src/CMakeLists.txt +@@ -167,7 +167,8 @@ endif() + + # Linking command will include libraries in LIBOMP_CONFIGURED_LIBFLAGS + libomp_get_libflags(LIBOMP_CONFIGURED_LIBFLAGS) +-target_link_libraries(omp ${LIBOMP_CONFIGURED_LIBFLAGS} ${CMAKE_DL_LIBS}) ++target_link_libraries(omp ${LIBOMP_CONFIGURED_LIBFLAGS} ${CMAKE_DL_LIBS} ++ "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/exports_so.txt") + + # Create *.inc before compiling any sources + # objects depend on : .inc files diff --git a/patches/openmp/openmp-check-execstack.diff b/patches/openmp/openmp-check-execstack.diff new file mode 100644 index 000000000..34a7d451c --- /dev/null +++ b/patches/openmp/openmp-check-execstack.diff @@ -0,0 +1,14 @@ +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/openmp/runtime/tools/check-execstack.pl +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/openmp/runtime/tools/check-execstack.pl ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/openmp/runtime/tools/check-execstack.pl +@@ -45,7 +45,8 @@ sub execstack($) { + # GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x00000 RWE 0x4 + # Linux* OS Intel(R) 64: + # GNU_STACK 0x000000 0x0000000000000000 0x0000000000000000 0x000000 0x000000 RWE 0x8 +- if ( $stack[ 0 ] !~ m{\A\s*(?:GNU_)?STACK(?:\s+0x[0-9a-f]+){5}\s+([R ][W ][E ])\s+0x[0-9a-f]+\s*\z} ) { ++# if ( $stack[ 0 ] !~ m{\A\s*(?:GNU_)?STACK(?:\s+0x[0-9a-f]+){5}\s+([R ][W ][E ])\s+0x[0-9a-f]+\s*\z} ) { ++ if ( $stack[ 0 ] !~ m{\A\s*(?:GNU_)?STACK(?:\s+0x[0-9a-f]+){5}\s+([R ][W ][E ])\s+0(?:x[0-9a-f]+)*\s*\z} ) { + runtime_error( "$file: Cannot parse stack segment line:", ">>> $stack[ 0 ]" ); + }; # if + my $attrs = $1; diff --git a/patches/openmp/openmp-mips-affinity.patch b/patches/openmp/openmp-mips-affinity.patch new file mode 100644 index 000000000..99bb48736 --- /dev/null +++ b/patches/openmp/openmp-mips-affinity.patch @@ -0,0 +1,56 @@ +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/openmp/runtime/src/kmp_affinity.h +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/openmp/runtime/src/kmp_affinity.h ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/openmp/runtime/src/kmp_affinity.h +@@ -211,28 +211,29 @@ public: + #elif __NR_sched_getaffinity != 223 + #error Wrong code for getaffinity system call. + #endif /* __NR_sched_getaffinity */ +-#elif KMP_ARCH_MIPS +-#ifndef __NR_sched_setaffinity +-#define __NR_sched_setaffinity 4239 +-#elif __NR_sched_setaffinity != 4239 +-#error Wrong code for setaffinity system call. +-#endif /* __NR_sched_setaffinity */ +-#ifndef __NR_sched_getaffinity +-#define __NR_sched_getaffinity 4240 +-#elif __NR_sched_getaffinity != 4240 +-#error Wrong code for getaffinity system call. +-#endif /* __NR_sched_getaffinity */ +-#elif KMP_ARCH_MIPS64 +-#ifndef __NR_sched_setaffinity +-#define __NR_sched_setaffinity 5195 +-#elif __NR_sched_setaffinity != 5195 +-#error Wrong code for setaffinity system call. +-#endif /* __NR_sched_setaffinity */ +-#ifndef __NR_sched_getaffinity +-#define __NR_sched_getaffinity 5196 +-#elif __NR_sched_getaffinity != 5196 +-#error Wrong code for getaffinity system call. +-#endif /* __NR_sched_getaffinity */ ++# elif KMP_ARCH_MIPS ++# ifndef __NR_sched_setaffinity ++# define __NR_sched_setaffinity 4239 ++# elif __NR_sched_setaffinity != 4239 ++# error Wrong code for setaffinity system call. ++# endif /* __NR_sched_setaffinity */ ++# ifndef __NR_sched_getaffinity ++# define __NR_sched_getaffinity 4240 ++# elif __NR_sched_getaffinity != 4240 ++# error Wrong code for getaffinity system call. ++# endif /* __NR_sched_getaffinity */ ++# elif KMP_ARCH_MIPS64 ++# ifndef __NR_sched_setaffinity ++# define __NR_sched_setaffinity 5195 ++# elif __NR_sched_setaffinity != 5195 ++# error Wrong code for setaffinity system call. ++# endif /* __NR_sched_setaffinity */ ++# ifndef __NR_sched_getaffinity ++# define __NR_sched_getaffinity 5196 ++# elif __NR_sched_getaffinity != 5196 ++# error Wrong code for getaffinity system call. ++# endif /* __NR_sched_getaffinity */ ++# else + #error Unknown or unsupported architecture + #endif /* KMP_ARCH_* */ + #elif KMP_OS_FREEBSD diff --git a/patches/powerpcspe/D49754-powerpcspe-clang.diff b/patches/powerpcspe/D49754-powerpcspe-clang.diff new file mode 100644 index 000000000..82800acb8 --- /dev/null +++ b/patches/powerpcspe/D49754-powerpcspe-clang.diff @@ -0,0 +1,164 @@ +Description: Add -m(no-)spe, and e500 CPU definitions and support to clang +Author: Justin Hibbits +Origin: https://reviews.llvm.org/D49754 +Last-Update: 2019-02-14 + +--- llvm-toolchain-snapshot-9~svn351420.orig/clang/include/clang/Driver/Options.td ++++ llvm-toolchain-snapshot-9~svn351420/clang/include/clang/Driver/Options.td +@@ -2180,6 +2180,8 @@ def faltivec : Flag<["-"], "faltivec">, + def fno_altivec : Flag<["-"], "fno-altivec">, Group, Flags<[DriverOption]>; + def maltivec : Flag<["-"], "maltivec">, Group; + def mno_altivec : Flag<["-"], "mno-altivec">, Group; ++def mspe : Flag<["-"], "mspe">, Group; ++def mno_spe : Flag<["-"], "mno-spe">, Group; + def mvsx : Flag<["-"], "mvsx">, Group; + def mno_vsx : Flag<["-"], "mno-vsx">, Group; + def msecure_plt : Flag<["-"], "msecure-plt">, Group; +--- llvm-toolchain-snapshot-9~svn351420.orig/clang/lib/Basic/Targets/PPC.cpp ++++ llvm-toolchain-snapshot-9~svn351420/clang/lib/Basic/Targets/PPC.cpp +@@ -54,6 +54,10 @@ bool PPCTargetInfo::handleTargetFeatures + HasFloat128 = true; + } else if (Feature == "+power9-vector") { + HasP9Vector = true; ++ } else if (Feature == "+spe") { ++ HasSPE = true; ++ LongDoubleWidth = LongDoubleAlign = 64; ++ LongDoubleFormat = &llvm::APFloat::IEEEdouble(); + } + // TODO: Finish this list and add an assert that we've handled them + // all. +@@ -161,6 +165,10 @@ void PPCTargetInfo::getTargetDefines(con + Builder.defineMacro("__VEC__", "10206"); + Builder.defineMacro("__ALTIVEC__"); + } ++ if (HasSPE) { ++ Builder.defineMacro("__SPE__"); ++ Builder.defineMacro("__NO_FPRS__"); ++ } + if (HasVSX) + Builder.defineMacro("__VSX__"); + if (HasP8Vector) +@@ -306,6 +314,11 @@ bool PPCTargetInfo::initFeatureMap( + .Case("pwr8", true) + .Default(false); + ++ Features["spe"] = llvm::StringSwitch(CPU) ++ .Case("e500", true) ++ .Case("8548", true) ++ .Default(false); ++ + if (!ppcUserFeaturesCheck(Diags, FeaturesVec)) + return false; + +@@ -334,6 +347,7 @@ bool PPCTargetInfo::hasFeature(StringRef + .Case("extdiv", HasExtDiv) + .Case("float128", HasFloat128) + .Case("power9-vector", HasP9Vector) ++ .Case("spe", HasSPE) + .Default(false); + } + +@@ -443,16 +457,16 @@ ArrayRef PPCTar + } + + static constexpr llvm::StringLiteral ValidCPUNames[] = { +- {"generic"}, {"440"}, {"450"}, {"601"}, {"602"}, +- {"603"}, {"603e"}, {"603ev"}, {"604"}, {"604e"}, +- {"620"}, {"630"}, {"g3"}, {"7400"}, {"g4"}, +- {"7450"}, {"g4+"}, {"750"}, {"970"}, {"g5"}, +- {"a2"}, {"a2q"}, {"e500mc"}, {"e5500"}, {"power3"}, +- {"pwr3"}, {"power4"}, {"pwr4"}, {"power5"}, {"pwr5"}, +- {"power5x"}, {"pwr5x"}, {"power6"}, {"pwr6"}, {"power6x"}, +- {"pwr6x"}, {"power7"}, {"pwr7"}, {"power8"}, {"pwr8"}, +- {"power9"}, {"pwr9"}, {"powerpc"}, {"ppc"}, {"powerpc64"}, +- {"ppc64"}, {"powerpc64le"}, {"ppc64le"}, ++ {"generic"}, {"440"}, {"450"}, {"601"}, {"602"}, ++ {"603"}, {"603e"}, {"603ev"}, {"604"}, {"604e"}, ++ {"620"}, {"630"}, {"g3"}, {"7400"}, {"g4"}, ++ {"7450"}, {"g4+"}, {"750"}, {"8548"}, {"970"}, ++ {"g5"}, {"a2"}, {"a2q"}, {"e500"}, {"e500mc"}, ++ {"e5500"}, {"power3"}, {"pwr3"}, {"power4"}, {"pwr4"}, ++ {"power5"}, {"pwr5"}, {"power5x"}, {"pwr5x"}, {"power6"}, ++ {"pwr6"}, {"power6x"}, {"pwr6x"}, {"power7"}, {"pwr7"}, ++ {"power8"}, {"pwr8"}, {"power9"}, {"pwr9"}, {"powerpc"}, ++ {"ppc"}, {"powerpc64"}, {"ppc64"}, {"powerpc64le"}, {"ppc64le"}, + }; + + bool PPCTargetInfo::isValidCPUName(StringRef Name) const { +--- llvm-toolchain-snapshot-9~svn351420.orig/clang/lib/Basic/Targets/PPC.h ++++ llvm-toolchain-snapshot-9~svn351420/clang/lib/Basic/Targets/PPC.h +@@ -45,7 +45,8 @@ class LLVM_LIBRARY_VISIBILITY PPCTargetI + ArchDefinePwr8 = 1 << 12, + ArchDefinePwr9 = 1 << 13, + ArchDefineA2 = 1 << 14, +- ArchDefineA2q = 1 << 15 ++ ArchDefineA2q = 1 << 15, ++ ArchDefine500v2 = 1 << 16 + } ArchDefineTypes; + + +@@ -66,6 +67,7 @@ class LLVM_LIBRARY_VISIBILITY PPCTargetI + bool HasBPERMD = false; + bool HasExtDiv = false; + bool HasP9Vector = false; ++ bool HasSPE = false; + + protected: + std::string ABI; +@@ -145,6 +147,8 @@ public: + ArchDefinePwr6x | ArchDefinePwr6 | ArchDefinePwr5x | + ArchDefinePwr5 | ArchDefinePwr4 | ArchDefinePpcgr | + ArchDefinePpcsq) ++ .Cases("e500", "e500v2", ++ ArchDefineName | ArchDefine500v2) + .Default(ArchDefineNone); + } + return CPUKnown; +--- llvm-toolchain-snapshot-9~svn351420.orig/clang/lib/CodeGen/TargetInfo.cpp ++++ llvm-toolchain-snapshot-9~svn351420/clang/lib/CodeGen/TargetInfo.cpp +@@ -9316,7 +9316,8 @@ const TargetCodeGenInfo &CodeGenModule:: + + case llvm::Triple::ppc: + return SetCGInfo( +- new PPC32TargetCodeGenInfo(Types, CodeGenOpts.FloatABI == "soft")); ++ new PPC32TargetCodeGenInfo(Types, CodeGenOpts.FloatABI == "soft" || ++ getTarget().hasFeature("spe"))); + case llvm::Triple::ppc64: + if (Triple.isOSBinFormatELF()) { + PPC64_SVR4_ABIInfo::ABIKind Kind = PPC64_SVR4_ABIInfo::ELFv1; +--- llvm-toolchain-snapshot-9~svn351420.orig/clang/test/Driver/ppc-features.cpp ++++ llvm-toolchain-snapshot-9~svn351420/clang/test/Driver/ppc-features.cpp +@@ -168,6 +168,9 @@ + // RUN: %clang -target powerpc64-unknown-linux-gnu %s -mno-invariant-function-descriptors -minvariant-function-descriptors -### -o %t.o 2>&1 | FileCheck -check-prefix=CHECK-INVFUNCDESC %s + // CHECK-INVFUNCDESC: "-target-feature" "+invariant-function-descriptors" + ++// RUN: %clang -target powerpc-unknown-linux-gnu %s -mno-spe -mspe -### -o %t.o 2>&1 | FileCheck -check-prefix=CHECK-SPE %s ++// CHECK-SPE: "-target-feature" "+spe" ++ + // Assembler features + // RUN: %clang -target powerpc64-unknown-linux-gnu %s -### -o %t.o -no-integrated-as 2>&1 | FileCheck -check-prefix=CHECK_BE_AS_ARGS %s + // CHECK_BE_AS_ARGS: "-mppc64" +--- llvm-toolchain-snapshot-9~svn351420.orig/clang/test/Misc/target-invalid-cpu-note.c ++++ llvm-toolchain-snapshot-9~svn351420/clang/test/Misc/target-invalid-cpu-note.c +@@ -79,7 +79,7 @@ + // PPC: error: unknown target CPU 'not-a-cpu' + // PPC: note: valid target CPU values are: generic, 440, 450, 601, 602, 603, + // PPC-SAME: 603e, 603ev, 604, 604e, 620, 630, g3, 7400, g4, 7450, g4+, 750, +-// PPC-SAME: 970, g5, a2, a2q, e500mc, e5500, power3, pwr3, power4, pwr4, ++// PPC-SAME: 970, g5, a2, a2q, e500, e500mc, e5500, power3, pwr3, power4, pwr4, + // PPC-SAME: power5, pwr5, power5x, pwr5x, power6, pwr6, power6x, pwr6x, power7, + // PPC-SAME: pwr7, power8, pwr8, power9, pwr9, powerpc, ppc, powerpc64, ppc64, + // PPC-SAME: powerpc64le, ppc64le +--- llvm-toolchain-snapshot-9~svn351420.orig/clang/test/Preprocessor/init.c ++++ llvm-toolchain-snapshot-9~svn351420/clang/test/Preprocessor/init.c +@@ -7016,6 +7016,10 @@ + // + // PPC32-LINUX-NOT: _CALL_LINUX + // ++// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-unknown-linux-gnu -target-feature +spe < /dev/null | FileCheck -match-full-lines -check-prefix PPC32-SPE %s ++// ++// PPC32-SPE:#define __SPE__ 1 ++// + // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-apple-darwin8 < /dev/null | FileCheck -match-full-lines -check-prefix PPC-DARWIN %s + // + // PPC-DARWIN:#define _ARCH_PPC 1 diff --git a/patches/powerpcspe/D54583-powerpcspe-double-parameter.diff b/patches/powerpcspe/D54583-powerpcspe-double-parameter.diff new file mode 100644 index 000000000..969f0eb89 --- /dev/null +++ b/patches/powerpcspe/D54583-powerpcspe-double-parameter.diff @@ -0,0 +1,420 @@ +Description: PowerPC: Optimize SPE double parameter calling setup +Author: Justin Hibbits +Origin: https://reviews.llvm.org/D54583 +Last-Update: 2019-02-14 + +--- llvm-toolchain-snapshot-9~svn351420.orig/lib/Target/PowerPC/PPCCallingConv.td ++++ llvm-toolchain-snapshot-9~svn351420/lib/Target/PowerPC/PPCCallingConv.td +@@ -90,7 +90,7 @@ def RetCC_PPC : CallingConv<[ + CCIfSubtarget<"hasSPE()", + CCIfType<[f32], CCAssignToReg<[R3, R4, R5, R6, R7, R8, R9, R10]>>>, + CCIfSubtarget<"hasSPE()", +- CCIfType<[f64], CCAssignToReg<[S3, S4, S5, S6, S7, S8, S9, S10]>>>, ++ CCIfType<[f64], CCCustom<"CC_PPC32_SPE_RetF64">>>, + + // For P9, f128 are passed in vector registers. + CCIfType<[f128], +@@ -179,6 +179,9 @@ def CC_PPC32_SVR4_Common : CallingConv<[ + CCIfType<[i32], + CCIfSplit>>>, ++ CCIfType<[f64], ++ CCIfSubtarget<"hasSPE()", ++ CCCustom<"CC_PPC32_SVR4_Custom_AlignArgRegs">>>, + CCIfSplit>>>, +@@ -199,7 +202,7 @@ def CC_PPC32_SVR4_Common : CallingConv<[ + CCAssignToReg<[F1, F2, F3, F4, F5, F6, F7, F8]>>>, + CCIfType<[f64], + CCIfSubtarget<"hasSPE()", +- CCAssignToReg<[S3, S4, S5, S6, S7, S8, S9, S10]>>>, ++ CCCustom<"CC_PPC32_SPE_CustomSplitFP64">>>, + CCIfType<[f32], + CCIfSubtarget<"hasSPE()", + CCAssignToReg<[R3, R4, R5, R6, R7, R8, R9, R10]>>>, +--- llvm-toolchain-snapshot-9~svn351420.orig/lib/Target/PowerPC/PPCISelLowering.cpp ++++ llvm-toolchain-snapshot-9~svn351420/lib/Target/PowerPC/PPCISelLowering.cpp +@@ -1232,22 +1232,6 @@ unsigned PPCTargetLowering::getByValType + return Align; + } + +-unsigned PPCTargetLowering::getNumRegistersForCallingConv(LLVMContext &Context, +- CallingConv:: ID CC, +- EVT VT) const { +- if (Subtarget.hasSPE() && VT == MVT::f64) +- return 2; +- return PPCTargetLowering::getNumRegisters(Context, VT); +-} +- +-MVT PPCTargetLowering::getRegisterTypeForCallingConv(LLVMContext &Context, +- CallingConv:: ID CC, +- EVT VT) const { +- if (Subtarget.hasSPE() && VT == MVT::f64) +- return MVT::i32; +- return PPCTargetLowering::getRegisterType(Context, VT); +-} +- + bool PPCTargetLowering::useSoftFloat() const { + return Subtarget.useSoftFloat(); + } +@@ -1365,6 +1349,8 @@ const char *PPCTargetLowering::getTarget + case PPCISD::QBFLT: return "PPCISD::QBFLT"; + case PPCISD::QVLFSb: return "PPCISD::QVLFSb"; + case PPCISD::BUILD_FP128: return "PPCISD::BUILD_FP128"; ++ case PPCISD::BUILD_SPE64: return "PPCISD::BUILD_SPE64"; ++ case PPCISD::EXTRACT_SPE: return "PPCISD::EXTRACT_SPE"; + case PPCISD::EXTSWSLI: return "PPCISD::EXTSWSLI"; + } + return nullptr; +@@ -3162,6 +3148,58 @@ bool llvm::CC_PPC32_SVR4_Custom_Dummy(un + return true; + } + ++bool llvm::CC_PPC32_SPE_CustomSplitFP64(unsigned &ValNo, MVT &ValVT, ++ MVT &LocVT, ++ CCValAssign::LocInfo &LocInfo, ++ ISD::ArgFlagsTy &ArgFlags, ++ CCState &State) { ++ static const MCPhysReg HiRegList[] = { PPC::R3, PPC::R5, PPC::R7, PPC::R9 }; ++ static const MCPhysReg LoRegList[] = { PPC::R4, PPC::R6, PPC::R8, PPC::R10 }; ++ ++ // Try to get the first register. ++ unsigned Reg = State.AllocateReg(HiRegList); ++ if (!Reg) ++ return false; ++ ++ unsigned i; ++ for (i = 0; i < sizeof(HiRegList) / sizeof(HiRegList[0]); ++i) ++ if (HiRegList[i] == Reg) ++ break; ++ ++ unsigned T = State.AllocateReg(LoRegList[i]); ++ (void)T; ++ assert(T == LoRegList[i] && "Could not allocate register"); ++ ++ State.addLoc(CCValAssign::getCustomReg(ValNo, ValVT, Reg, LocVT, LocInfo)); ++ State.addLoc(CCValAssign::getCustomReg(ValNo, ValVT, LoRegList[i], ++ LocVT, LocInfo)); ++ return true; ++} ++ ++bool llvm::CC_PPC32_SPE_RetF64(unsigned &ValNo, MVT &ValVT, ++ MVT &LocVT, ++ CCValAssign::LocInfo &LocInfo, ++ ISD::ArgFlagsTy &ArgFlags, ++ CCState &State) { ++ static const MCPhysReg HiRegList[] = { PPC::R3, PPC::R5, PPC::R7, PPC::R9 }; ++ static const MCPhysReg LoRegList[] = { PPC::R4, PPC::R6, PPC::R8, PPC::R10 }; ++ ++ // Try to get the first register. ++ unsigned Reg = State.AllocateReg(HiRegList); ++ if (!Reg) ++ return false; ++ ++ unsigned i; ++ for (i = 0; i < sizeof(HiRegList) / sizeof(HiRegList[0]); ++i) ++ if (HiRegList[i] == Reg) ++ break; ++ ++ State.addLoc(CCValAssign::getCustomReg(ValNo, ValVT, Reg, LocVT, LocInfo)); ++ State.addLoc(CCValAssign::getCustomReg(ValNo, ValVT, LoRegList[i], ++ LocVT, LocInfo)); ++ return true; ++} ++ + bool llvm::CC_PPC32_SVR4_Custom_AlignArgRegs(unsigned &ValNo, MVT &ValVT, + MVT &LocVT, + CCValAssign::LocInfo &LocInfo, +@@ -3449,7 +3487,7 @@ SDValue PPCTargetLowering::LowerFormalAr + // Reserve space for the linkage area on the stack. + unsigned LinkageSize = Subtarget.getFrameLowering()->getLinkageSize(); + CCInfo.AllocateStack(LinkageSize, PtrByteSize); +- if (useSoftFloat() || hasSPE()) ++ if (useSoftFloat()) + CCInfo.PreAnalyzeFormalArguments(Ins); + + CCInfo.AnalyzeFormalArguments(Ins, CC_PPC32_SVR4); +@@ -3482,7 +3520,8 @@ SDValue PPCTargetLowering::LowerFormalAr + if (Subtarget.hasVSX()) + RC = &PPC::VSFRCRegClass; + else if (Subtarget.hasSPE()) +- RC = &PPC::SPERCRegClass; ++ // SPE passes doubles in GPR pairs. ++ RC = &PPC::GPRCRegClass; + else + RC = &PPC::F8RCRegClass; + break; +@@ -3506,13 +3545,30 @@ SDValue PPCTargetLowering::LowerFormalAr + break; + } + +- // Transform the arguments stored in physical registers into virtual ones. +- unsigned Reg = MF.addLiveIn(VA.getLocReg(), RC); +- SDValue ArgValue = DAG.getCopyFromReg(Chain, dl, Reg, +- ValVT == MVT::i1 ? MVT::i32 : ValVT); ++ SDValue ArgValue; ++ if (VA.getLocVT() == MVT::f64 && Subtarget.hasSPE()) { ++ // Transform the arguments stored in physical registers into ++ // virtual ones. ++ unsigned Reg = MF.addLiveIn(VA.getLocReg(), RC); ++ ArgValue = DAG.getCopyFromReg(Chain, dl, Reg, MVT::i32); ++ ++ SDValue ArgValue2; ++ Reg = MF.addLiveIn(ArgLocs[++i].getLocReg(), RC); ++ ArgValue2 = DAG.getCopyFromReg(Chain, dl, Reg, MVT::i32); ++ if (!Subtarget.isLittleEndian()) ++ std::swap (ArgValue, ArgValue2); ++ ArgValue = DAG.getNode(PPCISD::BUILD_SPE64, dl, MVT::f64, ArgValue, ++ ArgValue2); ++ } else { + +- if (ValVT == MVT::i1) +- ArgValue = DAG.getNode(ISD::TRUNCATE, dl, MVT::i1, ArgValue); ++ // Transform the arguments stored in physical registers into ++ // virtual ones. ++ unsigned Reg = MF.addLiveIn(VA.getLocReg(), RC); ++ ArgValue = DAG.getCopyFromReg(Chain, dl, Reg, ++ ValVT == MVT::i1 ? MVT::i32 : ValVT); ++ if (ValVT == MVT::i1) ++ ArgValue = DAG.getNode(ISD::TRUNCATE, dl, MVT::i1, ArgValue); ++ } + + InVals.push_back(ArgValue); + } else { +@@ -5129,10 +5185,27 @@ SDValue PPCTargetLowering::LowerCallResu + CCValAssign &VA = RVLocs[i]; + assert(VA.isRegLoc() && "Can only return in registers!"); + +- SDValue Val = DAG.getCopyFromReg(Chain, dl, +- VA.getLocReg(), VA.getLocVT(), InFlag); +- Chain = Val.getValue(1); +- InFlag = Val.getValue(2); ++ SDValue Val; ++ ++ if (Subtarget.hasSPE() && VA.getLocVT() == MVT::f64) { ++ SDValue Lo = DAG.getCopyFromReg(Chain, dl, VA.getLocReg(), MVT::i32, ++ InFlag); ++ Chain = Lo.getValue(1); ++ InFlag = Lo.getValue(2); ++ VA = RVLocs[++i]; // skip ahead to next loc ++ SDValue Hi = DAG.getCopyFromReg(Chain, dl, VA.getLocReg(), MVT::i32, ++ InFlag); ++ Chain = Hi.getValue(1); ++ InFlag = Hi.getValue(2); ++ if (!Subtarget.isLittleEndian()) ++ std::swap (Lo, Hi); ++ Val = DAG.getNode(PPCISD::BUILD_SPE64, dl, MVT::f64, Lo, Hi); ++ } else { ++ Val = DAG.getCopyFromReg(Chain, dl, ++ VA.getLocReg(), VA.getLocVT(), InFlag); ++ Chain = Val.getValue(1); ++ InFlag = Val.getValue(2); ++ } + + switch (VA.getLocInfo()) { + default: llvm_unreachable("Unknown loc info!"); +@@ -5444,12 +5517,12 @@ SDValue PPCTargetLowering::LowerCall_32S + + bool seenFloatArg = false; + // Walk the register/memloc assignments, inserting copies/loads. +- for (unsigned i = 0, j = 0, e = ArgLocs.size(); ++ for (unsigned i = 0, realI = 0, j = 0, e = ArgLocs.size(); + i != e; +- ++i) { ++ ++i, ++realI) { + CCValAssign &VA = ArgLocs[i]; +- SDValue Arg = OutVals[i]; +- ISD::ArgFlagsTy Flags = Outs[i].Flags; ++ SDValue Arg = OutVals[realI]; ++ ISD::ArgFlagsTy Flags = Outs[realI].Flags; + + if (Flags.isByVal()) { + // Argument is an aggregate which is passed by value, thus we need to +@@ -5498,7 +5571,18 @@ SDValue PPCTargetLowering::LowerCall_32S + if (VA.isRegLoc()) { + seenFloatArg |= VA.getLocVT().isFloatingPoint(); + // Put argument in a physical register. +- RegsToPass.push_back(std::make_pair(VA.getLocReg(), Arg)); ++ if (Subtarget.hasSPE() && Arg.getValueType() == MVT::f64) { ++ unsigned id = Subtarget.isLittleEndian() ? 0 : 1; ++ SDValue SVal = DAG.getNode(PPCISD::EXTRACT_SPE, dl, MVT::i32, Arg, ++ DAG.getIntPtrConstant(id, dl)); ++ RegsToPass.push_back(std::make_pair(VA.getLocReg(), SVal.getValue(0))); ++ SVal = DAG.getNode(PPCISD::EXTRACT_SPE, dl, MVT::i32, Arg, ++ DAG.getIntPtrConstant(1 - id, dl)); ++ ++ RegsToPass.push_back(std::make_pair(ArgLocs[++i].getLocReg(), ++ SVal.getValue(0))); ++ } else ++ RegsToPass.push_back(std::make_pair(VA.getLocReg(), Arg)); + } else { + // Put argument in the parameter list area of the current stack frame. + assert(VA.isMemLoc()); +@@ -6644,11 +6728,11 @@ PPCTargetLowering::LowerReturn(SDValue C + SmallVector RetOps(1, Chain); + + // Copy the result values into the output registers. +- for (unsigned i = 0; i != RVLocs.size(); ++i) { ++ for (unsigned i = 0, realI = 0; i != RVLocs.size(); ++i, ++realI) { + CCValAssign &VA = RVLocs[i]; + assert(VA.isRegLoc() && "Can only return in registers!"); + +- SDValue Arg = OutVals[i]; ++ SDValue Arg = OutVals[realI]; + + switch (VA.getLocInfo()) { + default: llvm_unreachable("Unknown loc info!"); +@@ -6663,8 +6747,21 @@ PPCTargetLowering::LowerReturn(SDValue C + Arg = DAG.getNode(ISD::SIGN_EXTEND, dl, VA.getLocVT(), Arg); + break; + } +- +- Chain = DAG.getCopyToReg(Chain, dl, VA.getLocReg(), Arg, Flag); ++ if (Subtarget.hasSPE() && VA.getLocVT() == MVT::f64) { ++ bool isLittleEndian = Subtarget.isLittleEndian(); ++ // Legalize ret f64 -> ret 2 x i32. ++ SDValue SVal = ++ DAG.getNode(PPCISD::EXTRACT_SPE, dl, MVT::i32, Arg, ++ DAG.getIntPtrConstant(isLittleEndian ? 0 : 1, dl)); ++ Chain = DAG.getCopyToReg(Chain, dl, VA.getLocReg(), SVal, Flag); ++ RetOps.push_back(DAG.getRegister(VA.getLocReg(), VA.getLocVT())); ++ SVal = DAG.getNode(PPCISD::EXTRACT_SPE, dl, MVT::i32, Arg, ++ DAG.getIntPtrConstant(isLittleEndian ? 1 : 0, dl)); ++ Flag = Chain.getValue(1); ++ VA = RVLocs[++i]; // skip ahead to next loc ++ Chain = DAG.getCopyToReg(Chain, dl, VA.getLocReg(), SVal, Flag); ++ } else ++ Chain = DAG.getCopyToReg(Chain, dl, VA.getLocReg(), Arg, Flag); + Flag = Chain.getValue(1); + RetOps.push_back(DAG.getRegister(VA.getLocReg(), VA.getLocVT())); + } +--- llvm-toolchain-snapshot-9~svn351420.orig/lib/Target/PowerPC/PPCISelLowering.h ++++ llvm-toolchain-snapshot-9~svn351420/lib/Target/PowerPC/PPCISelLowering.h +@@ -196,6 +196,15 @@ namespace llvm { + /// Direct move of 2 consective GPR to a VSX register. + BUILD_FP128, + ++ /// BUILD_SPE64 and EXTRACT_SPE are analogous to BUILD_PAIR and ++ /// EXTRACT_ELEMENT but take f64 arguments instead of i64, as i64 is ++ /// unsupported for this target. ++ /// Merge 2 GPRs to a single SPE register. ++ BUILD_SPE64, ++ ++ /// Extract SPE register component, second argument is high or low. ++ EXTRACT_SPE, ++ + /// Extract a subvector from signed integer vector and convert to FP. + /// It is primarily used to convert a (widened) illegal integer vector + /// type to a legal floating point vector type. +@@ -898,14 +907,6 @@ namespace llvm { + unsigned JTI, + MCContext &Ctx) const override; + +- unsigned getNumRegistersForCallingConv(LLVMContext &Context, +- CallingConv:: ID CC, +- EVT VT) const override; +- +- MVT getRegisterTypeForCallingConv(LLVMContext &Context, +- CallingConv:: ID CC, +- EVT VT) const override; +- + private: + struct ReuseLoadInfo { + SDValue Ptr; +@@ -1110,6 +1111,7 @@ namespace llvm { + SDValue lowerEH_SJLJ_SETJMP(SDValue Op, SelectionDAG &DAG) const; + SDValue lowerEH_SJLJ_LONGJMP(SDValue Op, SelectionDAG &DAG) const; + SDValue LowerBITCAST(SDValue Op, SelectionDAG &DAG) const; ++ SDValue LowerEXTRACT_ELEMENT(SDValue Op, SelectionDAG &DAG) const; + + SDValue DAGCombineExtBoolTrunc(SDNode *N, DAGCombinerInfo &DCI) const; + SDValue DAGCombineBuildVector(SDNode *N, DAGCombinerInfo &DCI) const; +@@ -1187,6 +1189,17 @@ namespace llvm { + ISD::ArgFlagsTy &ArgFlags, + CCState &State); + ++ bool CC_PPC32_SPE_CustomSplitFP64(unsigned &ValNo, MVT &ValVT, ++ MVT &LocVT, ++ CCValAssign::LocInfo &LocInfo, ++ ISD::ArgFlagsTy &ArgFlags, ++ CCState &State); ++ bool CC_PPC32_SPE_RetF64(unsigned &ValNo, MVT &ValVT, ++ MVT &LocVT, ++ CCValAssign::LocInfo &LocInfo, ++ ISD::ArgFlagsTy &ArgFlags, ++ CCState &State); ++ + bool CC_PPC32_SVR4_Custom_AlignFPArgRegs(unsigned &ValNo, MVT &ValVT, + MVT &LocVT, + CCValAssign::LocInfo &LocInfo, +--- llvm-toolchain-snapshot-9~svn351420.orig/lib/Target/PowerPC/PPCInstrInfo.td ++++ llvm-toolchain-snapshot-9~svn351420/lib/Target/PowerPC/PPCInstrInfo.td +@@ -231,6 +231,17 @@ def PPCbuild_fp128: SDNode<"PPCISD::BUIL + SDTCisSameAs<1,2>]>, + []>; + ++def PPCbuild_spe64: SDNode<"PPCISD::BUILD_SPE64", ++ SDTypeProfile<1, 2, ++ [SDTCisFP<0>, SDTCisSameSizeAs<1,2>, ++ SDTCisSameAs<1,2>]>, ++ []>; ++ ++def PPCextract_spe : SDNode<"PPCISD::EXTRACT_SPE", ++ SDTypeProfile<1, 2, ++ [SDTCisInt<0>, SDTCisFP<1>, SDTCisPtrTy<2>]>, ++ []>; ++ + // These are target-independent nodes, but have target-specific formats. + def callseq_start : SDNode<"ISD::CALLSEQ_START", SDT_PPCCallSeqStart, + [SDNPHasChain, SDNPOutGlue]>; +--- llvm-toolchain-snapshot-9~svn351420.orig/lib/Target/PowerPC/PPCInstrSPE.td ++++ llvm-toolchain-snapshot-9~svn351420/lib/Target/PowerPC/PPCInstrSPE.td +@@ -512,7 +512,7 @@ def EVLWWSPLATX : EVXForm_1<792, (out + + def EVMERGEHI : EVXForm_1<556, (outs sperc:$RT), (ins sperc:$RA, sperc:$RB), + "evmergehi $RT, $RA, $RB", IIC_VecGeneral, []>; +-def EVMERGELO : EVXForm_1<557, (outs sperc:$RT), (ins sperc:$RA, sperc:$RB), ++def EVMERGELO : EVXForm_1<557, (outs sperc:$RT), (ins gprc:$RA, gprc:$RB), + "evmergelo $RT, $RA, $RB", IIC_VecGeneral, []>; + def EVMERGEHILO : EVXForm_1<558, (outs sperc:$RT), (ins sperc:$RA, sperc:$RB), + "evmergehilo $RT, $RA, $RB", IIC_VecGeneral, []>; +@@ -887,4 +887,14 @@ def : Pat<(f64 (selectcc i1:$lhs, i1:$rh + (SELECT_SPE (CRANDC $lhs, $rhs), $tval, $fval)>; + def : Pat<(f64 (selectcc i1:$lhs, i1:$rhs, f64:$tval, f64:$fval, SETNE)), + (SELECT_SPE (CRXOR $lhs, $rhs), $tval, $fval)>; ++ ++ ++def : Pat<(f64 (PPCbuild_spe64 i32:$rB, i32:$rA)), ++ (f64 (COPY_TO_REGCLASS (EVMERGELO $rA, $rB), SPERC))>; ++ ++def : Pat<(i32 (PPCextract_spe f64:$rA, 1)), ++ (i32 (EXTRACT_SUBREG (EVMERGEHI $rA, $rA), sub_32))>; ++def : Pat<(i32 (PPCextract_spe f64:$rA, 0)), ++ (i32 (EXTRACT_SUBREG $rA, sub_32))>; ++ + } +--- llvm-toolchain-snapshot-9~svn351420.orig/test/CodeGen/PowerPC/spe.ll ++++ llvm-toolchain-snapshot-9~svn351420/test/CodeGen/PowerPC/spe.ll +@@ -472,10 +472,8 @@ entry: + ; CHECK-LABEL: test_dselect + ; CHECK: andi. + ; CHECK: bc +-; CHECK: evldd +-; CHECK: b +-; CHECK: evldd +-; CHECK: evstdd ++; CHECK: evor ++; CHECK: evmergehi + ; CHECK: blr + } + +@@ -519,7 +517,7 @@ entry: + %1 = call i32 asm sideeffect "efdctsi $0, $1", "=d,d"(double %0) + ret i32 %1 + ; CHECK-LABEL: test_dasmconst +-; CHECK: evldd ++; CHECK: evmergelo + ; CHECK: #APP + ; CHECK: efdctsi + ; CHECK: #NO_APP diff --git a/patches/powerpcspe/D56703-powerpcspe-register-spilling.diff b/patches/powerpcspe/D56703-powerpcspe-register-spilling.diff new file mode 100644 index 000000000..82183cf5b --- /dev/null +++ b/patches/powerpcspe/D56703-powerpcspe-register-spilling.diff @@ -0,0 +1,137 @@ +Description: PowerPC/SPE: Fix register spilling for SPE registers +Author: Justin Hibbits +Origin: https://reviews.llvm.org/D56703 +Last-Update: 2019-02-14 + +--- llvm-toolchain-snapshot-9~svn351420.orig/lib/Target/PowerPC/PPCCallingConv.td ++++ llvm-toolchain-snapshot-9~svn351420/lib/Target/PowerPC/PPCCallingConv.td +@@ -346,15 +346,22 @@ def CSR_NoRegs : CalleeSavedRegs<(add)>; + // and value may be altered by inter-library calls. + // Do not include r12 as it is used as a scratch register. + // Do not include return registers r3, f1, v2. +-def CSR_SVR32_ColdCC : CalleeSavedRegs<(add (sequence "R%u", 4, 10), +- (sequence "R%u", 14, 31), +- F0, (sequence "F%u", 2, 31), +- (sequence "CR%u", 0, 7))>; ++def CSR_SVR32_ColdCC_Common : CalleeSavedRegs<(add (sequence "R%u", 4, 10), ++ (sequence "R%u", 14, 31), ++ (sequence "CR%u", 0, 7))>; ++ ++def CSR_SVR32_ColdCC : CalleeSavedRegs<(add CSR_SVR32_ColdCC_Common, ++ F0, (sequence "F%u", 2, 31))>; ++ + + def CSR_SVR32_ColdCC_Altivec : CalleeSavedRegs<(add CSR_SVR32_ColdCC, + (sequence "V%u", 0, 1), + (sequence "V%u", 3, 31))>; + ++def CSR_SVR32_ColdCC_SPE : CalleeSavedRegs<(add CSR_SVR32_ColdCC_Common, ++ (sequence "S%u", 4, 10), ++ (sequence "S%u", 14, 31))>; ++ + def CSR_SVR64_ColdCC : CalleeSavedRegs<(add (sequence "X%u", 4, 10), + (sequence "X%u", 14, 31), + F0, (sequence "F%u", 2, 31), +--- llvm-toolchain-snapshot-9~svn351420.orig/lib/Target/PowerPC/PPCInstrInfo.cpp ++++ llvm-toolchain-snapshot-9~svn351420/lib/Target/PowerPC/PPCInstrInfo.cpp +@@ -996,6 +996,8 @@ void PPCInstrInfo::copyPhysReg(MachineBa + Opc = PPC::QVFMRb; + else if (PPC::CRBITRCRegClass.contains(DestReg, SrcReg)) + Opc = PPC::CROR; ++ else if (PPC::SPE4RCRegClass.contains(DestReg, SrcReg)) ++ Opc = PPC::OR; + else if (PPC::SPERCRegClass.contains(DestReg, SrcReg)) + Opc = PPC::EVOR; + else +@@ -1026,10 +1028,10 @@ unsigned PPCInstrInfo::getStoreOpcodeFor + OpcodeIndex = SOK_Float8Spill; + } else if (PPC::F4RCRegClass.hasSubClassEq(RC)) { + OpcodeIndex = SOK_Float4Spill; +- } else if (PPC::SPERCRegClass.hasSubClassEq(RC)) { +- OpcodeIndex = SOK_SPESpill; + } else if (PPC::SPE4RCRegClass.hasSubClassEq(RC)) { + OpcodeIndex = SOK_SPE4Spill; ++ } else if (PPC::SPERCRegClass.hasSubClassEq(RC)) { ++ OpcodeIndex = SOK_SPESpill; + } else if (PPC::CRRCRegClass.hasSubClassEq(RC)) { + OpcodeIndex = SOK_CRSpill; + } else if (PPC::CRBITRCRegClass.hasSubClassEq(RC)) { +@@ -1066,6 +1068,10 @@ unsigned PPCInstrInfo::getStoreOpcodeFor + OpcodeIndex = SOK_Float8Spill; + } else if (PPC::F4RCRegClass.contains(Reg)) { + OpcodeIndex = SOK_Float4Spill; ++ } else if (PPC::SPE4RCRegClass.contains(Reg)) { ++ OpcodeIndex = SOK_SPE4Spill; ++ } else if (PPC::SPERCRegClass.contains(Reg)) { ++ OpcodeIndex = SOK_SPESpill; + } else if (PPC::CRRCRegClass.contains(Reg)) { + OpcodeIndex = SOK_CRSpill; + } else if (PPC::CRBITRCRegClass.contains(Reg)) { +@@ -1112,10 +1118,10 @@ PPCInstrInfo::getLoadOpcodeForSpill(unsi + OpcodeIndex = SOK_Float8Spill; + } else if (PPC::F4RCRegClass.hasSubClassEq(RC)) { + OpcodeIndex = SOK_Float4Spill; +- } else if (PPC::SPERCRegClass.hasSubClassEq(RC)) { +- OpcodeIndex = SOK_SPESpill; + } else if (PPC::SPE4RCRegClass.hasSubClassEq(RC)) { + OpcodeIndex = SOK_SPE4Spill; ++ } else if (PPC::SPERCRegClass.hasSubClassEq(RC)) { ++ OpcodeIndex = SOK_SPESpill; + } else if (PPC::CRRCRegClass.hasSubClassEq(RC)) { + OpcodeIndex = SOK_CRSpill; + } else if (PPC::CRBITRCRegClass.hasSubClassEq(RC)) { +@@ -1152,6 +1158,10 @@ PPCInstrInfo::getLoadOpcodeForSpill(unsi + OpcodeIndex = SOK_Float8Spill; + } else if (PPC::F4RCRegClass.contains(Reg)) { + OpcodeIndex = SOK_Float4Spill; ++ } else if (PPC::SPE4RCRegClass.hasSubClassEq(RC)) { ++ OpcodeIndex = SOK_SPE4Spill; ++ } else if (PPC::SPERCRegClass.hasSubClassEq(RC)) { ++ OpcodeIndex = SOK_SPESpill; + } else if (PPC::CRRCRegClass.contains(Reg)) { + OpcodeIndex = SOK_CRSpill; + } else if (PPC::CRBITRCRegClass.contains(Reg)) { +--- llvm-toolchain-snapshot-9~svn351420.orig/lib/Target/PowerPC/PPCRegisterInfo.cpp ++++ llvm-toolchain-snapshot-9~svn351420/lib/Target/PowerPC/PPCRegisterInfo.cpp +@@ -167,7 +167,9 @@ PPCRegisterInfo::getCalleeSavedRegs(cons + : (SaveR2 ? CSR_SVR64_ColdCC_R2_SaveList + : CSR_SVR64_ColdCC_SaveList)) + : (Subtarget.hasAltivec() ? CSR_SVR32_ColdCC_Altivec_SaveList +- : CSR_SVR32_ColdCC_SaveList); ++ : (Subtarget.hasSPE() ++ ? CSR_SVR32_ColdCC_SPE_SaveList ++ : CSR_SVR32_ColdCC_SaveList)); + } + + return TM.isPPC64() +@@ -176,7 +178,9 @@ PPCRegisterInfo::getCalleeSavedRegs(cons + : CSR_SVR464_Altivec_SaveList) + : (SaveR2 ? CSR_SVR464_R2_SaveList : CSR_SVR464_SaveList)) + : (Subtarget.hasAltivec() ? CSR_SVR432_Altivec_SaveList +- : CSR_SVR432_SaveList); ++ : (Subtarget.hasSPE() ++ ? CSR_SVR432_SPE_SaveList ++ : CSR_SVR432_SaveList)); + } + + const MCPhysReg * +@@ -226,13 +230,17 @@ PPCRegisterInfo::getCallPreservedMask(co + return TM.isPPC64() ? (Subtarget.hasAltivec() ? CSR_SVR64_ColdCC_Altivec_RegMask + : CSR_SVR64_ColdCC_RegMask) + : (Subtarget.hasAltivec() ? CSR_SVR32_ColdCC_Altivec_RegMask +- : CSR_SVR32_ColdCC_RegMask); ++ : (Subtarget.hasSPE() ++ ? CSR_SVR32_ColdCC_SPE_RegMask ++ : CSR_SVR32_ColdCC_RegMask)); + } + + return TM.isPPC64() ? (Subtarget.hasAltivec() ? CSR_SVR464_Altivec_RegMask + : CSR_SVR464_RegMask) + : (Subtarget.hasAltivec() ? CSR_SVR432_Altivec_RegMask +- : CSR_SVR432_RegMask); ++ : (Subtarget.hasSPE() ++ ? CSR_SVR432_SPE_RegMask ++ : CSR_SVR432_RegMask)); + } + + const uint32_t* diff --git a/patches/print-lldb-path.patch b/patches/print-lldb-path.patch new file mode 100644 index 000000000..6b43448b7 --- /dev/null +++ b/patches/print-lldb-path.patch @@ -0,0 +1,14 @@ +Author: Gianfranco Costamagna +Last-Update: 2020-01-21 + +--- llvm-toolchain-snapshot-10~++20191229111838+6991d5728f1.orig/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp ++++ llvm-toolchain-snapshot-10~++20191229111838+6991d5728f1/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp +@@ -353,6 +353,8 @@ void ScriptInterpreterPython::ComputePyt + // x86_64, or bin on Windows). + llvm::sys::path::remove_filename(path); + llvm::sys::path::append(path, LLDB_PYTHON_RELATIVE_LIBDIR); ++ // remove double "lib/lib" statement ++ std::replace(path.begin(), path.end(), '/lib/lib/', '/lib/'); + + #if defined(_WIN32) + // This will be injected directly through FileSpec.GetDirectory().SetString(), diff --git a/patches/python-clangpath.diff b/patches/python-clangpath.diff new file mode 100644 index 000000000..03b066ada --- /dev/null +++ b/patches/python-clangpath.diff @@ -0,0 +1,17 @@ +--- + clang/bindings/python/clang/cindex.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/bindings/python/clang/cindex.py +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/bindings/python/clang/cindex.py ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/bindings/python/clang/cindex.py +@@ -4160,7 +4160,7 @@ class Config(object): + elif name == 'Windows': + file = 'libclang.dll' + else: +- file = 'libclang.so' ++ file = 'libclang-10.so' + + if Config.library_path: + file = Config.library_path + '/' + file diff --git a/patches/python3-shebang.patch b/patches/python3-shebang.patch new file mode 100644 index 000000000..068234c88 --- /dev/null +++ b/patches/python3-shebang.patch @@ -0,0 +1,1412 @@ +Description: change all shebangs to Python3 + find . -name "*.py" -exec sed "s|\!/usr/bin/env python$|\!/usr/bin/env python3|g" -i {} \; +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang-tools-extra/clang-include-fixer/find-all-symbols/tool/run-find-all-symbols.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang-tools-extra/clang-include-fixer/find-all-symbols/tool/run-find-all-symbols.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang-tools-extra/clang-include-fixer/find-all-symbols/tool/run-find-all-symbols.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # + #=- run-find-all-symbols.py - Parallel find-all-symbols runner -*- python -*-=# + # +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang-tools-extra/clang-tidy/add_new_check.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang-tools-extra/clang-tidy/add_new_check.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang-tools-extra/clang-tidy/add_new_check.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # + #===- add_new_check.py - clang-tidy check generator ----------*- python -*--===# + # +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang-tools-extra/clang-tidy/rename_check.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang-tools-extra/clang-tidy/rename_check.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang-tools-extra/clang-tidy/rename_check.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # + #===- rename_check.py - clang-tidy check renamer -------------*- python -*--===# + # +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # + #===- clang-tidy-diff.py - ClangTidy Diff Checker ------------*- python -*--===# + # +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # + #===- run-clang-tidy.py - Parallel clang-tidy runner ---------*- python -*--===# + # +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang-tools-extra/clangd/include-mapping/cppreference_parser.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang-tools-extra/clangd/include-mapping/cppreference_parser.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang-tools-extra/clangd/include-mapping/cppreference_parser.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + #===- cppreference_parser.py - ------------------------------*- python -*--===# + # + # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang-tools-extra/clangd/include-mapping/gen_std.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang-tools-extra/clangd/include-mapping/gen_std.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang-tools-extra/clangd/include-mapping/gen_std.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + #===- gen_std.py - ------------------------------------------*- python -*--===# + # + # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang-tools-extra/clangd/include-mapping/test.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang-tools-extra/clangd/include-mapping/test.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang-tools-extra/clangd/include-mapping/test.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + #===- test.py - ---------------------------------------------*- python -*--===# + # + # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang-tools-extra/test/clang-tidy/check_clang_tidy.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang-tools-extra/test/clang-tidy/check_clang_tidy.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang-tools-extra/test/clang-tidy/check_clang_tidy.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # + #===- check_clang_tidy.py - ClangTidy Test Helper ------------*- python -*--===# + # +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/bindings/python/examples/cindex/cindex-dump.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/bindings/python/examples/cindex/cindex-dump.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/bindings/python/examples/cindex/cindex-dump.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + #===- cindex-dump.py - cindex/Python Source Dump -------------*- python -*--===# + # +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/bindings/python/examples/cindex/cindex-includes.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/bindings/python/examples/cindex/cindex-includes.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/bindings/python/examples/cindex/cindex-includes.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + #===- cindex-includes.py - cindex/Python Inclusion Graph -----*- python -*--===# + # +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/docs/tools/dump_ast_matchers.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/docs/tools/dump_ast_matchers.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/docs/tools/dump_ast_matchers.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # A tool to parse ASTMatchers.h and update the documentation in + # ../LibASTMatchersReference.html automatically. Run from the + # directory in which this file is located to update the docs. +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/docs/tools/dump_format_style.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/docs/tools/dump_format_style.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/docs/tools/dump_format_style.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # A tool to parse the FormatStyle struct from Format.h and update the + # documentation in ../ClangFormatStyleOptions.rst automatically. + # Run from the directory in which this file is located to update the docs. +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/test/AST/gen_ast_dump_json_test.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/test/AST/gen_ast_dump_json_test.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/test/AST/gen_ast_dump_json_test.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + from __future__ import print_function + from collections import OrderedDict +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/tools/clang-format/clang-format-diff.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/tools/clang-format/clang-format-diff.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/tools/clang-format/clang-format-diff.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # + #===- clang-format-diff.py - ClangFormat Diff Reformatter ----*- python -*--===# + # +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/tools/clang-format/git-clang-format +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/tools/clang-format/git-clang-format ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/tools/clang-format/git-clang-format +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # + #===- git-clang-format - ClangFormat Git Integration ---------*- python -*--===# + # +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/tools/scan-build-py/bin/analyze-build +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/tools/scan-build-py/bin/analyze-build ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/tools/scan-build-py/bin/analyze-build +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # -*- coding: utf-8 -*- + # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. + # See https://llvm.org/LICENSE.txt for license information. +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/tools/scan-build-py/bin/analyze-c++ +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/tools/scan-build-py/bin/analyze-c++ ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/tools/scan-build-py/bin/analyze-c++ +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # -*- coding: utf-8 -*- + # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. + # See https://llvm.org/LICENSE.txt for license information. +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/tools/scan-build-py/bin/analyze-cc +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/tools/scan-build-py/bin/analyze-cc ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/tools/scan-build-py/bin/analyze-cc +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # -*- coding: utf-8 -*- + # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. + # See https://llvm.org/LICENSE.txt for license information. +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/tools/scan-build-py/bin/intercept-build +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/tools/scan-build-py/bin/intercept-build ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/tools/scan-build-py/bin/intercept-build +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # -*- coding: utf-8 -*- + # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. + # See https://llvm.org/LICENSE.txt for license information. +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/tools/scan-build-py/bin/intercept-c++ +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/tools/scan-build-py/bin/intercept-c++ ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/tools/scan-build-py/bin/intercept-c++ +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # -*- coding: utf-8 -*- + # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. + # See https://llvm.org/LICENSE.txt for license information. +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/tools/scan-build-py/bin/intercept-cc +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/tools/scan-build-py/bin/intercept-cc ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/tools/scan-build-py/bin/intercept-cc +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # -*- coding: utf-8 -*- + # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. + # See https://llvm.org/LICENSE.txt for license information. +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/tools/scan-build-py/bin/scan-build +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/tools/scan-build-py/bin/scan-build ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/tools/scan-build-py/bin/scan-build +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # -*- coding: utf-8 -*- + # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. + # See https://llvm.org/LICENSE.txt for license information. +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/tools/scan-view/bin/scan-view +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/tools/scan-view/bin/scan-view ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/tools/scan-view/bin/scan-view +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + from __future__ import print_function + +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/tools/scan-view/share/Reporter.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/tools/scan-view/share/Reporter.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/tools/scan-view/share/Reporter.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # -*- coding: utf-8 -*- + + """Methods for reporting bugs.""" +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/tools/scan-view/share/startfile.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/tools/scan-view/share/startfile.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/tools/scan-view/share/startfile.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # -*- coding: utf-8 -*- + + """Utility for opening a file using the default application in a cross-platform +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/ABITest/ABITestGen.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/utils/ABITest/ABITestGen.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/ABITest/ABITestGen.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + from __future__ import absolute_import, division, print_function + from pprint import pprint +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/CIndex/completion_logger_server.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/utils/CIndex/completion_logger_server.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/CIndex/completion_logger_server.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + from __future__ import absolute_import, division, print_function + import sys + from socket import * +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/CaptureCmd +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/utils/CaptureCmd ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/CaptureCmd +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + """CaptureCmd - A generic tool for capturing information about the + invocations of another program. +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/CmpDriver +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/utils/CmpDriver ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/CmpDriver +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + """ + A simple utility that compares tool invocations and exit codes issued by +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/FindSpecRefs +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/utils/FindSpecRefs ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/FindSpecRefs +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + import os + import re +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/FuzzTest +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/utils/FuzzTest ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/FuzzTest +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + """ + This is a generic fuzz testing tool, see --help for more information. +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/TestUtils/deep-stack.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/utils/TestUtils/deep-stack.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/TestUtils/deep-stack.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + from __future__ import absolute_import, division, print_function + def pcall(f, N): +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/analyzer/CmpRuns.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/utils/analyzer/CmpRuns.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/analyzer/CmpRuns.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + """ + CmpRuns - A simple tool for comparing two static analyzer runs to determine +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/analyzer/SATestAdd.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/utils/analyzer/SATestAdd.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/analyzer/SATestAdd.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + """ + Static Analyzer qualification infrastructure: adding a new project to +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/analyzer/SATestBuild.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/utils/analyzer/SATestBuild.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/analyzer/SATestBuild.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + """ + Static Analyzer qualification infrastructure. +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/analyzer/SATestUpdateDiffs.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/utils/analyzer/SATestUpdateDiffs.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/analyzer/SATestUpdateDiffs.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + """ + Update reference results for static analyzer. +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/analyzer/SumTimerInfo.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/utils/analyzer/SumTimerInfo.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/analyzer/SumTimerInfo.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + """ + Script to Summarize statistics in the scan-build output. +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/analyzer/exploded-graph-rewriter.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/utils/analyzer/exploded-graph-rewriter.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/analyzer/exploded-graph-rewriter.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # + #===- exploded-graph-rewriter.py - ExplodedGraph dump tool -----*- python -*--# + # +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/check_cfc/check_cfc.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/utils/check_cfc/check_cfc.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/check_cfc/check_cfc.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + """Check CFC - Check Compile Flow Consistency + +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/check_cfc/obj_diff.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/utils/check_cfc/obj_diff.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/check_cfc/obj_diff.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + from __future__ import absolute_import, division, print_function + +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/check_cfc/test_check_cfc.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/utils/check_cfc/test_check_cfc.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/check_cfc/test_check_cfc.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + """Test internal functions within check_cfc.py.""" + +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/creduce-clang-crash.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/utils/creduce-clang-crash.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/creduce-clang-crash.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + """Calls C-Reduce to create a minimal reproducer for clang crashes. + + Output files: +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/hmaptool/hmaptool +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/utils/hmaptool/hmaptool ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/hmaptool/hmaptool +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + from __future__ import absolute_import, division, print_function + + import json +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/modfuzz.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/utils/modfuzz.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/modfuzz.py +@@ -1,4 +1,4 @@ +-#! /usr/bin/env python ++#! /usr/bin/env python3 + + # To use: + # 1) Update the 'decls' list below with your fuzzing configuration. +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/token-delta.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/clang/utils/token-delta.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/clang/utils/token-delta.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + from __future__ import absolute_import, division, print_function + import os +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/compiler-rt/lib/asan/scripts/asan_symbolize.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/compiler-rt/lib/asan/scripts/asan_symbolize.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/compiler-rt/lib/asan/scripts/asan_symbolize.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + #===- lib/asan/scripts/asan_symbolize.py -----------------------------------===# + # + # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/compiler-rt/lib/dfsan/scripts/build-libc-list.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/compiler-rt/lib/dfsan/scripts/build-libc-list.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/compiler-rt/lib/dfsan/scripts/build-libc-list.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + #===- lib/dfsan/scripts/build-libc-list.py ---------------------------------===# + # + # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/compiler-rt/lib/fuzzer/scripts/unbalanced_allocs.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/compiler-rt/lib/fuzzer/scripts/unbalanced_allocs.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/compiler-rt/lib/fuzzer/scripts/unbalanced_allocs.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + #===- lib/fuzzer/scripts/unbalanced_allocs.py ------------------------------===# + # + # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/compiler-rt/lib/sanitizer_common/scripts/cpplint.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/compiler-rt/lib/sanitizer_common/scripts/cpplint.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/compiler-rt/lib/sanitizer_common/scripts/cpplint.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # + # Copyright (c) 2009 Google Inc. All rights reserved. + # +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/compiler-rt/lib/sanitizer_common/scripts/gen_dynamic_list.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/compiler-rt/lib/sanitizer_common/scripts/gen_dynamic_list.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/compiler-rt/lib/sanitizer_common/scripts/gen_dynamic_list.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + #===- lib/sanitizer_common/scripts/gen_dynamic_list.py ---------------------===# + # + # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/compiler-rt/lib/sanitizer_common/scripts/litlint.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/compiler-rt/lib/sanitizer_common/scripts/litlint.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/compiler-rt/lib/sanitizer_common/scripts/litlint.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # + # litlint + # +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/compiler-rt/lib/sanitizer_common/scripts/sancov.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/compiler-rt/lib/sanitizer_common/scripts/sancov.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/compiler-rt/lib/sanitizer_common/scripts/sancov.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # Merge or print the coverage data collected by asan's coverage. + # Input files are sequences of 4-byte integers. + # We need to merge these integers into a set and then +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/libcxx/utils/cat_files.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/libcxx/utils/cat_files.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/libcxx/utils/cat_files.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + #===----------------------------------------------------------------------===## + # + # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/libcxx/utils/generate_feature_test_macro_components.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/libcxx/utils/generate_feature_test_macro_components.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/libcxx/utils/generate_feature_test_macro_components.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + import os + import tempfile +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/libcxx/utils/google-benchmark/mingw.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/libcxx/utils/google-benchmark/mingw.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/libcxx/utils/google-benchmark/mingw.py +@@ -1,4 +1,4 @@ +-#! /usr/bin/env python ++#! /usr/bin/env python3 + # encoding: utf-8 + + import argparse +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/libcxx/utils/google-benchmark/tools/compare.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/libcxx/utils/google-benchmark/tools/compare.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/libcxx/utils/google-benchmark/tools/compare.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + import unittest + """ +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/libcxx/utils/google-benchmark/tools/strip_asm.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/libcxx/utils/google-benchmark/tools/strip_asm.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/libcxx/utils/google-benchmark/tools/strip_asm.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + """ + strip_asm.py - Cleanup ASM output for the specified file +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/libcxx/utils/merge_archives.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/libcxx/utils/merge_archives.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/libcxx/utils/merge_archives.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + #===----------------------------------------------------------------------===## + # + # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/libcxx/utils/sym_diff.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/libcxx/utils/sym_diff.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/libcxx/utils/sym_diff.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + #===----------------------------------------------------------------------===## + # + # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/libcxx/utils/sym_extract.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/libcxx/utils/sym_extract.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/libcxx/utils/sym_extract.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + #===----------------------------------------------------------------------===## + # + # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/libcxx/utils/sym_match.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/libcxx/utils/sym_match.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/libcxx/utils/sym_match.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + #===----------------------------------------------------------------------===## + # + # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lld/utils/benchmark.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/lld/utils/benchmark.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lld/utils/benchmark.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # + # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. + # See https://llvm.org/LICENSE.txt for license information. +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/examples/python/file_extract.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/lldb/examples/python/file_extract.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/examples/python/file_extract.py +@@ -1,4 +1,4 @@ +-#! /usr/bin/env python ++#! /usr/bin/env python3 + + import string + import struct +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/packages/Python/lldbsuite/test/bench.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/lldb/packages/Python/lldbsuite/test/bench.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/packages/Python/lldbsuite/test/bench.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + """ + A simple bench runner which delegates to the ./dotest.py test driver to run the +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/packages/Python/lldbsuite/test/issue_verification/disable.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/lldb/packages/Python/lldbsuite/test/issue_verification/disable.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/packages/Python/lldbsuite/test/issue_verification/disable.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + """Renames *.py files to *.py.park.""" + import os + import sys +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/packages/Python/lldbsuite/test/issue_verification/enable.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/lldb/packages/Python/lldbsuite/test/issue_verification/enable.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/packages/Python/lldbsuite/test/issue_verification/enable.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + """Renames *.py.park files to *.py.""" + import os + import sys +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/packages/Python/lldbsuite/test/redo.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/lldb/packages/Python/lldbsuite/test/redo.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/packages/Python/lldbsuite/test/redo.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + """ + A simple utility to redo the failed/errored tests. +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/packages/Python/lldbsuite/test/test_runner/test/inferior.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/lldb/packages/Python/lldbsuite/test/test_runner/test/inferior.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/packages/Python/lldbsuite/test/test_runner/test/inferior.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + """Inferior program used by process control tests.""" + + from __future__ import print_function +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/packages/Python/lldbsuite/test/test_runner/test/test_process_control.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/lldb/packages/Python/lldbsuite/test/test_runner/test/test_process_control.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/packages/Python/lldbsuite/test/test_runner/test/test_process_control.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + """ + Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. + See https://llvm.org/LICENSE.txt for license information. +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/vscode.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/vscode.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/vscode.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + import binascii + import json +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/scripts/analyze-project-deps.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/lldb/scripts/analyze-project-deps.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/scripts/analyze-project-deps.py +@@ -1,4 +1,4 @@ +-#! /usr/bin/env python ++#! /usr/bin/env python3 + + import argparse + import itertools +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/scripts/verify_api.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/lldb/scripts/verify_api.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/scripts/verify_api.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + import subprocess + import optparse +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/third_party/Python/module/pexpect-4.6/pexpect/FSM.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/lldb/third_party/Python/module/pexpect-4.6/pexpect/FSM.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/third_party/Python/module/pexpect-4.6/pexpect/FSM.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + '''This module implements a Finite State Machine (FSM). In addition to state + this FSM also maintains a user defined "memory". So this FSM can be used as a +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/utils/lldb-dotest/lldb-dotest.in +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/lldb/utils/lldb-dotest/lldb-dotest.in ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/utils/lldb-dotest/lldb-dotest.in +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + import subprocess + import sys + +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/utils/lui/lui.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/lldb/utils/lui/lui.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/utils/lui/lui.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + ##===-- lui.py -----------------------------------------------*- Python -*-===## + ## + # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/utils/lui/sandbox.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/lldb/utils/lui/sandbox.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/utils/lui/sandbox.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + ##===-- sandbox.py -------------------------------------------*- Python -*-===## + ## + # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/utils/test/disasm.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/lldb/utils/test/disasm.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/utils/test/disasm.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + """ + Run gdb to disassemble a function, feed the bytes to 'llvm-mc -disassemble' command, +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/utils/test/lldb-disasm.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/lldb/utils/test/lldb-disasm.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/utils/test/lldb-disasm.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + """ + Run lldb to disassemble all the available functions for an executable image. +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/utils/test/llvm-mc-shell.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/lldb/utils/test/llvm-mc-shell.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/utils/test/llvm-mc-shell.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + """ + Run llvm-mc interactively. +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/utils/test/ras.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/lldb/utils/test/ras.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/utils/test/ras.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + """ + Run the test suite and send the result as an email message. +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/utils/test/run-dis.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/lldb/utils/test/run-dis.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/utils/test/run-dis.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + """ + Run lldb disassembler on all the binaries specified by a combination of root dir +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/utils/test/run-until-faulted.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/lldb/utils/test/run-until-faulted.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/lldb/utils/test/run-until-faulted.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + """ + Run a program via lldb until it fails. +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llgo/third_party/gofrontend/libffi/generate-darwin-source-and-headers.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llgo/third_party/gofrontend/libffi/generate-darwin-source-and-headers.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llgo/third_party/gofrontend/libffi/generate-darwin-source-and-headers.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + import subprocess + import os + import errno +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/examples/Kaleidoscope/MCJIT/cached/genk-timing.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/examples/Kaleidoscope/MCJIT/cached/genk-timing.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/examples/Kaleidoscope/MCJIT/cached/genk-timing.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + from __future__ import print_function + +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/examples/Kaleidoscope/MCJIT/cached/split-lib.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/examples/Kaleidoscope/MCJIT/cached/split-lib.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/examples/Kaleidoscope/MCJIT/cached/split-lib.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + from __future__ import print_function + +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/examples/Kaleidoscope/MCJIT/complete/genk-timing.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/examples/Kaleidoscope/MCJIT/complete/genk-timing.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/examples/Kaleidoscope/MCJIT/complete/genk-timing.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + from __future__ import print_function + +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/examples/Kaleidoscope/MCJIT/complete/split-lib.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/examples/Kaleidoscope/MCJIT/complete/split-lib.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/examples/Kaleidoscope/MCJIT/complete/split-lib.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + from __future__ import print_function + +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/examples/Kaleidoscope/MCJIT/lazy/genk-timing.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/examples/Kaleidoscope/MCJIT/lazy/genk-timing.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/examples/Kaleidoscope/MCJIT/lazy/genk-timing.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + from __future__ import print_function + +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/runtimes/llvm-strip-link.in +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/runtimes/llvm-strip-link.in ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/runtimes/llvm-strip-link.in +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # -*- coding: utf-8 -*- + + import os +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/test/BugPoint/compile-custom.ll.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/test/BugPoint/compile-custom.ll.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/test/BugPoint/compile-custom.ll.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + from __future__ import print_function + +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/test/Other/opt-bisect-helper.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/test/Other/opt-bisect-helper.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/test/Other/opt-bisect-helper.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + from __future__ import print_function + +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/test/TableGen/JSON-check.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/test/TableGen/JSON-check.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/test/TableGen/JSON-check.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + import sys + import subprocess +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/tools/opt-viewer/opt-diff.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/tools/opt-viewer/opt-diff.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/tools/opt-viewer/opt-diff.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + from __future__ import print_function + +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/tools/opt-viewer/opt-stats.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/tools/opt-viewer/opt-stats.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/tools/opt-viewer/opt-stats.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + from __future__ import print_function + +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/tools/opt-viewer/opt-viewer.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/tools/opt-viewer/opt-viewer.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/tools/opt-viewer/opt-viewer.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + from __future__ import print_function + +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/tools/opt-viewer/optrecord.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/tools/opt-viewer/optrecord.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/tools/opt-viewer/optrecord.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + from __future__ import print_function + +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/Misc/zkill +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/Misc/zkill ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/Misc/zkill +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + import os + import re +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/abtest.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/abtest.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/abtest.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # + # Given a previous good compile narrow down miscompiles. + # Expects two directories named "before" and "after" each containing a set of +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/benchmark/mingw.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/benchmark/mingw.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/benchmark/mingw.py +@@ -1,4 +1,4 @@ +-#! /usr/bin/env python ++#! /usr/bin/env python3 + # encoding: utf-8 + + import argparse +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/benchmark/tools/compare.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/benchmark/tools/compare.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/benchmark/tools/compare.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + """ + compare.py - versatile benchmark output compare tool +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/benchmark/tools/strip_asm.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/benchmark/tools/strip_asm.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/benchmark/tools/strip_asm.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + """ + strip_asm.py - Cleanup ASM output for the specified file +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/bisect +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/bisect ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/bisect +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # + # The way you use this is you create a script that takes in as its first + # argument a count. The script passes into LLVM the count via a command +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/bisect-skip-count +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/bisect-skip-count ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/bisect-skip-count +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # This script is used to bisect skip and count arguments for --debug-counter. + # It is similar to bisect, except it understands how to increase skip and decrease count + # +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/bugpoint_gisel_reducer.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/bugpoint_gisel_reducer.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/bugpoint_gisel_reducer.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + """Reduces GlobalISel failures. + +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/chunk-print-before-all.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/chunk-print-before-all.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/chunk-print-before-all.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # Given a -print-before-all -print-module-scope log from an opt invocation, + # chunk it into a series of individual IR files, one for each pass invocation. + # If the log ends with an obvious stack trace, try to split off a separate +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/clang-parse-diagnostics-file +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/clang-parse-diagnostics-file ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/clang-parse-diagnostics-file +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + import os + import plistlib +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/create_ladder_graph.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/create_ladder_graph.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/create_ladder_graph.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + """A ladder graph creation program. + + This is a python program that creates c source code that will generate +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/extract_symbols.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/extract_symbols.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/extract_symbols.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + """A tool for extracting a list of symbols to export + +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/extract_vplan.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/extract_vplan.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/extract_vplan.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + # This script extracts the VPlan digraphs from the vectoriser debug messages + # and saves them in individual dot files (one for each plan). Optionally, and +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/git-svn/git-llvm +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/git-svn/git-llvm ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/git-svn/git-llvm +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # + # ======- git-llvm - LLVM Git Help Integration ---------*- python -*--========# + # +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/gn/build/run_tablegen.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/gn/build/run_tablegen.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/gn/build/run_tablegen.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + """Runs tablegen.""" + + import subprocess +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/gn/build/symlink_or_copy.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/gn/build/symlink_or_copy.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/gn/build/symlink_or_copy.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + """Symlinks, or on Windows copies, an existing file to a second location. + +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/gn/build/sync_source_lists_from_cmake.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/gn/build/sync_source_lists_from_cmake.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/gn/build/sync_source_lists_from_cmake.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + """Helps to keep BUILD.gn files in sync with the corresponding CMakeLists.txt. + +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/gn/build/write_cmake_config.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/gn/build/write_cmake_config.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/gn/build/write_cmake_config.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + r"""Emulates the bits of CMake's configure_file() function needed in LLVM. + + The CMake build uses configure_file() for several things. This emulates that +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/gn/build/write_vcsrevision.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/gn/build/write_vcsrevision.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/gn/build/write_vcsrevision.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + """Gets the current revision and writes it to VCSRevision.h.""" + +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/gn/get.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/gn/get.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/gn/get.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + """Downloads a prebuilt gn binary to a place where gn.py can find it.""" + + from __future__ import print_function +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/gn/gn.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/gn/gn.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/gn/gn.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + """Calls `gn` with the right --dotfile= and --root= arguments for LLVM.""" + + # GN normally expects a file called '.gn' at the root of the repository. +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/indirect_calls.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/indirect_calls.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/indirect_calls.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + """A tool for looking for indirect jumps and calls in x86 binaries. + +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/lit/lit.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/lit/lit.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/lit/lit.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + from lit.main import main + +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/lit/lit/ProgressBar.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/lit/lit/ProgressBar.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/lit/lit/ProgressBar.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + # Source: http://code.activestate.com/recipes/475116/, with + # modifications by Daniel Dunbar. +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/lit/tests/Inputs/googletest-format/DummySubDir/OneTest.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/lit/tests/Inputs/googletest-format/DummySubDir/OneTest.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/lit/tests/Inputs/googletest-format/DummySubDir/OneTest.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + import sys + +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/lit/tests/Inputs/googletest-timeout/DummySubDir/OneTest.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/lit/tests/Inputs/googletest-timeout/DummySubDir/OneTest.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/lit/tests/Inputs/googletest-timeout/DummySubDir/OneTest.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + import sys + import time +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/lit/tests/Inputs/googletest-upstream-format/DummySubDir/OneTest.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/lit/tests/Inputs/googletest-upstream-format/DummySubDir/OneTest.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/lit/tests/Inputs/googletest-upstream-format/DummySubDir/OneTest.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + import sys + +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/lit/tests/Inputs/shtest-env/print_environment.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/lit/tests/Inputs/shtest-env/print_environment.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/lit/tests/Inputs/shtest-env/print_environment.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + from __future__ import print_function + import os +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/lit/tests/Inputs/shtest-format/external_shell/write-bad-encoding.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/lit/tests/Inputs/shtest-format/external_shell/write-bad-encoding.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/lit/tests/Inputs/shtest-format/external_shell/write-bad-encoding.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + import sys + +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/lit/tests/Inputs/shtest-shell/check_args.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/lit/tests/Inputs/shtest-shell/check_args.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/lit/tests/Inputs/shtest-shell/check_args.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + import argparse + import platform +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/lit/tests/Inputs/shtest-shell/check_path.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/lit/tests/Inputs/shtest-shell/check_path.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/lit/tests/Inputs/shtest-shell/check_path.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + from __future__ import print_function + +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/lit/tests/Inputs/shtest-shell/write-to-stderr.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/lit/tests/Inputs/shtest-shell/write-to-stderr.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/lit/tests/Inputs/shtest-shell/write-to-stderr.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + import sys + +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/lit/tests/Inputs/shtest-shell/write-to-stdout-and-stderr.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/lit/tests/Inputs/shtest-shell/write-to-stdout-and-stderr.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/lit/tests/Inputs/shtest-shell/write-to-stdout-and-stderr.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + import sys + +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/llvm-build/llvm-build +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/llvm-build/llvm-build ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/llvm-build/llvm-build +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + import llvmbuild + +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/llvm-gisel-cov.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/llvm-gisel-cov.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/llvm-gisel-cov.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + """ + Summarize the information in the given coverage files. + +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/llvm-lit/llvm-lit.in +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/llvm-lit/llvm-lit.in ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/llvm-lit/llvm-lit.in +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # -*- coding: utf-8 -*- + + import os +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/prepare-code-coverage-artifact.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/prepare-code-coverage-artifact.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/prepare-code-coverage-artifact.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + from __future__ import print_function + +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/release/findRegressions-nightly.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/release/findRegressions-nightly.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/release/findRegressions-nightly.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + from __future__ import print_function + + import re, string, sys, os, time +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/release/findRegressions-simple.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/release/findRegressions-simple.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/release/findRegressions-simple.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + from __future__ import print_function + import re, string, sys, os, time, math +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/shuffle_fuzz.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/shuffle_fuzz.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/shuffle_fuzz.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + """A shuffle vector fuzz tester. + +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/shuffle_select_fuzz_tester.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/shuffle_select_fuzz_tester.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/shuffle_select_fuzz_tester.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + """A shuffle-select vector fuzz tester. + +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/sort_includes.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/sort_includes.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/sort_includes.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + """Script to sort the top-most block of #include lines. + +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/unicode-case-fold.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/unicode-case-fold.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/unicode-case-fold.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + """ + Unicode case folding database conversion utility + +Index: llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/wciia.py +=================================================================== +--- llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5.orig/llvm/utils/wciia.py ++++ llvm-toolchain-snapshot_10~++20200114093356+440ce5164f5/llvm/utils/wciia.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + """ + wciia - Whose Code Is It Anyway diff --git a/patches/remove-apple-clang-manpage.diff b/patches/remove-apple-clang-manpage.diff new file mode 100644 index 000000000..58f5e6ba7 --- /dev/null +++ b/patches/remove-apple-clang-manpage.diff @@ -0,0 +1,38 @@ +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/docs/CommandGuide/clang.rst +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/docs/CommandGuide/clang.rst ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/docs/CommandGuide/clang.rst +@@ -310,20 +310,10 @@ Clang fully supports cross compilation a + Depending on how your version of Clang is configured, it may have support for a + number of cross compilers, or may only support a native target. + +-.. option:: -arch ++.. option:: -target + + Specify the architecture to build for. + +-.. option:: -mmacosx-version-min= +- +- When building for macOS, specify the minimum version supported by your +- application. +- +-.. option:: -miphoneos-version-min +- +- When building for iPhone OS, specify the minimum version supported by your +- application. +- + .. option:: --print-supported-cpus + + Print out a list of supported processors for the given target (specified +@@ -626,11 +616,6 @@ ENVIRONMENT + These environment variables specify additional paths, as for :envvar:`CPATH`, which are + only used when processing the appropriate language. + +-.. envvar:: MACOSX_DEPLOYMENT_TARGET +- +- If :option:`-mmacosx-version-min` is unspecified, the default deployment +- target is read from this environment variable. This option only affects +- Darwin targets. + + BUGS + ---- diff --git a/patches/remove-test-freezing.diff b/patches/remove-test-freezing.diff new file mode 100644 index 000000000..ee7691b0f --- /dev/null +++ b/patches/remove-test-freezing.diff @@ -0,0 +1,34 @@ +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/test/sanitizer_common/TestCases/Linux/sysconf_interceptor_bypass_test.cpp +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/compiler-rt/test/sanitizer_common/TestCases/Linux/sysconf_interceptor_bypass_test.cpp ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/test/sanitizer_common/TestCases/Linux/sysconf_interceptor_bypass_test.cpp +@@ -1,29 +0,0 @@ +-// RUN: %clangxx -O2 %s -o %t && %run %t 2>&1 | FileCheck %s +- +-#include +- +-#if !defined(__GLIBC_PREREQ) +-#define __GLIBC_PREREQ(a, b) 0 +-#endif +- +-// getauxval() used instead of sysconf() in GetPageSize() is defined starting +-// glbc version 2.16. +-#if __GLIBC_PREREQ(2, 16) +-extern "C" long sysconf(int name) { +- fprintf(stderr, "sysconf wrapper called\n"); +- return 0; +-} +-#endif // defined(__GLIBC_PREREQ) && __GLIBC_PREREQ(2, 16) +- +-int main() { +- // All we need to check is that the sysconf() interceptor defined above was +- // not called. Should it get called, it will crash right there, any +- // instrumented code executed before sanitizer init is finished will crash +- // accessing non-initialized sanitizer internals. Even if it will not crash +- // in some configuration, it should never be called anyway. +- fprintf(stderr, "Passed\n"); +- // CHECK-NOT: sysconf wrapper called +- // CHECK: Passed +- // CHECK-NOT: sysconf wrapper called +- return 0; +-} diff --git a/patches/remove-trailing-space-version.diff b/patches/remove-trailing-space-version.diff new file mode 100644 index 000000000..fadcf7f73 --- /dev/null +++ b/patches/remove-trailing-space-version.diff @@ -0,0 +1,34 @@ +Index: llvm-toolchain-10_10.0.1~+rc1/clang/lib/Basic/Version.cpp +=================================================================== +--- llvm-toolchain-10_10.0.1~+rc1.orig/clang/lib/Basic/Version.cpp ++++ llvm-toolchain-10_10.0.1~+rc1/clang/lib/Basic/Version.cpp +@@ -125,8 +125,12 @@ std::string getClangToolFullVersion(Stri + #ifdef CLANG_VENDOR + OS << CLANG_VENDOR; + #endif +- OS << ToolName << " version " CLANG_VERSION_STRING "-" DEB_PATCHSETVERSION " " +- << getClangFullRepositoryVersion(); ++ OS << ToolName << " version " CLANG_VERSION_STRING "-" DEB_PATCHSETVERSION; ++ ++ std::string repo = getClangFullRepositoryVersion(); ++ if (!repo.empty()) { ++ OS << " " << repo; ++ } + + return OS.str(); + } +@@ -139,7 +143,13 @@ std::string getClangFullCPPVersion() { + #ifdef CLANG_VENDOR + OS << CLANG_VENDOR; + #endif +- OS << "Clang " CLANG_VERSION_STRING " " << getClangFullRepositoryVersion(); ++ OS << "Clang " CLANG_VERSION_STRING; ++ ++ std::string repo = getClangFullRepositoryVersion(); ++ if (!repo.empty()) { ++ OS << " " << repo; ++ } ++ + return OS.str(); + } + diff --git a/patches/risc/clang-riscv64-multiarch.diff b/patches/risc/clang-riscv64-multiarch.diff new file mode 100644 index 000000000..e33aa732d --- /dev/null +++ b/patches/risc/clang-riscv64-multiarch.diff @@ -0,0 +1,34 @@ +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/ToolChains/Linux.cpp +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/lib/Driver/ToolChains/Linux.cpp ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/ToolChains/Linux.cpp +@@ -151,6 +151,10 @@ static std::string getMultiarchTriple(co + if (D.getVFS().exists(SysRoot + "/lib/powerpc64le-linux-gnu")) + return "powerpc64le-linux-gnu"; + break; ++ case llvm::Triple::riscv64: ++ if (D.getVFS().exists(SysRoot + "/lib/riscv64-linux-gnu")) ++ return "riscv64-linux-gnu"; ++ break; + case llvm::Triple::sparc: + if (D.getVFS().exists(SysRoot + "/lib/sparc-linux-gnu")) + return "sparc-linux-gnu"; +@@ -760,6 +764,8 @@ void Linux::AddClangSystemIncludeArgs(co + "/usr/include/powerpc64-linux-gnu"}; + const StringRef PPC64LEMultiarchIncludeDirs[] = { + "/usr/include/powerpc64le-linux-gnu"}; ++ const StringRef RISCV64MultiarchIncludeDirs[] = { ++ "/usr/include/riscv64-linux-gnu"}; + const StringRef SparcMultiarchIncludeDirs[] = { + "/usr/include/sparc-linux-gnu"}; + const StringRef Sparc64MultiarchIncludeDirs[] = { +@@ -835,6 +841,9 @@ void Linux::AddClangSystemIncludeArgs(co + case llvm::Triple::ppc64le: + MultiarchIncludeDirs = PPC64LEMultiarchIncludeDirs; + break; ++ case llvm::Triple::riscv64: ++ MultiarchIncludeDirs = RISCV64MultiarchIncludeDirs; ++ break; + case llvm::Triple::sparc: + MultiarchIncludeDirs = SparcMultiarchIncludeDirs; + break; diff --git a/patches/risc/riscv64-multilib-empty.patch b/patches/risc/riscv64-multilib-empty.patch new file mode 100644 index 000000000..3a9fdf76c --- /dev/null +++ b/patches/risc/riscv64-multilib-empty.patch @@ -0,0 +1,57 @@ +Index: llvm-toolchain-10-10.0.0/clang/lib/Driver/ToolChains/Gnu.cpp +=================================================================== +--- llvm-toolchain-10-10.0.0.orig/clang/lib/Driver/ToolChains/Gnu.cpp ++++ llvm-toolchain-10-10.0.0/clang/lib/Driver/ToolChains/Gnu.cpp +@@ -1570,13 +1570,16 @@ static void findRISCVBareMetalMultilibs( + Result.Multilibs = RISCVMultilibs; + } + +-static void findRISCVMultilibs(const Driver &D, ++static bool findRISCVMultilibs(const Driver &D, + const llvm::Triple &TargetTriple, StringRef Path, + const ArgList &Args, DetectedMultilibs &Result) { +- if (TargetTriple.getOS() == llvm::Triple::UnknownOS) +- return findRISCVBareMetalMultilibs(D, TargetTriple, Path, Args, Result); ++ if (TargetTriple.getOS() == llvm::Triple::UnknownOS) { ++ findRISCVBareMetalMultilibs(D, TargetTriple, Path, Args, Result); ++ return true; ++ } + + FilterNonExistent NonExistent(Path, "/crtbegin.o", D.getVFS()); ++ Multilib Default; + Multilib Ilp32 = makeMultilib("lib32/ilp32").flag("+m32").flag("+mabi=ilp32"); + Multilib Ilp32f = + makeMultilib("lib32/ilp32f").flag("+m32").flag("+mabi=ilp32f"); +@@ -1587,7 +1590,7 @@ static void findRISCVMultilibs(const Dri + Multilib Lp64d = makeMultilib("lib64/lp64d").flag("+m64").flag("+mabi=lp64d"); + MultilibSet RISCVMultilibs = + MultilibSet() +- .Either({Ilp32, Ilp32f, Ilp32d, Lp64, Lp64f, Lp64d}) ++ .Either({Default, Ilp32, Ilp32f, Ilp32d, Lp64, Lp64f, Lp64d}) + .FilterOut(NonExistent); + + Multilib::flags_list Flags; +@@ -1603,8 +1606,11 @@ static void findRISCVMultilibs(const Dri + addMultilibFlag(ABIName == "lp64f", "mabi=lp64f", Flags); + addMultilibFlag(ABIName == "lp64d", "mabi=lp64d", Flags); + +- if (RISCVMultilibs.select(Flags, Result.SelectedMultilib)) +- Result.Multilibs = RISCVMultilibs; ++ if (!RISCVMultilibs.select(Flags, Result.SelectedMultilib)) ++ return false; ++ ++ Result.Multilibs = RISCVMultilibs; ++ return true; + } + + static bool findBiarchMultilibs(const Driver &D, +@@ -2382,7 +2388,8 @@ bool Generic_GCC::GCCInstallationDetecto + if (!findMIPSMultilibs(D, TargetTriple, Path, Args, Detected)) + return false; + } else if (TargetTriple.isRISCV()) { +- findRISCVMultilibs(D, TargetTriple, Path, Args, Detected); ++ if (!findRISCVMultilibs(D, TargetTriple, Path, Args, Detected)) ++ return false; + } else if (isMSP430(TargetArch)) { + findMSP430Multilibs(D, TargetTriple, Path, Args, Detected); + } else if (TargetArch == llvm::Triple::avr) { diff --git a/patches/scan-build-clang-path.diff b/patches/scan-build-clang-path.diff new file mode 100644 index 000000000..812db1612 --- /dev/null +++ b/patches/scan-build-clang-path.diff @@ -0,0 +1,17 @@ +--- + clang/tools/scan-build/bin/scan-build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/tools/scan-build/bin/scan-build +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/tools/scan-build/bin/scan-build ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/tools/scan-build/bin/scan-build +@@ -1478,7 +1478,7 @@ sub FindClang { + if (!defined $Options{AnalyzerDiscoveryMethod}) { + $Clang = Cwd::realpath("$RealBin/bin/clang") if (-f "$RealBin/bin/clang"); + if (!defined $Clang || ! -x $Clang) { +- $Clang = Cwd::realpath("$RealBin/clang") if (-f "$RealBin/clang"); ++ $Clang = Cwd::realpath("/usr/lib/llvm-10/bin/clang"); + if (!defined $Clang || ! -x $Clang) { + # When an Xcode toolchain is present, look for a clang in the sibling bin + # of the parent of the bin directory. So if scan-build is at diff --git a/patches/scan-view-fix-path.diff b/patches/scan-view-fix-path.diff new file mode 100644 index 000000000..ca9b030b0 --- /dev/null +++ b/patches/scan-view-fix-path.diff @@ -0,0 +1,13 @@ +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/tools/scan-view/bin/scan-view +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/tools/scan-view/bin/scan-view ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/tools/scan-view/bin/scan-view +@@ -65,7 +65,7 @@ def start_browser(port, options): + + def run(port, options, root): + # Prefer to look relative to the installed binary +- share = os.path.dirname(__file__) + "/../share/scan-view" ++ share = os.path.dirname(__file__) + "/../share/" + if not os.path.isdir(share): + # Otherwise look relative to the source + share = os.path.dirname(__file__) + "/../../scan-view/share" diff --git a/patches/series b/patches/series new file mode 100644 index 000000000..48789a1d5 --- /dev/null +++ b/patches/series @@ -0,0 +1,149 @@ +# Debian versions +19-clang_debian_version.patch +0003-Debian-version-info-and-bugreport.patch +clang-format-version.diff +clang-analyzer-force-version.diff + +# Disabling features +23-strlcpy_strlcat_warning_removed.diff + +declare_clear_cache.diff +unwind-chain-inclusion.diff +atomic_library_1.diff + +# Path updates +python-clangpath.diff +fix-clang-path-and-build.diff +0048-Set-html_static_path-_static-everywhere.patch +symbolizer-path.diff +clang-tidy-run-bin.diff +0001-tools-clang-cmake-resolve-symlinks-in-ClangConfig.cmake.patch +debug-jit-path.diff + +# commented because of bug 903709 +#force-gcc-header-obj.diff + +do-not-fail-on-unexpected-pass.diff +disable-display-PASS-UNSUPPORTED-XFAIL.diff + +# llvm-config +fix-llvm-config-obj-src-root.patch +0001-llvm-cmake-resolve-symlinks-in-LLVMConfig.cmake.patch + +# Lib names +0044-soname.diff +lldb-soname.diff +#lldb-libname.diff +openmp-soname.diff + +# Disable some tests +silent-gold-test.diff +silent-more-tests.diff +silent-MCJIIT-tests.diff +silent-gold-utils.diff +silent-test-failing-codeverage.diff +silent-amd-tet.diff +silent-test-macho.diff +silent-llvm-isel-fuzzer.diff +remove-test-freezing.diff +disable-llvm-symbolizer-test.diff +disable-path-test-failing.diff + +# Decrease the freq for the keep alive +test-keep-alive.diff + +# scan-build +scan-build-clang-path.diff +install-scan-build-py.diff +scan-view-fix-path.diff +fix-scan-view-path.diff + +# lldb +lldb/lldb-link-atomic-cmake.patch +lldb/lldb-addversion-suffix-to-llvm-server-exec.patch +lldb/lldb-missing-install.diff +lldb/lldb-disable-swig-error.diff + +# Fix arch issue +disable-error-xray.diff + +# OpenMP +openmp/openmp-check-execstack.diff +openmp/openmp-mips-affinity.patch +openmp/bootstrap-with-openmp-version-export-missing.diff + +# libcxx +libcxx/libcxxabi-test-don-t-fail-extended-long-double.patch +libcxx/libcxx-test-fix-lockfree-test-for-i386.patch +libcxx/libcxxabi-arm-ehabi-fix.patch +libcxx/libcxx-test-atomics-set-compare-exchange-to-be-expected-fails-on-arm.patch +libcxx/libcxx-silent-test-libcxx.diff +libcxx/libcxx-silent-failure-ppc64el.diff +libcxx/libcxx-silent-failure-arm64.diff + +# Change default optims +mips-fpxx-enable.diff +26-set-correct-float-abi.diff +clang-baseline-fix-i386.patch +disable-sse2-old-x86.diff +clang-arm-default-vfp3-on-armv7a.patch + +# For the bootstrap +clangd-atomic-cmake.patch + +# Fix docs +# https://reviews.llvm.org/D60380 +remove-apple-clang-manpage.diff +0049-Use-Debian-provided-MathJax-everywhere.patch + +# Hurd port +hurd/hurd-cxx-paths.diff +hurd/hurd-pathmax.diff + +# powerpcspe +#powerpcspe/D49754-powerpcspe-clang.diff +#powerpcspe/D54583-powerpcspe-double-parameter.diff +#powerpcspe/D56703-powerpcspe-register-spilling.diff + +# kfreebsd +# kfreebsd/clang_lib_Basic_Targets.diff +# kfreebsd/CMakeLists.txt.diff +# kfreebsd/compiler-rt_lib.diff +# kfreebsd/include_llvm_ADT_Triple.h.diff +# kfreebsd/kfreebsd-libcxx-threads-detection.diff +# kfreebsd/kfreebsd-openmp.diff +# kfreebsd/kfreebsd-threads-build.diff +# kfreebsd/kfreebsd-triple-clang.diff +# kfreebsd/kfreebsd-triple.diff +# kfreebsd/lib_Support.diff +# kfreebsd/lib_Target_X86.diff +# kfreebsd/lldb_source_Host_freebsd_Host.cpp.diff +# kfreebsd/lldb_source_Plugins_Process_FreeBSD.diff +# kfreebsd/tools_llvm-shlib_CMakeLists.txt.diff + +930008-arm.diff +bootstrap-fix-include-next.diff + +# riscv64 +risc/clang-riscv64-multiarch.diff +risc/riscv64-multilib-empty.patch + +# Compiler-rt - workaround +workaround-bug-42994-use-linker.diff + +# bug 939472 +#try-to-unbreak-thinlto.diff +D67877.patch +disable-fuzzer-compiler-rt-x86.diff +no-z3.patch + +python3-shebang.patch +print-lldb-path.patch +no-cgi.patch + +0001-systemz-allow-configuring-default-SYSTEMZ_DEFAULT_AR.patch + +ubuntu-groovy.diff +clang_vendor_pass_stage2.diff +remove-trailing-space-version.diff +mips-force-nomadd4.patch diff --git a/patches/silent-MCJIIT-tests.diff b/patches/silent-MCJIIT-tests.diff new file mode 100644 index 000000000..a23f4781f --- /dev/null +++ b/patches/silent-MCJIIT-tests.diff @@ -0,0 +1,190 @@ +--- + test/BugPoint/crash-narrowfunctiontest.ll | 1 - + test/BugPoint/remove_arguments_test.ll | 1 - + test/ExecutionEngine/MCJIT/cross-module-sm-pic-a.ll | 2 +- + test/ExecutionEngine/MCJIT/eh-lg-pic.ll | 2 +- + test/ExecutionEngine/MCJIT/multi-module-sm-pic-a.ll | 2 +- + test/ExecutionEngine/MCJIT/stubs-sm-pic.ll | 2 +- + test/ExecutionEngine/MCJIT/test-global-init-nonzero-sm-pic.ll | 2 +- + test/ExecutionEngine/MCJIT/test-ptr-reloc-sm-pic.ll | 2 +- + test/ExecutionEngine/OrcMCJIT/cross-module-sm-pic-a.ll | 2 +- + test/ExecutionEngine/OrcMCJIT/eh-lg-pic.ll | 2 +- + test/ExecutionEngine/OrcMCJIT/multi-module-sm-pic-a.ll | 2 +- + test/ExecutionEngine/OrcMCJIT/remote/test-global-init-nonzero-sm-pic.ll | 2 +- + test/ExecutionEngine/OrcMCJIT/remote/test-ptr-reloc-sm-pic.ll | 2 +- + test/ExecutionEngine/OrcMCJIT/stubs-sm-pic.ll | 2 +- + test/ExecutionEngine/OrcMCJIT/test-global-init-nonzero-sm-pic.ll | 2 +- + test/ExecutionEngine/OrcMCJIT/test-ptr-reloc-sm-pic.ll | 2 +- + test/Feature/load_module.ll | 1 - + 17 files changed, 14 insertions(+), 17 deletions(-) + +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ExecutionEngine/MCJIT/cross-module-sm-pic-a.ll +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/test/ExecutionEngine/MCJIT/cross-module-sm-pic-a.ll ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ExecutionEngine/MCJIT/cross-module-sm-pic-a.ll +@@ -1,5 +1,5 @@ + ; RUN: %lli -extra-module=%p/Inputs/cross-module-b.ll -relocation-model=pic -code-model=small %s > /dev/null +-; XFAIL: mips-, mipsel-, i686, i386 ++; XFAIL: * + + declare i32 @FB() + +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ExecutionEngine/MCJIT/eh-lg-pic.ll +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/test/ExecutionEngine/MCJIT/eh-lg-pic.ll ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ExecutionEngine/MCJIT/eh-lg-pic.ll +@@ -1,6 +1,6 @@ + ; REQUIRES: cxx-shared-library + ; RUN: %lli -relocation-model=pic -code-model=large %s +-; XFAIL: cygwin, windows-msvc, windows-gnu, mips-, mipsel-, i686, i386, aarch64, arm ++; XFAIL: * + declare i8* @__cxa_allocate_exception(i64) + declare void @__cxa_throw(i8*, i8*, i8*) + declare i32 @__gxx_personality_v0(...) +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ExecutionEngine/MCJIT/multi-module-sm-pic-a.ll +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/test/ExecutionEngine/MCJIT/multi-module-sm-pic-a.ll ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ExecutionEngine/MCJIT/multi-module-sm-pic-a.ll +@@ -1,5 +1,5 @@ + ; RUN: %lli -extra-module=%p/Inputs/multi-module-b.ll -extra-module=%p/Inputs/multi-module-c.ll -relocation-model=pic -code-model=small %s > /dev/null +-; XFAIL: mips-, mipsel-, i686, i386 ++; XFAIL: * + + declare i32 @FB() + +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ExecutionEngine/MCJIT/stubs-sm-pic.ll +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/test/ExecutionEngine/MCJIT/stubs-sm-pic.ll ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ExecutionEngine/MCJIT/stubs-sm-pic.ll +@@ -1,5 +1,5 @@ + ; RUN: %lli -disable-lazy-compilation=false -relocation-model=pic -code-model=small %s +-; XFAIL: mips-, mipsel-, i686, i386, aarch64, arm ++; XFAIL: mips-, mipsel-, i686, i386, aarch64, arm, x86_64 + + define i32 @main() nounwind { + entry: +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ExecutionEngine/MCJIT/test-global-init-nonzero-sm-pic.ll +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/test/ExecutionEngine/MCJIT/test-global-init-nonzero-sm-pic.ll ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ExecutionEngine/MCJIT/test-global-init-nonzero-sm-pic.ll +@@ -1,5 +1,5 @@ + ; RUN: %lli -relocation-model=pic -code-model=small %s > /dev/null +-; XFAIL: mips-, mipsel-, aarch64, arm, i686, i386 ++; XFAIL: mips-, mipsel-, aarch64, arm, i686, i386, x86_64 + + @count = global i32 1, align 4 + +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ExecutionEngine/MCJIT/test-ptr-reloc-sm-pic.ll +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/test/ExecutionEngine/MCJIT/test-ptr-reloc-sm-pic.ll ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ExecutionEngine/MCJIT/test-ptr-reloc-sm-pic.ll +@@ -1,5 +1,5 @@ + ; RUN: %lli -O0 -relocation-model=pic -code-model=small %s +-; XFAIL: mips-, mipsel-, aarch64, arm, i686, i386 ++; XFAIL: mips-, mipsel-, aarch64, arm, i686, i386, x86_64 + + @.str = private unnamed_addr constant [6 x i8] c"data1\00", align 1 + @ptr = global i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i32 0, i32 0), align 4 +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ExecutionEngine/OrcMCJIT/cross-module-sm-pic-a.ll +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/test/ExecutionEngine/OrcMCJIT/cross-module-sm-pic-a.ll ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ExecutionEngine/OrcMCJIT/cross-module-sm-pic-a.ll +@@ -1,5 +1,5 @@ + ; RUN: %lli -jit-kind=orc-mcjit -extra-module=%p/Inputs/cross-module-b.ll -relocation-model=pic -code-model=small %s > /dev/null +-; XFAIL: mips-, mipsel-, i686, i386 ++; XFAIL: * + + declare i32 @FB() + +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ExecutionEngine/OrcMCJIT/eh-lg-pic.ll +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/test/ExecutionEngine/OrcMCJIT/eh-lg-pic.ll ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ExecutionEngine/OrcMCJIT/eh-lg-pic.ll +@@ -1,6 +1,6 @@ + ; REQUIRES: cxx-shared-library + ; RUN: %lli -jit-kind=orc-mcjit -relocation-model=pic -code-model=large %s +-; XFAIL: cygwin, windows-msvc, windows-gnu, mips-, mipsel-, i686, i386, aarch64, arm ++; XFAIL: * + declare i8* @__cxa_allocate_exception(i64) + declare void @__cxa_throw(i8*, i8*, i8*) + declare i32 @__gxx_personality_v0(...) +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ExecutionEngine/OrcMCJIT/multi-module-sm-pic-a.ll +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/test/ExecutionEngine/OrcMCJIT/multi-module-sm-pic-a.ll ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ExecutionEngine/OrcMCJIT/multi-module-sm-pic-a.ll +@@ -1,5 +1,5 @@ + ; RUN: %lli -jit-kind=orc-mcjit -extra-module=%p/Inputs/multi-module-b.ll -extra-module=%p/Inputs/multi-module-c.ll -relocation-model=pic -code-model=small %s > /dev/null +-; XFAIL: mips-, mipsel-, i686, i386 ++; XFAIL: * + + declare i32 @FB() + +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ExecutionEngine/OrcMCJIT/remote/test-global-init-nonzero-sm-pic.ll +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/test/ExecutionEngine/OrcMCJIT/remote/test-global-init-nonzero-sm-pic.ll ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ExecutionEngine/OrcMCJIT/remote/test-global-init-nonzero-sm-pic.ll +@@ -1,6 +1,6 @@ + ; RUN: %lli -jit-kind=orc-mcjit -remote-mcjit -mcjit-remote-process=lli-child-target%exeext \ + ; RUN: -relocation-model=pic -code-model=small %s > /dev/null +-; XFAIL: mips-, mipsel-, aarch64, arm, i686, i386, windows-gnu, windows-msvc ++; XFAIL: * + ; UNSUPPORTED: powerpc64-unknown-linux-gnu + ; Remove UNSUPPORTED for powerpc64-unknown-linux-gnu if problem caused by r266663 is fixed + +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ExecutionEngine/OrcMCJIT/remote/test-ptr-reloc-sm-pic.ll +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/test/ExecutionEngine/OrcMCJIT/remote/test-ptr-reloc-sm-pic.ll ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ExecutionEngine/OrcMCJIT/remote/test-ptr-reloc-sm-pic.ll +@@ -1,6 +1,6 @@ + ; RUN: %lli -jit-kind=orc-mcjit -remote-mcjit -mcjit-remote-process=lli-child-target%exeext \ + ; RUN: -O0 -relocation-model=pic -code-model=small %s +-; XFAIL: mips-, mipsel-, aarch64, arm, i686, i386, windows-gnu, windows-msvc ++; XFAIL: * + ; UNSUPPORTED: powerpc64-unknown-linux-gnu + ; Remove UNSUPPORTED for powerpc64-unknown-linux-gnu if problem caused by r266663 is fixed + +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ExecutionEngine/OrcMCJIT/stubs-sm-pic.ll +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/test/ExecutionEngine/OrcMCJIT/stubs-sm-pic.ll ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ExecutionEngine/OrcMCJIT/stubs-sm-pic.ll +@@ -1,5 +1,5 @@ + ; RUN: %lli -jit-kind=orc-mcjit -disable-lazy-compilation=false -relocation-model=pic -code-model=small %s +-; XFAIL: mips-, mipsel-, i686, i386, aarch64, arm ++; XFAIL: mips-, mipsel-, i686, i386, aarch64, arm, x86_64 + + define i32 @main() nounwind { + entry: +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ExecutionEngine/OrcMCJIT/test-global-init-nonzero-sm-pic.ll +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/test/ExecutionEngine/OrcMCJIT/test-global-init-nonzero-sm-pic.ll ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ExecutionEngine/OrcMCJIT/test-global-init-nonzero-sm-pic.ll +@@ -1,5 +1,5 @@ + ; RUN: %lli -jit-kind=orc-mcjit -relocation-model=pic -code-model=small %s > /dev/null +-; XFAIL: mips-, mipsel-, aarch64, arm, i686, i386 ++; XFAIL: mips-, mipsel-, aarch64, arm, i686, i386, x86_64 + + @count = global i32 1, align 4 + +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ExecutionEngine/OrcMCJIT/test-ptr-reloc-sm-pic.ll +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/test/ExecutionEngine/OrcMCJIT/test-ptr-reloc-sm-pic.ll ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ExecutionEngine/OrcMCJIT/test-ptr-reloc-sm-pic.ll +@@ -1,5 +1,5 @@ + ; RUN: %lli -jit-kind=orc-mcjit -O0 -relocation-model=pic -code-model=small %s +-; XFAIL: mips-, mipsel-, aarch64, arm, i686, i386 ++; XFAIL: mips-, mipsel-, aarch64, arm, i686, i386, x86_64 + + @.str = private unnamed_addr constant [6 x i8] c"data1\00", align 1 + @ptr = global i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i32 0, i32 0), align 4 +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/Feature/load_module.ll +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/test/Feature/load_module.ll ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/Feature/load_module.ll +@@ -3,7 +3,6 @@ + ; RUN: -disable-output 2>&1 | grep Hello + ; REQUIRES: plugins + ; FIXME: On Cygming, it might fail without building LLVMHello manually. +-; XFAIL: * + + @junk = global i32 0 + diff --git a/patches/silent-amd-tet.diff b/patches/silent-amd-tet.diff new file mode 100644 index 000000000..9aa6858d1 --- /dev/null +++ b/patches/silent-amd-tet.diff @@ -0,0 +1,11 @@ +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/MC/AMDGPU/hsa.s +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/test/MC/AMDGPU/hsa.s ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/MC/AMDGPU/hsa.s +@@ -1,5 +1,6 @@ + // RUN: llvm-mc -triple amdgcn--amdhsa -mcpu=kaveri -mattr=-code-object-v3 -show-encoding %s | FileCheck %s --check-prefix=ASM + // RUN: llvm-mc -filetype=obj -triple amdgcn--amdhsa -mcpu=kaveri -mattr=-code-object-v3 -show-encoding %s | llvm-readobj --symbols -S --sd | FileCheck %s --check-prefix=ELF ++// XFAIL: * + + // ELF: Section { + // ELF: Name: .text diff --git a/patches/silent-gold-test.diff b/patches/silent-gold-test.diff new file mode 100644 index 000000000..ea88a2112 --- /dev/null +++ b/patches/silent-gold-test.diff @@ -0,0 +1,38 @@ +Description: fails on debian unstable amd64 + Command Output (stderr): + -- + /build/llvm-toolchain-snapshot-4.0~svn279916/llvm/test/tools/gold/X86/start-lib-common.ll:22:10: error: expected string not found in input + ; CHECK: @x = common global i32 0, align 8 + ^ + :1:1: note: scanning from here + ; ModuleID = '/build/llvm-toolchain-snapshot-4.0~svn279916/build-llvm/llvm/test/tools/gold/X86/Output/start-lib-common.ll.tmp3.o' + ^ + :4:1: note: possible intended match here + @x = common global i32 0, align 4 + ^ + + +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/tools/gold/X86/start-lib-common.ll +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/test/tools/gold/X86/start-lib-common.ll ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/tools/gold/X86/start-lib-common.ll +@@ -9,6 +9,7 @@ + ; RUN: -shared %t1.o --start-lib %t2.o --end-lib -o %t3.o + ; RUN: llvm-dis %t3.o -o - | FileCheck %s + ++; XFAIL: * + target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" + @x = common global i32 0, align 4 + +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/tools/gold/X86/comdat.ll +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/test/tools/gold/X86/comdat.ll ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/tools/gold/X86/comdat.ll +@@ -5,6 +5,7 @@ + ; RUN: -plugin-opt=save-temps + ; RUN: FileCheck --check-prefix=RES %s < %t3.o.resolution.txt + ; RUN: llvm-readobj --symbols %t3.o | FileCheck --check-prefix=OBJ %s ++; XFAIL: * + + target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" + target triple = "x86_64-unknown-linux-gnu" diff --git a/patches/silent-gold-utils.diff b/patches/silent-gold-utils.diff new file mode 100644 index 000000000..416f5d55b --- /dev/null +++ b/patches/silent-gold-utils.diff @@ -0,0 +1,190 @@ +--- + test/tools/gold/X86/common_thinlto.ll | 1 + + test/tools/gold/X86/emit-llvm.ll | 2 ++ + test/tools/gold/X86/parallel.ll | 1 + + test/tools/gold/X86/pr19901_thinlto.ll | 1 + + test/tools/gold/X86/slp-vectorize.ll | 1 + + test/tools/gold/X86/strip_names.ll | 1 + + test/tools/gold/X86/thinlto.ll | 2 ++ + test/tools/gold/X86/thinlto_archive.ll | 1 + + test/tools/gold/X86/thinlto_internalize.ll | 2 ++ + test/tools/gold/X86/thinlto_linkonceresolution.ll | 2 ++ + test/tools/gold/X86/thinlto_weak_resolution.ll | 3 ++- + test/tools/gold/X86/type-merge2.ll | 2 +- + test/tools/gold/X86/vectorize.ll | 1 + + test/tools/gold/X86/visibility.ll | 1 + + 14 files changed, 19 insertions(+), 2 deletions(-) + +Index: llvm-toolchain-snapshot_10~++20200102102250+982695c0693/llvm/test/tools/gold/X86/common_thinlto.ll +=================================================================== +--- llvm-toolchain-snapshot_10~++20200102102250+982695c0693.orig/llvm/test/tools/gold/X86/common_thinlto.ll ++++ llvm-toolchain-snapshot_10~++20200102102250+982695c0693/llvm/test/tools/gold/X86/common_thinlto.ll +@@ -17,6 +17,7 @@ + + ; RUN: llvm-nm %t3 | FileCheck %s --check-prefix=NM + ; NM: bar ++; XFAIL: * + + source_filename = "common1.c" + target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" +Index: llvm-toolchain-snapshot_10~++20200102102250+982695c0693/llvm/test/tools/gold/X86/emit-llvm.ll +=================================================================== +--- llvm-toolchain-snapshot_10~++20200102102250+982695c0693.orig/llvm/test/tools/gold/X86/emit-llvm.ll ++++ llvm-toolchain-snapshot_10~++20200102102250+982695c0693/llvm/test/tools/gold/X86/emit-llvm.ll +@@ -21,6 +21,8 @@ + ; RUN: not test -a %t4.o + + ; NM: T f3 ++; XFAIL: * ++ + + target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" + target triple = "x86_64-unknown-linux-gnu" +Index: llvm-toolchain-snapshot_10~++20200102102250+982695c0693/llvm/test/tools/gold/X86/parallel.ll +=================================================================== +--- llvm-toolchain-snapshot_10~++20200102102250+982695c0693.orig/llvm/test/tools/gold/X86/parallel.ll ++++ llvm-toolchain-snapshot_10~++20200102102250+982695c0693/llvm/test/tools/gold/X86/parallel.ll +@@ -5,6 +5,7 @@ + ; RUN: llvm-dis %t.1.5.precodegen.bc -o - | FileCheck --check-prefix=CHECK-BC1 %s + ; RUN: llvm-nm %t.o | FileCheck --check-prefix=CHECK0 %s + ; RUN: llvm-nm %t.o1 | FileCheck --check-prefix=CHECK1 %s ++; XFAIL: * + + target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" + target triple = "x86_64-unknown-linux-gnu" +Index: llvm-toolchain-snapshot_10~++20200102102250+982695c0693/llvm/test/tools/gold/X86/pr19901_thinlto.ll +=================================================================== +--- llvm-toolchain-snapshot_10~++20200102102250+982695c0693.orig/llvm/test/tools/gold/X86/pr19901_thinlto.ll ++++ llvm-toolchain-snapshot_10~++20200102102250+982695c0693/llvm/test/tools/gold/X86/pr19901_thinlto.ll +@@ -4,6 +4,7 @@ + ; RUN: --plugin-opt=thinlto \ + ; RUN: -shared -m elf_x86_64 -o %t.so %t2.o %t.o + ; RUN: llvm-readobj --symbols %t.so | FileCheck %s ++; XFAIL: i686, i386 + + ; CHECK: Symbol { + ; CHECK: Name: f +Index: llvm-toolchain-snapshot_10~++20200102102250+982695c0693/llvm/test/tools/gold/X86/slp-vectorize.ll +=================================================================== +--- llvm-toolchain-snapshot_10~++20200102102250+982695c0693.orig/llvm/test/tools/gold/X86/slp-vectorize.ll ++++ llvm-toolchain-snapshot_10~++20200102102250+982695c0693/llvm/test/tools/gold/X86/slp-vectorize.ll +@@ -7,6 +7,7 @@ + + ; test that the vectorizer is run. + ; CHECK: fadd <4 x float> ++; XFAIL: * + + target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" + target triple = "x86_64-unknown-linux-gnu" +Index: llvm-toolchain-snapshot_10~++20200102102250+982695c0693/llvm/test/tools/gold/X86/strip_names.ll +=================================================================== +--- llvm-toolchain-snapshot_10~++20200102102250+982695c0693.orig/llvm/test/tools/gold/X86/strip_names.ll ++++ llvm-toolchain-snapshot_10~++20200102102250+982695c0693/llvm/test/tools/gold/X86/strip_names.ll +@@ -25,6 +25,7 @@ + ; NONAME: %2 = load i32, i32* @GlobalValueName + ; NONAME: %3 = add i32 %0, %2 + ; NONAME: ret i32 %3 ++; XFAIL: * + + target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" + target triple = "x86_64-unknown-linux-gnu" +Index: llvm-toolchain-snapshot_10~++20200102102250+982695c0693/llvm/test/tools/gold/X86/thinlto.ll +=================================================================== +--- llvm-toolchain-snapshot_10~++20200102102250+982695c0693.orig/llvm/test/tools/gold/X86/thinlto.ll ++++ llvm-toolchain-snapshot_10~++20200102102250+982695c0693/llvm/test/tools/gold/X86/thinlto.ll +@@ -141,6 +141,8 @@ + target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" + target triple = "x86_64-unknown-linux-gnu" + ++; XFAIL: i686, i386 ++ + declare void @g(...) + + define void @f() { +Index: llvm-toolchain-snapshot_10~++20200102102250+982695c0693/llvm/test/tools/gold/X86/thinlto_archive.ll +=================================================================== +--- llvm-toolchain-snapshot_10~++20200102102250+982695c0693.orig/llvm/test/tools/gold/X86/thinlto_archive.ll ++++ llvm-toolchain-snapshot_10~++20200102102250+982695c0693/llvm/test/tools/gold/X86/thinlto_archive.ll +@@ -15,6 +15,7 @@ + ; RUN: --plugin-opt=jobs=1 \ + ; RUN: -shared %t.o %t.a -o %t4 2>&1 | FileCheck %s + ; RUN: llvm-nm %t4 | FileCheck %s --check-prefix=NM ++; XFAIL: i686, i386 + + target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" + target triple = "x86_64-unknown-linux-gnu" +Index: llvm-toolchain-snapshot_10~++20200102102250+982695c0693/llvm/test/tools/gold/X86/thinlto_internalize.ll +=================================================================== +--- llvm-toolchain-snapshot_10~++20200102102250+982695c0693.orig/llvm/test/tools/gold/X86/thinlto_internalize.ll ++++ llvm-toolchain-snapshot_10~++20200102102250+982695c0693/llvm/test/tools/gold/X86/thinlto_internalize.ll +@@ -14,6 +14,8 @@ + ; h() should be internalized after promotion, and eliminated after inlining + ; CHECK-NOT: @h.llvm. + ++; XFAIL: i686, i386 ++ + target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" + target triple = "x86_64-unknown-linux-gnu" + define i32 @g() { +Index: llvm-toolchain-snapshot_10~++20200102102250+982695c0693/llvm/test/tools/gold/X86/thinlto_linkonceresolution.ll +=================================================================== +--- llvm-toolchain-snapshot_10~++20200102102250+982695c0693.orig/llvm/test/tools/gold/X86/thinlto_linkonceresolution.ll ++++ llvm-toolchain-snapshot_10~++20200102102250+982695c0693/llvm/test/tools/gold/X86/thinlto_linkonceresolution.ll +@@ -23,6 +23,8 @@ + ; OPT-NOT: @f() + ; OPT2: define weak_odr hidden void @f() + ++; XFAIL: i686, i386 ++ + target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" + target triple = "x86_64-unknown-linux-gnu" + define i32 @g() { +Index: llvm-toolchain-snapshot_10~++20200102102250+982695c0693/llvm/test/tools/gold/X86/thinlto_weak_resolution.ll +=================================================================== +--- llvm-toolchain-snapshot_10~++20200102102250+982695c0693.orig/llvm/test/tools/gold/X86/thinlto_weak_resolution.ll ++++ llvm-toolchain-snapshot_10~++20200102102250+982695c0693/llvm/test/tools/gold/X86/thinlto_weak_resolution.ll +@@ -9,6 +9,7 @@ + ; RUN: --plugin-opt=save-temps \ + ; RUN: -shared \ + ; RUN: -o %t3.o %t.o %t2.o ++; XFAIL: i686, i386 + + ; RUN: llvm-nm %t3.o | FileCheck %s + ; CHECK: weakfunc +Index: llvm-toolchain-snapshot_10~++20200102102250+982695c0693/llvm/test/tools/gold/X86/type-merge2.ll +=================================================================== +--- llvm-toolchain-snapshot_10~++20200102102250+982695c0693.orig/llvm/test/tools/gold/X86/type-merge2.ll ++++ llvm-toolchain-snapshot_10~++20200102102250+982695c0693/llvm/test/tools/gold/X86/type-merge2.ll +@@ -6,6 +6,8 @@ + ; RUN: -shared %t.o %t2.o -o %t3.o + ; RUN: llvm-dis %t3.o.0.2.internalize.bc -o - | FileCheck %s + ++; XFAIL: * ++ + target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" + target triple = "x86_64-unknown-linux-gnu" + +Index: llvm-toolchain-snapshot_10~++20200102102250+982695c0693/llvm/test/tools/gold/X86/vectorize.ll +=================================================================== +--- llvm-toolchain-snapshot_10~++20200102102250+982695c0693.orig/llvm/test/tools/gold/X86/vectorize.ll ++++ llvm-toolchain-snapshot_10~++20200102102250+982695c0693/llvm/test/tools/gold/X86/vectorize.ll +@@ -7,6 +7,7 @@ + + ; test that the vectorizer is run. + ; CHECK: fadd <4 x float> ++; XFAIL: * + + target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" + target triple = "x86_64-unknown-linux-gnu" +Index: llvm-toolchain-snapshot_10~++20200102102250+982695c0693/llvm/test/tools/gold/X86/visibility.ll +=================================================================== +--- llvm-toolchain-snapshot_10~++20200102102250+982695c0693.orig/llvm/test/tools/gold/X86/visibility.ll ++++ llvm-toolchain-snapshot_10~++20200102102250+982695c0693/llvm/test/tools/gold/X86/visibility.ll +@@ -16,6 +16,7 @@ + ; CHECK-NEXT: Other [ + ; CHECK-NEXT: STV_PROTECTED + ; CHECK-NEXT: ] ++; XFAIL: * + + ; IR: define dso_local void @foo + diff --git a/patches/silent-llvm-isel-fuzzer.diff b/patches/silent-llvm-isel-fuzzer.diff new file mode 100644 index 000000000..2f1a12b83 --- /dev/null +++ b/patches/silent-llvm-isel-fuzzer.diff @@ -0,0 +1,24 @@ +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/tools/llvm-isel-fuzzer/aarch64-execname-options.ll +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/test/tools/llvm-isel-fuzzer/aarch64-execname-options.ll ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/tools/llvm-isel-fuzzer/aarch64-execname-options.ll +@@ -2,6 +2,7 @@ + ; without copying the whole lib dir or polluting the build dir. + ; REQUIRES: static-libs + ; REQUIRES: aarch64-registered-target ++: XFAIL: * + + ; The above also applies if the binary is built with libc++. + ; UNSUPPORTED: libcxx-used +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/tools/llvm-isel-fuzzer/execname-options.ll +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/test/tools/llvm-isel-fuzzer/execname-options.ll ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/tools/llvm-isel-fuzzer/execname-options.ll +@@ -1,6 +1,7 @@ + ; If the binary looks up libraries using an rpath, we can't test this + ; without copying the whole lib dir or polluting the build dir. + ; REQUIRES: static-libs ++: XFAIL: * + + ; The above also applies if the binary is built with libc++. + ; UNSUPPORTED: libcxx-used diff --git a/patches/silent-more-tests.diff b/patches/silent-more-tests.diff new file mode 100644 index 000000000..2af54f2eb --- /dev/null +++ b/patches/silent-more-tests.diff @@ -0,0 +1,35 @@ +# Comment the tests for the code coverage (fails otherwise) + + +--- + test/BugPoint/crash-narrowfunctiontest.ll | 1 + + test/BugPoint/metadata.ll | 3 ++- + test/BugPoint/remove_arguments_test.ll | 1 + + test/Feature/load_module.ll | 1 + + 4 files changed, 5 insertions(+), 1 deletion(-) + +Index: llvm-toolchain-snapshot_10~+2019103014341007006cb181f086a/llvm/test/BugPoint/metadata.ll +=================================================================== +--- llvm-toolchain-snapshot_10~+2019103014341007006cb181f086a.orig/llvm/test/BugPoint/metadata.ll ++++ llvm-toolchain-snapshot_10~+2019103014341007006cb181f086a/llvm/test/BugPoint/metadata.ll +@@ -18,6 +18,8 @@ + ; NOTYPE: !DICompileUnit + ; NOTYPE-NOT: !DIBasicType + ++; XFAIL: * ++ + %rust_task = type {} + define void @test(i32* %a, i8* %b) !dbg !9 { + %s = mul i8 22, 9, !attach !0, !dbg !10 +Index: llvm-toolchain-snapshot_10~+2019103014341007006cb181f086a/llvm/test/Feature/load_module.ll +=================================================================== +--- llvm-toolchain-snapshot_10~+2019103014341007006cb181f086a.orig/llvm/test/Feature/load_module.ll ++++ llvm-toolchain-snapshot_10~+2019103014341007006cb181f086a/llvm/test/Feature/load_module.ll +@@ -3,6 +3,7 @@ + ; RUN: -disable-output 2>&1 | grep Hello + ; REQUIRES: plugins + ; FIXME: On Cygming, it might fail without building LLVMHello manually. ++; XFAIL: * + + @junk = global i32 0 + diff --git a/patches/silent-test-failing-codeverage.diff b/patches/silent-test-failing-codeverage.diff new file mode 100644 index 000000000..12d922e35 --- /dev/null +++ b/patches/silent-test-failing-codeverage.diff @@ -0,0 +1,13 @@ +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ThinLTO/X86/autoupgrade.ll +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/test/ThinLTO/X86/autoupgrade.ll ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/ThinLTO/X86/autoupgrade.ll +@@ -3,6 +3,8 @@ + ; RUN: opt -module-summary %s -o %t.bc + ; RUN: llvm-lto -thinlto-action=thinlink -o %t3.bc %t.bc %p/Inputs/autoupgrade.bc + ++; XFAIL: * ++ + ; We can't use llvm-dis here, because it would do the autoupgrade itself. + + ; RUN: llvm-link -summary-index=%t3.bc \ diff --git a/patches/silent-test-macho.diff b/patches/silent-test-macho.diff new file mode 100644 index 000000000..7caae2110 --- /dev/null +++ b/patches/silent-test-macho.diff @@ -0,0 +1,14 @@ +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/Object/macho-invalid.test +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/test/Object/macho-invalid.test ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/test/Object/macho-invalid.test +@@ -284,9 +284,6 @@ INVALID-DYLIB-WRONG-FILETYPE: macho-inva + RUN: not llvm-objdump --macho --private-headers %p/Inputs/macho-invalid-dylib-no-id 2>&1 | FileCheck -check-prefix INVALID-DYLIB-NO-ID %s + INVALID-DYLIB-NO-ID: macho-invalid-dylib-no-id': truncated or malformed object (no LC_ID_DYLIB load command in dynamic library filetype) + +-RUN: not llvm-objdump --macho --private-headers %p/Inputs/macho-invalid-dylib-cmdsize-past-eof 2>&1 | FileCheck -check-prefix INVALID-DYLIB-CMDSIZE %s +-INVALID-DYLIB-CMDSIZE: macho-invalid-dylib-cmdsize-past-eof': truncated or malformed object (load command 0 extends past end of file) +- + RUN: not llvm-objdump --macho --private-headers %p/Inputs/macho-invalid-uuid-more-than-one 2>&1 | FileCheck -check-prefix INVALID-UUID-MORE-THAN-ONE %s + INVALID-UUID-MORE-THAN-ONE: macho-invalid-uuid-more-than-one': truncated or malformed object (more than one LC_UUID command) + diff --git a/patches/symbolizer-path.diff b/patches/symbolizer-path.diff new file mode 100644 index 000000000..317b5e53f --- /dev/null +++ b/patches/symbolizer-path.diff @@ -0,0 +1,24 @@ +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp +@@ -25,6 +25,10 @@ + #include "sanitizer_symbolizer_internal.h" + #include "sanitizer_symbolizer_libbacktrace.h" + #include "sanitizer_symbolizer_mac.h" ++#include "llvm/Config/llvm-config.h" // for LLVM_VERSION_MAJOR ++ ++#define TOSTR2(X) #X ++#define TOSTR(X) TOSTR2(X) + + #include // for dlsym() + #include +@@ -428,7 +432,7 @@ static SymbolizerTool *ChooseExternalSym + return new(*allocator) AtosSymbolizer(found_path, allocator); + } + #endif // SANITIZER_MAC +- if (const char *found_path = FindPathToBinary("llvm-symbolizer")) { ++ if (const char *found_path = "/usr/bin/llvm-symbolizer-" TOSTR(LLVM_VERSION_MAJOR)) { + VReport(2, "Using llvm-symbolizer found at: %s\n", found_path); + return new(*allocator) LLVMSymbolizer(found_path, allocator); + } diff --git a/patches/test-keep-alive.diff b/patches/test-keep-alive.diff new file mode 100644 index 000000000..3d7d3a3d6 --- /dev/null +++ b/patches/test-keep-alive.diff @@ -0,0 +1,21 @@ +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/utils/lit/lit/ProgressBar.py +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/utils/lit/lit/ProgressBar.py ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/utils/lit/lit/ProgressBar.py +@@ -189,15 +189,7 @@ class SimpleProgressBar: + return + + for i in range(self.atIndex, next): +- idx = i % 5 +- if idx == 0: +- sys.stdout.write('%2d' % (i*2)) +- elif idx == 1: +- pass # Skip second char +- elif idx < 4: +- sys.stdout.write('.') +- else: +- sys.stdout.write(' ') ++ sys.stdout.write('%-2d ' % (i*2)) + sys.stdout.flush() + self.atIndex = next + diff --git a/patches/ubuntu-groovy.diff b/patches/ubuntu-groovy.diff new file mode 100644 index 000000000..800a70a87 --- /dev/null +++ b/patches/ubuntu-groovy.diff @@ -0,0 +1,29 @@ +--- a/clang/include/clang/Driver/Distro.h ++++ b/clang/include/clang/Driver/Distro.h +@@ -67,6 +67,7 @@ public: + UbuntuDisco, + UbuntuEoan, + UbuntuFocal, ++ UbuntuGroovy, + UnknownDistro + }; + +@@ -120,7 +121,7 @@ public: + } + + bool IsUbuntu() const { +- return DistroVal >= UbuntuHardy && DistroVal <= UbuntuFocal; ++ return DistroVal >= UbuntuHardy && DistroVal <= UbuntuGroovy; + } + + bool IsAlpineLinux() const { +--- a/clang/lib/Driver/Distro.cpp ++++ b/clang/lib/Driver/Distro.cpp +@@ -70,6 +70,7 @@ static Distro::DistroType DetectDistro(l + .Case("disco", Distro::UbuntuDisco) + .Case("eoan", Distro::UbuntuEoan) + .Case("focal", Distro::UbuntuFocal) ++ .Case("groovy", Distro::UbuntuGroovy) + .Default(Distro::UnknownDistro); + if (Version != Distro::UnknownDistro) + return Version; diff --git a/patches/unwind-chain-inclusion.diff b/patches/unwind-chain-inclusion.diff new file mode 100644 index 000000000..51c01ec98 --- /dev/null +++ b/patches/unwind-chain-inclusion.diff @@ -0,0 +1,43 @@ +# Without this patch, the first local include of unwind.h might, with the +# __has_include_next, try to include the one from the system. +# It might be /usr/include/clang/3.4/include/unwind.h +# Because of the #ifndef __CLANG_UNWIND_H, it might never include any declaration +# from the system. + +--- + clang/lib/Headers/unwind.h | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Headers/unwind.h +=================================================================== +--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/lib/Headers/unwind.h ++++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Headers/unwind.h +@@ -9,9 +9,6 @@ + + /* See "Data Definitions for libgcc_s" in the Linux Standard Base.*/ + +-#ifndef __CLANG_UNWIND_H +-#define __CLANG_UNWIND_H +- + #if defined(__APPLE__) && __has_include_next() + /* Darwin (from 11.x on) provide an unwind.h. If that's available, + * use it. libunwind wraps some of its definitions in #ifdef _GNU_SOURCE, +@@ -39,6 +36,9 @@ + # endif + #else + ++#ifndef __CLANG_UNWIND_H ++#define __CLANG_UNWIND_H ++ + #include + + #ifdef __cplusplus +@@ -322,6 +322,7 @@ _Unwind_Ptr _Unwind_GetTextRelBase(struc + } + #endif + ++#endif /* __CLANG_UNWIND_H */ ++ + #endif + +-#endif /* __CLANG_UNWIND_H */ diff --git a/patches/workaround-bug-42994-use-linker.diff b/patches/workaround-bug-42994-use-linker.diff new file mode 100644 index 000000000..b3da2417a --- /dev/null +++ b/patches/workaround-bug-42994-use-linker.diff @@ -0,0 +1,34 @@ +Index: llvm-toolchain-snapshot_10~+20191225062409+aff6c9db9a9/compiler-rt/lib/hwasan/CMakeLists.txt +=================================================================== +--- llvm-toolchain-snapshot_10~+20191225062409+aff6c9db9a9.orig/compiler-rt/lib/hwasan/CMakeLists.txt ++++ llvm-toolchain-snapshot_10~+20191225062409+aff6c9db9a9/compiler-rt/lib/hwasan/CMakeLists.txt +@@ -43,9 +43,9 @@ append_list_if(COMPILER_RT_HWASAN_WITH_I + + set(HWASAN_RTL_CFLAGS ${SANITIZER_COMMON_CFLAGS}) + append_rtti_flag(OFF HWASAN_RTL_CFLAGS) +-append_list_if(COMPILER_RT_HAS_FPIC_FLAG -fPIC HWASAN_RTL_CFLAGS) ++append_list_if(COMPILER_RT_HAS_FPIC_FLAG -fPIC -fuse-ld=gold HWASAN_RTL_CFLAGS) + # Prevent clang from generating libc calls. +-append_list_if(COMPILER_RT_HAS_FFREESTANDING_FLAG -ffreestanding HWASAN_RTL_CFLAGS) ++append_list_if(COMPILER_RT_HAS_FFREESTANDING_FLAG -ffreestanding -fuse-ld=gold HWASAN_RTL_CFLAGS) + + set(HWASAN_DYNAMIC_LINK_FLAGS ${SANITIZER_COMMON_LINK_FLAGS}) + +@@ -57,7 +57,7 @@ if(ANDROID) + endif() + endif() + +-set(HWASAN_DYNAMIC_CFLAGS ${HWASAN_RTL_CFLAGS}) ++set(HWASAN_DYNAMIC_CFLAGS ${HWASAN_RTL_CFLAGS} -fuse-ld=gold) + append_list_if(COMPILER_RT_HAS_FTLS_MODEL_INITIAL_EXEC + -ftls-model=initial-exec HWASAN_DYNAMIC_CFLAGS) + append_list_if(MSVC /DEBUG HWASAN_DYNAMIC_LINK_FLAGS) +@@ -132,7 +132,7 @@ foreach(arch ${HWASAN_SUPPORTED_ARCH}) + LIBS clang_rt.hwasan-${arch} clang_rt.hwasan_cxx-${arch} + EXTRA hwasan.syms.extra) + set(VERSION_SCRIPT_FLAG +- -Wl,--version-script,${CMAKE_CURRENT_BINARY_DIR}/clang_rt.hwasan-dynamic-${arch}.vers) ++ -Wl,--version-script,${CMAKE_CURRENT_BINARY_DIR}/clang_rt.hwasan-dynamic-${arch}.vers -fuse-ld=gold) + set_property(SOURCE + ${CMAKE_CURRENT_BINARY_DIR}/dummy.cpp + APPEND PROPERTY diff --git a/pollycc.in b/pollycc.in new file mode 100755 index 000000000..f06381807 --- /dev/null +++ b/pollycc.in @@ -0,0 +1,3 @@ +#!/bin/sh + +clang -Xclang -load -Xclang /usr/lib/llvm-@LLVM_VERSION@/lib/LLVMPolly.so $@ diff --git a/prepare-new-release.sh b/prepare-new-release.sh new file mode 100644 index 000000000..811ca4f1f --- /dev/null +++ b/prepare-new-release.sh @@ -0,0 +1,19 @@ +#!/bin/sh +ORIG_VERSION=9 +TARGET_VERSION=10 +ORIG_VERSION_2=9_0 +TARGET_VERSION_2=10_0 +ORIG_VERSION_3=90 +TARGET_VERSION_3=100 + +LIST=`ls debian/control debian/orig-tar.sh debian/rules debian/patches/clang-analyzer-force-version.diff debian/patches/clang-format-version.diff debian/patches/python-clangpath.diff debian/patches/scan-build-clang-path.diff debian/patches/lldb-libname.diff debian/patches/fix-scan-view-path.diff debian/patches/lldb/lldb-addversion-suffix-to-llvm-server-exec.patch debian/patches/clang-tidy-run-bin.diff debian/patches/fix-scan-view-path.diff debian/README debian/patches/clang-analyzer-force-version.diff debian/patches/clang-tidy-run-bin.diff debian/tests/control debian/unpack.sh` +for F in $LIST; do + sed -i -e "s|$ORIG_VERSION_3|$TARGET_VERSION_3|g" $F + sed -i -e "s|$ORIG_VERSION_2|$TARGET_VERSION_2|g" $F + sed -i -e "s|$ORIG_VERSION|$TARGET_VERSION|g" $F +done + +echo "once you copy the old version into a new branch" +echo "edit debian/control, update the VCS links" +echo "edit debian/control, update the source pkg name" +echo "edit debian/changelog, update the source pkg name" diff --git a/python3-clang-X.Y.install.in b/python3-clang-X.Y.install.in new file mode 100644 index 000000000..796be86b9 --- /dev/null +++ b/python3-clang-X.Y.install.in @@ -0,0 +1 @@ +clang/bindings/python/clang/ /usr/lib/python3/dist-packages/ diff --git a/python3-lldb-X.Y.install.in b/python3-lldb-X.Y.install.in new file mode 100644 index 000000000..ef37de7e3 --- /dev/null +++ b/python3-lldb-X.Y.install.in @@ -0,0 +1 @@ +usr/lib/llvm-@LLVM_VERSION@/lib/python3*/*-packages/lldb/ diff --git a/python3-lldb-X.Y.links.in b/python3-lldb-X.Y.links.in new file mode 100644 index 000000000..2639ac09f --- /dev/null +++ b/python3-lldb-X.Y.links.in @@ -0,0 +1,4 @@ +usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION_FULL@.so.1 usr/lib/llvm-@LLVM_VERSION@/lib/python3/dist-packages/lldb/libLLVM-@LLVM_VERSION_FULL@.so.1 +usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION_FULL@.so.1 usr/lib/llvm-@LLVM_VERSION@/lib/python3/dist-packages/lldb/libLLVM-@LLVM_VERSION@.so.1 +usr/lib/@DEB_HOST_MULTIARCH@/liblldb-@LLVM_VERSION@.so.1 usr/lib/llvm-@LLVM_VERSION@/lib/python3/dist-packages/lldb/_lldb.so +usr/lib/llvm-@LLVM_VERSION@/lib/python3/dist-packages/lldb/ usr/lib/python3/dist-packages/lldb diff --git a/qualify-clang.sh b/qualify-clang.sh new file mode 100755 index 000000000..85d4753fd --- /dev/null +++ b/qualify-clang.sh @@ -0,0 +1,1343 @@ +#!/bin/bash +# Stop at the first error +set -e +if ! test -d debian/; then + echo "$0: Could not find the debian/ directory" + exit 1 +fi +VERSION=$(dpkg-parsechangelog | sed -rne "s,^Version: 1:([0-9]+).*,\1,p") +DETAILED_VERSION=$(dpkg-parsechangelog | sed -rne "s,^Version: 1:([0-9.]+)(~|-)(.*),\1\2\3,p") +DEB_HOST_ARCH=$(dpkg-architecture -qDEB_HOST_ARCH) + +LIST="libomp5-${VERSION}_${DETAILED_VERSION}_amd64.deb libomp-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb lldb-${VERSION}_${DETAILED_VERSION}_amd64.deb python3-lldb-${VERSION}_${DETAILED_VERSION}_amd64.deb libllvm${VERSION}_${DETAILED_VERSION}_amd64.deb llvm-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb liblldb-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libclang1-${VERSION}_${DETAILED_VERSION}_amd64.deb libclang-common-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb llvm-${VERSION}_${DETAILED_VERSION}_amd64.deb liblldb-${VERSION}_${DETAILED_VERSION}_amd64.deb llvm-${VERSION}-runtime_${DETAILED_VERSION}_amd64.deb lld-${VERSION}_${DETAILED_VERSION}_amd64.deb libfuzzer-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libclang-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libc++-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libc++abi-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libc++1-${VERSION}_${DETAILED_VERSION}_amd64.deb libc++abi1-${VERSION}_${DETAILED_VERSION}_amd64.deb clang-${VERSION}_${DETAILED_VERSION}_amd64.deb llvm-${VERSION}-tools_${DETAILED_VERSION}_amd64.deb clang-tools-${VERSION}_${DETAILED_VERSION}_amd64.deb clangd-${VERSION}_${DETAILED_VERSION}_amd64.deb clang-${VERSION}-dbgsym_${DETAILED_VERSION}_amd64.deb libclang1-${VERSION}-dbgsym_${DETAILED_VERSION}_amd64.deb libclang-cpp${VERSION}_${DETAILED_VERSION}_amd64.deb clang-tidy-${VERSION}_${DETAILED_VERSION}_amd64.deb libclang-cpp${VERSION}-dev_${DETAILED_VERSION}_amd64.deb" +echo "To install everything:" +echo "sudo apt --purge remove 'libomp5-*' 'libc++*dev' 'libc++*' 'python3-lldb-*'" +echo "sudo dpkg -i $LIST" +L="" +for f in $LIST; do + L="$L $(echo $f|cut -d_ -f1)" +done +echo "or" +echo "apt-get install $L" + +if test ! -f /usr/bin/llvm-config-$VERSION; then + echo "Install llvm-$VERSION & llvm-$VERSION-dev" + exit 1 +fi +if test ! -f /usr/lib/llvm-$VERSION/lib/libLLVM-$VERSION.so; then + echo "Install llvm-$VERSION-dev" + exit 1 +fi + +echo "Testing llvm-$VERSION and llvm-$VERSION-dev ..." +llvm-config-$VERSION --link-shared --libs &> /dev/null + +if llvm-config-$VERSION --cxxflags | grep " \-W"; then + echo "llvm-config should not export -W warnings" + exit 1 +fi + +# Test https://bugs.llvm.org/show_bug.cgi?id=40059 +nm /usr/lib/llvm-$VERSION/lib/libLLVMBitWriter.a &> foo.log +if grep "File format not recognized" foo.log; then + echo "nm libLLVMBitWriter.a contains 'File format not recognized'" + exit 1 +fi + +if test ! -f /usr/bin/scan-build-$VERSION; then + echo "Install clang-tools-$VERSION" + exit 1 +fi +echo "Testing clang-tools-$VERSION ..." + +echo ' +void test() { + int x; + x = 1; // warn +} +'> foo.c + +# Ignore if gcc isn't available +scan-build-$VERSION -o scan-build gcc -c foo.c &> /dev/null || true +scan-build-$VERSION -o scan-build clang-$VERSION -c foo.c &> /dev/null +scan-build-$VERSION --exclude non-existing/ --exclude /tmp/ -v clang-$VERSION -c foo.c &> /dev/null +scan-build-$VERSION --exclude $(pwd) -v clang-$VERSION -c foo.c &> foo.log +if ! grep -q -E "scan-build: 0 bugs found." foo.log; then + echo "scan-build --exclude didn't ignore the defect" + exit 42 +fi +rm -rf scan-build + +echo 'namespace mozilla { +namespace dom { +void foo(); +} +} +' > foo.cpp +clang-tidy-$VERSION -checks='modernize-concat-nested-namespaces' foo.cpp -extra-arg=-std=c++17 &> foo.log +if ! grep -q "nested namespaces can " foo.log; then + echo "Clang-tidy didn't detect the issue" + cat foo.log + exit 1 +fi + + +rm -rf cmaketest && mkdir cmaketest +cat > cmaketest/CMakeLists.txt < /dev/null + +clang-tidy-$VERSION -checks='modernize-concat-nested-namespaces' ../foo.cpp -extra-arg=-std=c++17 -fix &> foo.log +if ! grep -q "namespace mozilla::dom" ../foo.cpp; then + echo "clang-tidy autofix didn't work" + cat foo.log + exit 1 +fi +cd - &> /dev/null +rm -rf cmaketest + +echo "Testing clangd-$VERSION ..." + +echo '{ + "jsonrpc": "2.0", + "id": 0, + "method": "initialize", + "params": { + "capabilities": { + "textDocument": { + "completion": { + "completionItem": { + "snippetSupport": true + } + } + } + }, + "trace": "off" + } +} +--- +{ + "jsonrpc": "2.0", + "method": "textDocument/didOpen", + "params": { + "textDocument": { + "uri": "test:///main.cpp", + "languageId": "cpp", + "version": 1, + "text": "int func_with_args(int a, int b);\nint main() {\nfunc_with\n}" + } + } +} +--- +{ + "jsonrpc": "2.0", + "id": 1, + "method": "textDocument/completion", + "params": { + "textDocument": { + "uri": "test:///main.cpp" + }, + "position": { + "line": 2, + "character": 7 + } + } +} +--- +{ + "jsonrpc": "2.0", + "id": 4, + "method": "shutdown" +} +--- +{ + "jsonrpc": "2.0", + "method": "exit" +} +' > a.json + +clangd-$VERSION -lit-test -pch-storage=memory < a.json &> foo.log +if ! grep -q '"insertText": "func_with_args(${1:int a}, ${2:int b})",' foo.log; then + echo "clangd didn't export what we were expecting" + cat foo.log + exit 1 +fi + +echo 'namespace mozilla { +namespace dom { +void foo(); + +int fonction_avec_args(int a, float b); +int main() { +fonction_avec_args +} + +} +} +' > foo.cpp +content=$(sed ':a;N;$!ba;s/\n/\\n/g' foo.cpp) +echo '{ + "jsonrpc": "2.0", + "id": 0, + "method": "initialize", + "params": { + "capabilities": { + "textDocument": { + "completion": { + "completionItem": { + "snippetSupport": true + } + } + } + }, + "trace": "off" + } +} +--- +{ + "jsonrpc": "2.0", + "method": "textDocument/didOpen", + "params": { + "textDocument": { + "uri": "file:///'$(pwd)'/cmaketest/foo.cpp", + "languageId": "cpp", + "version": 1, + "text": "'$content'" + } + } +} +--- +{ + "jsonrpc": "2.0", + "id": 1, + "method": "textDocument/completion", + "params": { + "textDocument": { + "uri": "file:///'$(pwd)'/cmaketest/foo.cpp" + }, + "position": { + "line": 6, + "character": 18 + } + } +} +--- +{ + "jsonrpc": "2.0", + "id": 4, + "method": "shutdown" +} +--- +{ + "jsonrpc": "2.0", + "method": "exit" +} +' > a.json + +rm -rf cmaketest && mkdir cmaketest +cat > cmaketest/CMakeLists.txt < /dev/null +# TODO this test is useless as it doesn't leverage foo.cpp or the compiledb +clangd-$VERSION -lit-test -pch-storage=memory < a.json &> foo.log +if ! grep -q '"insertText": "fonction_avec_args(${1:int a}, ${2:float b})",' foo.log; then + echo "clangd didn't export what we were expecting" + cat foo.log + exit 1 +fi +cd - &> /dev/null +rm -rf cmaketest + + +echo "Testing clang-$VERSION ..." + +rm -f foo.log +echo 'int main() {return 0;}' > foo.c +clang-$VERSION foo.c + +echo '#include +int main() { +printf("lli foo"); +return 0; +}' > foo.c +clang-$VERSION -S -emit-llvm foo.c +llc-$VERSION foo.ll +if ! lli-$VERSION foo.ll|grep -q "lli foo"; then + echo "Not lli correct output" + lli-$VERSION foo.ll + exit 1 +fi +opt-$VERSION -S -O3 foo.ll -o opt.ll +if ! lli-$VERSION opt.ll|grep -q "lli foo"; then + echo "Not lli correct output after opt" + lli-$VERSION opt.ll + exit 1 +fi + +clang-$VERSION -O3 -emit-llvm foo.c -c -o foo.bc +chmod +x foo.bc +# only run if the binfmt is installed correctly +/usr/sbin/update-binfmts --display llvm-$VERSION-runtime.binfmt &> foo.log || true +if grep -q "interpreter = /usr/bin/lli-" foo.log; then + /usr/sbin/update-binfmts --enable llvm-$VERSION-runtime.binfmt || true + if ! ./foo.bc|grep -q "lli foo"; then + echo "executing ./foo.bc failed" + ./foo.bc || true + #exit 1 + fi + + clang-$VERSION -O3 -emit-llvm foo.c -c -o foo.bc + chmod +x foo.bc + if ! ./foo.bc|grep -q "lli foo"; then + echo "executing ./foo.bc failed" + ./foo.bc || true + #exit 1 + fi +fi # binfmt test + +if ! llvm-dis-$VERSION < foo.bc|grep -q "lli foo"; then + echo "llvm assembly code failed" + llvm-dis-$VERSION < foo.bc + exit 1 +fi + +echo '#include ' > foo.c +clang-$VERSION -c foo.c + +# https://bugs.launchpad.net/bugs/1810860 +clang-$VERSION -dumpversion &> foo.log +if grep -q 4.2.1 foo.log; then + echo "dumpversion still returns 4.2.1" + echo "it should return the clang version" + cat foo.log + exit 1 +fi + +# bug 903709 +echo '#include +void increment(atomic_size_t *arg) { + atomic_fetch_add(arg, 1); +} ' > foo.c + +clang-$VERSION -v -c foo.c &> /dev/null + +echo "#include " > foo.cc +NBLINES=$(clang++-$VERSION -P -E foo.cc|wc -l) +if test $NBLINES -lt 100; then + echo "Error: more than 100 lines should be returned" + exit 42 +fi + +if [ $DEB_HOST_ARCH != "arm64" -a $DEB_HOST_ARCH != "ppc64el" ]; then + # Fails on arm64 with + # /usr/lib/llvm-10/lib/clang/10.0.0/include/mmintrin.h:33:5: error: use of undeclared identifier '__builtin_ia32_emms'; did you mean '__builtin_isless'? + echo '#include ' > foo.cc + clang++-$VERSION -c foo.cc +fi + +# Bug 913213 +echo '#include ' | clang-$VERSION -E - > /dev/null + +# Bug launchpad #1488254 +echo ' +#include +std::string hello = "Hello, world!\n"; +' > foo.cc + +echo ' +#include +#include +extern std::string hello; +int main() { + std::cout << hello; + return 0; +} ' > bar.cc + +g++ -c foo.cc && g++ foo.o bar.cc && ./a.out > /dev/null || true +clang++-$VERSION -c foo.cc && clang++-$VERSION foo.o bar.cc && ./a.out > /dev/null +g++ -c foo.cc && clang++-$VERSION foo.o bar.cc && ./a.out > /dev/null || true +clang++-$VERSION -c foo.cc -fPIC && g++ foo.o bar.cc && ./a.out > /dev/null || true + +## test z3 +echo ' +void clang_analyzer_eval(int); +void testBitwiseRules(unsigned int a, int b) { + clang_analyzer_eval((1 & a) <= 1); // expected-warning{{TRUE}} + // with -analyzer-constraints=z3, it can tell that it is FALSE + // without the option, it is unknown + clang_analyzer_eval((b | -2) >= 0); // expected-warning{{FALSE}} +} +' > foo.c +if dpkg -l|grep -q libz3-dev; then + # Should work + clang-$VERSION -cc1 -analyze -analyzer-constraints=range -analyzer-checker=core,debug.ExprInspection -verify -analyzer-config eagerly-assume=false -analyzer-constraints=z3 foo.c +else + echo "z3 support not available" +fi + +# Should fail +clang-$VERSION -cc1 -analyze -analyzer-constraints=range -analyzer-checker=core,debug.ExprInspection -verify -analyzer-config eagerly-assume=false foo.c &> foo.log || true +if grep -q "File a.c Line 7: UNKNOWN" foo.log; then + echo "Should fail without -analyzer-constraints=z3" + exit 1 +fi + +if dpkg -l|grep -q libz3-dev; then + clang-$VERSION -cc1 -analyze -analyzer-constraints=range -analyzer-checker=core,debug.ExprInspection -analyzer-constraints=z3 foo.c &> foo.log + if ! grep -q "2 warnings generated." foo.log; then + echo "Should find 2 warnings" + exit 1 + fi +else + echo "z3 support not available" +fi + +clang-$VERSION -cc1 -analyze -analyzer-constraints=range -analyzer-checker=core,debug.ExprInspection foo.c &> foo.log +if ! grep -q "3 warnings generated." foo.log; then + echo "Should find 3 warnings" + exit 1 +fi + +# bug 827866 +echo 'bool testAndSet(void *atomic) { + return __atomic_test_and_set(atomic, __ATOMIC_SEQ_CST); +}'> foo.cpp +clang++-$VERSION -c -target aarch64-linux-gnu foo.cpp +if ! file foo.o 2>&1 | grep -i -q "aarch64"; then + echo "Could not find the string 'aarch64' in the output of file. Output:" + file foo.o + exit 42 +fi + +clang-$VERSION --target=arm-linux-gnueabihf -dM -E -xc - < /dev/null &> foo.log +if ! grep -q "#define __ARM_ARCH 7" foo.log; then + # bug 930008 + echo "The target arch for arm should be v7" + cat foo.log + exit 42 +fi + +echo ' +#include +int +main () +{ + (void) strcat; + return 0; +}' > foo.c +clang-$VERSION -c foo.c + +echo '#include +int main() {} ' > foo.c +clang-$VERSION foo.c + +echo '#include +int main() { }' > foo.cpp +clang++-$VERSION -std=c++11 foo.cpp + +echo "Testing linking clang-cpp ..." + +clang-$VERSION -lclang-cpp$VERSION -v foo.cpp -o o &> /dev/null || true +if ! ldd o 2>&1|grep -q libclang-cpp; then + echo "Didn't link against libclang-cpp$VERSION" + exit 42 +fi +./o > /dev/null + +# Check that the symlink is correct +ls -al /usr/lib/llvm-$VERSION/lib/libclang-cpp.so.$VERSION > /dev/null + +echo "Testing code coverage ..." + +echo '#include +int main() { +if (1==1) { + printf("true"); +}else{ + printf("false"); + return 42; +} +return 0;}' > foo.c +clang-$VERSION --coverage foo.c -o foo +./foo > /dev/null +if test ! -f foo.gcno; then + echo "Coverage failed"; +fi + +echo "#include " > foo.cpp +clang++-$VERSION -c foo.cpp + +echo "Testing linking ..." +if test ! -f /usr/lib/llvm-$VERSION/bin/../lib/LLVMgold.so; then + echo "Install llvm-$VERSION-dev" + exit 1 +fi + +echo '#include +int main() { +if (1==1) { + printf("true"); +}else{ + printf("false"); + return 42; +} +return 0;}' > foo.c +rm foo bar.cc + +clang-$VERSION -flto foo.c -o foo +./foo > /dev/null + +clang-$VERSION -fuse-ld=gold foo.c -o foo +./foo > /dev/null + +# test thinlto +echo "int foo(void) { return 0; }"> foo.c +echo "int foo(void); int main() {foo(); return 0;}">main.c +clang-$VERSION -flto=thin -O2 foo.c main.c -o foo +./foo > /dev/null +clang-$VERSION -flto=thin -O2 foo.c main.c -c + +echo "Testing lld-$VERSION ..." + +if test ! -f /usr/bin/lld-$VERSION; then + echo "Install lld-$VERSION" + exit 1 +fi +clang-$VERSION -fuse-ld=lld -O2 foo.c main.c -o foo +./foo > /dev/null + +if ls -al1 /usr/bin/ld.lld|grep ld.lld-$VERSION; then +# https://bugs.llvm.org/show_bug.cgi?id=40659 +# -fuse-ld=lld will call lld +# Mismatch of version can fail the check +# so, only run it when /usr/bin/lld == $VERSION + clang-$VERSION -fuse-ld=lld -flto -O2 foo.c main.c -o foo + ./foo > /dev/null +fi + +clang-$VERSION -fuse-ld=lld-$VERSION -O2 foo.c main.c -o foo +./foo > /dev/null + +# Bug 916975 +file foo &> foo.log +if ! grep -q "BuildID" foo.log; then + echo "BuildID isn't part of the generated binary (lld generation)" + exit 1 +fi +# Bug 916975 +clang-$VERSION -O2 foo.c main.c -o foo2 +file foo2 &> foo2.log +if ! grep -q "BuildID" foo2.log; then + echo "BuildID isn't part of the generated binary (ld generation)" + exit 1 +fi + +strip foo2 +file foo2 &> foo2.log +if ! grep -q "BuildID" foo2.log; then + echo "BuildID isn't part of the generated binary (stripped)" + exit 1 +fi +rm foo2 foo2.log + +if test ! -f /usr/lib/llvm-$VERSION/bin/llvm-symbolizer; then + echo "Install llvm-$VERSION" + exit 1 +fi + +echo "vzeroupper" | llvm-exegesis-$VERSION -mode=uops -snippets-file=- &> foo.log || true +if grep -q -E "(built without libpfm|cannot initialize libpfm)" foo.log; then + echo "could not run llvm-exegesis correctly" + cat foo.log|head + exit 42 +fi + +if test ! -f /usr/lib/llvm-$VERSION/lib/libFuzzer.a; then + echo "Install libfuzzer-$VERSION-dev"; + exit -1; +fi + +echo "Testing libfuzzer-$VERSION-dev ..." + +cat << EOF > test_fuzzer.cc +#include +#include +extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { + if (size > 0 && data[0] == 'H') + if (size > 1 && data[1] == 'I') + if (size > 2 && data[2] == '!') + __builtin_trap(); + return 0; +} + +EOF + +clang++-$VERSION -fsanitize=address -fsanitize-coverage=edge,trace-pc test_fuzzer.cc /usr/lib/llvm-$VERSION/lib/libFuzzer.a +if ! ./a.out 2>&1 | grep -q -E "(Test unit written|PreferSmall)"; then + echo "fuzzer failed" + exit 42 +fi + +clang++-$VERSION -fsanitize=address,fuzzer test_fuzzer.cc +if ! ./a.out 2>&1 | grep -q "libFuzzer: deadly signal"; then + echo "fuzzer failed" +fi + +echo 'int main(int argc, char **argv) { + int *array = new int[100]; + delete [] array; + return array[argc]; // BOOM +}' > foo.cpp +clang++-$VERSION -O1 -g -fsanitize=address -fno-omit-frame-pointer foo.cpp +ASAN_OPTIONS=verbosity=1 ./a.out &> foo.log || true +if ! grep -q "Init done" foo.log; then + echo "asan verbose mode failed" + cat foo.log + exit 42 +fi + +# See also https://bugs.llvm.org/show_bug.cgi?id=39514 why +# /usr/bin/llvm-symbolizer-7 doesn't work +ASAN_OPTIONS=verbosity=2:external_symbolizer_path=/usr/lib/llvm-$VERSION/bin/llvm-symbolizer ./a.out &> foo.log || true +if ! grep -q "Using llvm-symbolizer" foo.log; then + echo "could not find llvm-symbolizer path" + cat foo.log + exit 42 +fi +if ! grep -q "new\[\](unsigned" foo.log; then + echo "could not symbolize correctly" + cat foo.log + exit 42 +fi + +if ! grep -q "foo.cpp:3:3" foo.log; then + echo "could not symbolize correctly" + cat foo.log + exit 42 +fi +./a.out &> foo.log || true +if ! grep -q "new\[\](unsigned" foo.log; then + echo "could not symbolize correctly" + cat foo.log + exit 42 +fi + +if ! grep -q "foo.cpp:3:3" foo.log; then + echo "could not symbolize correctly" + cat foo.log + exit 42 +fi + +# Example from https://github.com/google/fuzzing/blob/master/tutorial/libFuzzerTutorial.md +# coverage fuzzing +cat << EOF > StandaloneFuzzTargetMain.c +#include +#include +#include + +extern int LLVMFuzzerTestOneInput(const unsigned char *data, size_t size); +__attribute__((weak)) extern int LLVMFuzzerInitialize(int *argc, char ***argv); +int main(int argc, char **argv) { + fprintf(stderr, "StandaloneFuzzTargetMain: running %d inputs\n", argc - 1); + if (LLVMFuzzerInitialize) + LLVMFuzzerInitialize(&argc, &argv); + for (int i = 1; i < argc; i++) { + fprintf(stderr, "Running: %s\n", argv[i]); + FILE *f = fopen(argv[i], "r"); + assert(f); + fseek(f, 0, SEEK_END); + size_t len = ftell(f); + fseek(f, 0, SEEK_SET); + unsigned char *buf = (unsigned char*)malloc(len); + size_t n_read = fread(buf, 1, len, f); + fclose(f); + assert(n_read == len); + LLVMFuzzerTestOneInput(buf, len); + free(buf); + fprintf(stderr, "Done: %s: (%zd bytes)\n", argv[i], n_read); + } +} +EOF + +cat << EOF > fuzz_me.cc +#include +#include + +bool FuzzMe(const uint8_t *Data, size_t DataSize) { + return DataSize >= 3 && + Data[0] == 'F' && + Data[1] == 'U' && + Data[2] == 'Z' && + Data[3] == 'Z'; +} + +extern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { + FuzzMe(Data, Size); + return 0; +} +EOF +clang-$VERSION -fprofile-instr-generate -fcoverage-mapping fuzz_me.cc StandaloneFuzzTargetMain.c + +rm -rf CORPUS +mkdir -p CORPUS +echo -n A > CORPUS/A +./a.out CORPUS/* &> /dev/null +if ! ./a.out CORPUS/* 2>&1 | grep -q "running 1 inputs"; then + echo "Coverage fuzzing failed" + exit 1 +fi +llvm-profdata-$VERSION merge -sparse *.profraw -o default.profdata +llvm-cov-$VERSION show a.out -instr-profile=default.profdata -name=FuzzMe &> foo.log +if ! grep -q "return DataSize >= 3" foo.log; then + echo "llvm-cov didn't show the expected output in fuzzing" + exit 1 +fi +echo -n FUZA > CORPUS/FUZA && ./a.out CORPUS/* &> /dev/null +llvm-profdata-$VERSION merge -sparse *.profraw -o default.profdata +llvm-cov-$VERSION show a.out -instr-profile=default.profdata -name=FuzzMe &> foo.log +if ! grep -q "Data\[3\] == 'Z';" foo.log; then + echo "llvm-cov didn't show the expected output in fuzzing" + exit 1 +fi +rm -rf CORPUS fuzz_me.cc StandaloneFuzzTargetMain.c + +echo "Testing sanitizers ..." + +echo '#include +int main() { + char *x = (char*)malloc(10 * sizeof(char*)); + free(x); + return x[5]; +} +' > foo.c +clang-$VERSION -o foo -fsanitize=address -O1 -fno-omit-frame-pointer -g foo.c +if ! ./foo 2>&1 | grep -q heap-use-after-free ; then + echo "sanitize=address is failing" + exit 42 +fi + +# Bug #876973 +echo ' +#include +int main(int argc, char **argv) +{ + printf("Hello world!\n"); + return 0; +}' > foo.c + +# segfaults on 32bit with "-lc" library (also 6.0 does segfault) +clang-$VERSION -fsanitize=address foo.c -o foo -lc +./foo &> /dev/null || true + +echo ' +#include +#include + +int Global; + +void *Thread1(void *x) { + Global++; + return NULL; +} + +void *Thread2(void *x) { + Global--; + return NULL; +} + +int main() { + pthread_t t[2]; + pthread_create(&t[0], NULL, Thread1, NULL); + pthread_create(&t[1], NULL, Thread2, NULL); + pthread_join(t[0], NULL); + pthread_join(t[1], NULL); +} ' > foo.c + +clang-$VERSION -o foo -fsanitize=thread -g -O1 foo.c +if ! strings ./foo 2>&1 | grep -q "tsan"; then + echo "binary doesn't contain tsan code" + strings foo + exit 42 +fi +if ! ./foo 2>&1 | grep -q "data race"; then + echo "sanitize=address is failing" + exit 42 +fi + +echo ' +class a { +public: + ~a(); +}; +template using b = a; +struct f { + template using e = b; +}; +struct g { + typedef f::e c; +}; +class h { + struct : g::c { int i; }; +}; +struct m { + h i; +}; +template void __attribute__((noreturn)) j(); +void k() { + m l; + j(); +}' > foo.cpp +clang++-$VERSION -std=c++14 -O3 -fsanitize=address -fsanitize=undefined -c foo.cpp -fno-crash-diagnostics + + +# fails on 32 bit, seems a real BUG in the package, using 64bit static libs? +LANG=C clang-$VERSION -fsanitize=fuzzer test_fuzzer.cc &> foo.log || true +if ! grep "No such file or directory" foo.log; then + # This isn't failing on 64, so, look at the results + if ! ./a.out 2>&1 | grep -q -E "(Test unit written|PreferSmall)"; then + echo "fuzzer. Output:" + ./a.out || true + if [ $DEB_HOST_ARCH != "arm64" -a $DEB_HOST_ARCH != "ppc64el" ]; then + # Don't fail on arm64 and ppc64el + exit 42 + fi + fi +fi + +echo 'int main() { + int a=0; + return a; +} +' > foo.c +clang-$VERSION -g -o bar foo.c + +# ABI issue between gcc & clang with clang 7 +# https://bugs.llvm.org/show_bug.cgi?id=39427 +# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=913271 +if test $VERSION -eq 7; then +echo ' +#include +#include +namespace llvm { class Constant{}; class Type; class Value; } +extern llvm::Constant* bar (llvm::Type*, llvm::Constant*, llvm::ArrayRef, bool, llvm::Optional o, llvm::Type*); +#ifdef PART2 +llvm::Constant* bar (llvm::Type*, llvm::Constant*, llvm::ArrayRef, bool, llvm::Optional o, llvm::Type*) +{ + return o.hasValue()?static_cast(nullptr)+1:nullptr; +} +#endif +#ifndef PART2 +static llvm::Constant* doConstantRef(llvm::Type* type, llvm::Constant* var, llvm::ArrayRef steps) +{ + llvm::Optional inRangeIndex; + return bar(type, var, steps, false, inRangeIndex, nullptr); +} +bool foo() +{ + llvm::Constant* var = nullptr; + llvm::Value* zero = nullptr; + llvm::Value* indexes[2] = {zero, zero}; + llvm::ArrayRef steps(indexes, 2); + auto result = doConstantRef(nullptr, var, steps); + return result; +} +int main() +{ + return foo(); +} +#endif +' > foo.cpp +FLAGS="-I/usr/lib/llvm-$VERSION/include -fPIC -fvisibility-inlines-hidden -Werror=date-time -std=c++11 -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wdelete-non-virtual-dtor -Wno-comment -ffunction-sections -fdata-sections -fno-common -Woverloaded-virtual -fno-strict-aliasing -fPIC -fvisibility-inlines-hidden -Werror=date-time -std=c++11 -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -ffunction-sections -fdata-sections -O2 -DNDEBUG -fno-exceptions -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS" + +clang++-$VERSION -c -o part1.o foo.cpp $FLAGS +if test -f /usr/bin/g++; then + g++ -c -o part2.o -DPART2 foo.cpp $FLAGS + clang++-$VERSION -o foo part1.o part2.o $FLAGS + ./foo +fi +rm part1.o part2.o +fi + +if test ! -f /usr/lib/llvm-$VERSION/lib/libomp.so; then + echo "Install libomp-$VERSION-dev"; + exit -1; +fi + +# OpenMP +cat < foo.c +//test.c +#include "omp.h" +#include + +int main(void) { + #pragma omp parallel + printf("thread %d\n", omp_get_thread_num()); +} +EOF +clang-$VERSION foo.c -fopenmp -o o +./o > /dev/null + +if test ! -f /usr/lib/llvm-$VERSION/include/c++/v1/vector; then + echo "Install libc++-$VERSION-dev"; + exit -1; +fi + +if test ! -f /usr/lib/llvm-$VERSION/lib/libc++abi.so; then + echo "Install libc++abi-$VERSION-dev"; + exit -1; +fi + + +# libc++ +echo ' +#include +#include +#include +using namespace std; +int main(void) { + vector tab; + tab.push_back("the"); + tab.push_back("world"); + tab.insert(tab.begin(), "Hello"); + + for(vector::iterator it=tab.begin(); it!=tab.end(); ++it) + { + cout << *it << " "; + } + return 0; +}' > foo.cpp +clang++-$VERSION -stdlib=libc++ foo.cpp -o o +if ! ldd o 2>&1|grep -q libc++.so.1; then + echo "not linked against libc++.so.1" + exit -1 +fi +if ! ldd o 2>&1|grep -q libc++abi.so.1; then + echo "not linked against libc++abi.so.1" + exit -1 +fi + +./o > /dev/null +clang++-$VERSION -std=c++11 -stdlib=libc++ foo.cpp -o o +./o > /dev/null + +# Bug 889832 +echo '#include +int main() {}' | clang++-$VERSION -std=c++1z -x c++ -stdlib=libc++ - + +if test ! -f /usr/lib/llvm-$VERSION/include/cxxabi.h; then + echo "Install libc++abi-$VERSION-dev"; + exit -1; +fi + +# Force the usage of libc++abi +clang++-$VERSION -stdlib=libc++ -lc++abi foo.cpp -o o +./o > /dev/null +if ! ldd o 2>&1|grep -q libc++abi.so.1; then + echo "not linked against libc++abi.so.1" + exit -1 +fi + +# Use the libc++abi and uses the libstc++ headers +clang++-$VERSION -lc++abi foo.cpp -o o +./o > /dev/null +if ! ldd o 2>&1|grep -q libstdc++.so.; then + echo "not linked against libstdc++" + exit -1 +fi + +# fs from C++17 +echo ' +#include +#include +using namespace std::filesystem; +int main() { + static_assert(std::is_same< + path, + std::filesystem::path + >::value, ""); +}' > foo.cpp +clang++-$VERSION -std=c++17 -stdlib=libc++ foo.cpp -o o +./o > /dev/null + +# Bug LP#1586215 +echo ' +#include +#include + +int main() +{ + try + { + std::string x; + char z = x.at(2); + std::cout << z << std::endl; + } + catch (...) + { + } + + return 0; +}' > foo.cpp +clang++-$VERSION -stdlib=libc++ -Wall -Werror foo.cpp -o foo +./foo + +# Bug https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=914201 +echo ' +#include +int main(void) +{ + double f = 2.0; + if (isnan(f)) + return 1; + return 0; +}' > foo.c +clang-$VERSION -Wconversion -Werror foo.c &> /dev/null || true + +if test -f /usr/bin/g++; then +g++ -nostdinc++ -I/usr/lib/llvm-$VERSION/bin/../include/c++/v1/ -L/usr/lib/llvm-$VERSION/lib/ \ + foo.cpp -nodefaultlibs -std=c++17 -lc++ -lc++abi -lm -lc -lgcc_s -lgcc|| true +./o > /dev/null +fi + + +if test ! -f /usr/lib/llvm-$VERSION/include/polly/LinkAllPasses.h; then + echo "Install libclang-common-$VERSION-dev for polly"; + exit -1; +fi + +echo "Testing polly (libclang-common-$VERSION-dev) ..." + +# Polly +echo " +#define N 1536 +float A[N][N]; +float B[N][N]; +float C[N][N]; + +void init_array() +{ + int i, j; + for (i = 0; i < N; i++) { + for (j = 0; j < N; j++) { + A[i][j] = (1+(i*j)%1024)/2.0; + B[i][j] = (1+(i*j)%1024)/2.0; + } + } +} + +int main() +{ + int i, j, k; + double t_start, t_end; + init_array(); + for (i = 0; i < N; i++) { + for (j = 0; j < N; j++) { + C[i][j] = 0; + for (k = 0; k < N; k++) + C[i][j] = C[i][j] + A[i][k] * B[k][j]; + } + } + return 0; +} +" > foo.c +clang-$VERSION -O3 -mllvm -polly -mllvm -polly-parallel -lgomp foo.c +# Comment because of https://bugs.llvm.org/show_bug.cgi?id=43164 +#clang-$VERSION -O3 -mllvm -polly -mllvm -lgomp -polly-parallel foo.c +clang-$VERSION -O3 -mllvm -polly -mllvm -polly-vectorizer=stripmine foo.c +clang-$VERSION -S -fsave-optimization-record -emit-llvm foo.c -o matmul.s +opt-$VERSION -S -polly-canonicalize matmul.s > matmul.preopt.ll > /dev/null +opt-$VERSION -basicaa -polly-ast -analyze -q matmul.preopt.ll -polly-process-unprofitable > /dev/null +if test ! -f /usr/lib/llvm-$VERSION/share/opt-viewer/opt-viewer.py; then + echo "Install llvm-$VERSION-tools" + exit 42 +fi +/usr/lib/llvm-$VERSION/share/opt-viewer/opt-viewer.py -source-dir . matmul.opt.yaml -o ./output > /dev/null + +if ! grep -q "not inlined into" output/foo.c.html 2>&1; then + echo "Could not find the output from polly" + exit -1 +fi + +echo " +int foo(int x, int y) __attribute__((always_inline)); +int foo(int x, int y) { return x + y; } +int bar(int j) { return foo(j, j - 2); }" > foo.cc +clang-$VERSION -O2 -Rpass=inline foo.cc -c &> foo.log +if ! grep -q "cost=always" foo.log; then + echo "-Rpass fails" + cat foo.log + exit 1 +fi +echo " +int X = 0; + +int main() { + int i; + for (i = 0; i < 100; i++) + X += i; + return 0; +}"> foo.cc +clang++-$VERSION -O2 -fprofile-instr-generate foo.cc -o foo +LLVM_PROFILE_FILE="foo-%p.profraw" ./foo +llvm-profdata-$VERSION merge -output=foo.profdata foo-*.profraw +clang++-$VERSION -O2 -fprofile-instr-use=foo.profdata foo.cc -o foo + +# https://bugs.llvm.org/show_bug.cgi?id=44870 +cat < foo.cpp +#include + +using namespace clang; + +int main() { + DiagnosticsEngine* diags; + HeaderSearchOptions* hsOpts; + CodeGenOptions* cgOpts; + TargetOptions* tOpts; + LangOptions* lOpts; + llvm::DataLayout* tDesc; + llvm::Module* m; + BackendAction* action; + std::unique_ptr AsmOutStream; + + EmitBackendOutput(*diags, *hsOpts, *cgOpts, *tOpts, *lOpts, *tDesc, m, *action, std::move(AsmOutStream)); +} +EOF +clang++-$VERSION foo.cpp -o test -lclangBasic -lclangCodeGen -lclangDriver -lclangFrontend -lclangFrontendTool -lclangCodeGen -lclangRewriteFrontend -lclangARCMigrate -lclangStaticAnalyzerFrontend -lclangStaticAnalyzerCheckers -lclangStaticAnalyzerCore -lclangCrossTU -lclangIndex -lclangFrontend -lclangDriver -lclangParse -lclangSerialization -lclangSema -lclangAnalysis -lclangEdit -lclangFormat -lclangToolingInclusions -lclangToolingCore -lclangRewrite -lclangASTMatchers -lclangAST -lclangLex -lclangBasic -ldl /usr/lib/llvm-10/lib/libLLVM-10.so -lclangCodeGen -lclangDriver -lclangFrontend -lclangFrontendTool -lclangRewriteFrontend -lclangARCMigrate -lclangStaticAnalyzerFrontend -lclangStaticAnalyzerCheckers -lclangStaticAnalyzerCore -lclangCrossTU -lclangIndex -lclangParse -lclangSerialization -lclangSema -lclangAnalysis -lclangEdit -lclangFormat -lclangToolingInclusions -lclangToolingCore -lclangRewrite -lclangASTMatchers -lclangAST -lclangLex -ldl -I /usr/lib/llvm-$VERSION/include/ -L/usr/lib/llvm-$VERSION/lib/ -lPolly -lPollyPPCG -lPollyISL + + +if test ! -f /usr/bin/lldb-$VERSION; then + echo "Install lldb-$VERSION"; + exit -1; +fi + +echo "b main +run +bt +quit" > lldb-cmd.txt + +echo "Testing lldb-$VERSION ..." +# bug 913946 +lldb-$VERSION -s lldb-cmd.txt bar &> foo.log + +if dpkg -l|grep -q clang-$VERSION-dbgsym; then + # Testing if clang dbg symbol are here + lldb-$VERSION -s lldb-cmd.txt clang-$VERSION &> foo.log + if ! grep "main at driver.cpp" foo.log; then + echo "Could not find the debug info" + echo "Or the main() of clang isn't in driver.cpp anymore" + exit -1 + fi +else + echo "clang-$VERSION-dbgsym isn't installed" +fi + +echo ' +#include +int main (void) +{ std::vector a; + a.push_back (0); +} +' > foo.cpp +clang++-$VERSION -g -o foo foo.cpp +echo 'target create "./foo" +b main +r +n +p a +quit' > lldb-cmd.txt +lldb-$VERSION -s lldb-cmd.txt ./foo &> foo.log +if ! grep -q "stop reason = step over" foo.log; then + echo "Could not find the lldb expected output" + cat foo.log + # do not fail on i386, never worked here + if [ $DEB_HOST_ARCH != "i386" ]; then + exit 42 + fi +fi + +if test ! -f /usr/lib/llvm-$VERSION/lib/libclangToolingInclusions.a; then + echo "Install libclang-$VERSION-dev"; + exit -1; +fi + +# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=943623 +rm *.o +/usr/bin/ar x /usr/lib/llvm-$VERSION/lib/libclangIndex.a &> /dev/null +file *.o a> foo.log +rm *.o +if grep "LLVM IR bitcode" foo.log; then + echo "found LLVM IR bitcode in the libclangIndex.a file" + echo "Should be elf" + exit -2 +fi + +echo "Testing cmake build ..." + +if grep -q lit-cpuid /usr/lib/llvm-$VERSION/lib/cmake/llvm/LLVMExports*.cmake; then + echo "LLVMExports*.cmake should not have lit-cpuid" + echo "it introduces a dependency between llvm-9 => lldb" + exit -1 +fi + +rm -rf cmaketest && mkdir cmaketest +cat > cmaketest/CMakeLists.txt < /dev/null) +# "Test: CMake find LLVM and Clang in explicit prefix path" +(cd cmaketest/explicit && CC=clang-$VERSION CXX=clang++-$VERSION CMAKE_PREFIX_PATH=/usr/lib/llvm-$VERSION cmake .. > /dev/null) +rm -rf cmaketest + +# Test case for bug #900440 +rm -rf cmaketest && mkdir cmaketest +cat > cmaketest/CMakeLists.txt < /dev/null) +rm -rf cmaketest + + + + +CLANG=clang-$VERSION +#command -v "$CLANG" 1>/dev/null 2>/dev/null || { printf "Usage:\n%s CLANGEXE [ARGS]\n" "$0" 1>&2; exit 1; } +#shift + +TEMPDIR=$(mktemp -d); trap "rm -rf \"$TEMPDIR\"" 0 + +echo "Testing all other sanitizers ..." + +echo "int main() { return 1; }" > foo.c +# fails to run on i386 with the following error: +#clang: error: unsupported option '-fsanitize=efficiency-working-set' for target 'i686-pc-linux-gnu' +clang-$VERSION -fsanitize=efficiency-working-set -o foo foo.c || true +./foo &> /dev/null || true + +cat > "$TEMPDIR/test.c" < +#include +int main () +{ +#if __has_feature(address_sanitizer) + puts("address_sanitizer"); +#endif +#if __has_feature(thread_sanitizer) + puts("thread_sanitizer"); +#endif +#if __has_feature(memory_sanitizer) + puts("memory_sanitizer"); +#endif +#if __has_feature(undefined_sanitizer) + puts("undefined_sanitizer"); +#endif +#if __has_feature(dataflow_sanitizer) + puts("dataflow_sanitizer"); +#endif +#if __has_feature(efficiency_sanitizer) + puts("efficiency_sanitizer"); +#endif + printf("Ok\n"); + return EXIT_SUCCESS; +} +EOF + +F=$(clang-$VERSION --target=x86_64-unknown-linux-gnu --rtlib=compiler-rt --print-libgcc-file-name) +if test ! $F; then + echo "Cannot find $F" + echo "TODO check if the exit1 can be put back" +# exit 1 +else + echo "$F is one of the compiler-rt file" +fi + +# only for AMD64 for now +# many sanitizers only work on AMD64 +# x32 programs need to be enabled in the kernel bootparams for debian +# (https://wiki.debian.org/X32Port) +# +# SYSTEM should iterate multiple targets (eg. x86_64-unknown-none-gnu for embedded) +# MARCH should iterate the library architectures via flags +# LIB should iterate the different libraries +echo "if it fails, please run" +echo "apt-get install libc6-dev:i386 libgcc-5-dev:i386 libc6-dev-x32 libx32gcc-5-dev libx32gcc-9-dev" +for SYSTEM in ""; do + for MARCH in -m64 -m32 -mx32 "-m32 -march=i686"; do + for LIB in --rtlib=compiler-rt -fsanitize=address -fsanitize=thread -fsanitize=memory -fsanitize=undefined -fsanitize=dataflow; do # -fsanitize=efficiency-working-set; do + if test "$MARCH" == "-m32" -o "$MARCH" == "-mx32"; then + if test $LIB == "-fsanitize=thread" -o $LIB == "-fsanitize=memory" -o $LIB == "-fsanitize=dataflow" -o $LIB == "-fsanitize=address" -o $LIB == "-fsanitize=undefined"; then + echo "Skip $MARCH / $LIB"; + continue + fi + fi + if test "$MARCH" == "-m32 -march=i686"; then + if test $LIB == "-fsanitize=memory" -o $LIB == "-fsanitize=thread" -o $LIB == "-fsanitize=dataflow"; then + echo "Skip $MARCH / $LIB"; + continue + fi + fi + XARGS="$SYSTEM $MARCH $LIB" + printf "\nTest: clang %s\n" "$XARGS" + rm -f "$TEMPDIR/test" + "$CLANG" $XARGS -o "$TEMPDIR/test" "$@" "$TEMPDIR/test.c" || true + [ ! -e "$TEMPDIR/test" ] || { "$TEMPDIR/test" || printf 'Error\n'; } + done + done +done + +echo "If the following fails, try setting an environment variable such as:" +echo "OBJC_INCLUDE_PATH=/usr/lib/gcc/x86_64-linux-gnu/8/include" +echo "libobjc-9-dev should be also installed" +echo "#include " > foo.m +#clang-$VERSION -c foo.m + +if test ! -f /usr/lib/llvm-$VERSION/lib/libclangBasic.a; then + echo "Install libclang-$VERSION-dev" + exit 1 +fi + +#clean up +rm -f a.out bar crash-* foo foo.* lldb-cmd.txt main.* test_fuzzer.cc foo.* o +rm -rf output matmul.* *profraw opt.ll + +echo "Completed" diff --git a/rules b/rules new file mode 100755 index 000000000..71f554bf1 --- /dev/null +++ b/rules @@ -0,0 +1,883 @@ +#!/usr/bin/make -f + +# polly, openmp & lldb aren't enabled for every platform +PROJECTS = clang;clang-tools-extra;libcxx;libcxxabi;compiler-rt;lld;debuginfo-tests +#;mlir + +TARGET_BUILD := build-llvm +TARGET_BUILD_STAGE2 := $(TARGET_BUILD)/tools/clang/stage2-bins +DEB_INST := $(CURDIR)/debian/tmp/ + +# Disable to move the previous method +BUILD_METHOD := stage2 + +GXX_VERSIONED_PACKAGE := $(shell dpkg-query -W -f '$${Depends}' g++ | grep -o 'g++-[0-9][0-9.]*' | tail -n1 ) +GXX_VERSIONED_EXECUTABLE := $(shell dpkg -L $(GXX_VERSIONED_PACKAGE) | grep '/usr/bin/g++-[0-9][0-9.]*' | xargs ls -d | tail -n1 ) +GCC_VERSION := $(subst /usr/bin/g++-,,$(GXX_VERSIONED_EXECUTABLE)) + +LLVM_VERSION := $(shell dpkg-parsechangelog | sed -rne "s,^Version: 1:([0-9]+).*,\1,p") +LLVM_VERSION_FULL := $(shell dpkg-parsechangelog | sed -rne "s,^Version: 1:([0-9.]+)(~|-)(.*),\1,p") +ifeq ($(LLVM_VERSION),$(LLVM_VERSION_FULL)) + LLVM_VERSION_FULL := $(LLVM_VERSION).0.0 +endif + +SONAME_EXT := 1 +SONAME_OPENMP := 5 +# Manage the case when the version is 3.5~svn213052-1~exp1 or 3.4.2-1 +DEBIAN_REVISION := $(shell dpkg-parsechangelog | sed -rne "s,^Version: 1:([0-9.]+)(~|-)(.*),\3,p") +ifneq (,$(filter parallel=%,$(subst $(COMMA), ,$(DEB_BUILD_OPTIONS)))) + NJOBS := -j $(subst parallel=,,$(filter parallel=%,$(subst $(COMMA), ,$(DEB_BUILD_OPTIONS)))) +endif + +VENDOR=$(shell lsb_release -is) +DISTRO=$(shell lsb_release -sc) + +DH_VERSION := $(shell dpkg -s debhelper | grep '^Version' | awk '{print $$2}') + +include /usr/share/dpkg/architecture.mk + +LDFLAGS_EXTRA = +CXXFLAGS_EXTRA = +CFLAGS_EXTRA = +CONFIGURE_EXTRA = +CMAKE_EXTRA = -DPYTHON_EXECUTABLE=/usr/bin/python3 + +BASE_PATH := $(CURDIR) +LIBCXX_EXCEPTIONS :=ON + +ifneq (,$(filter $(DEB_HOST_ARCH),s390x)) + LIBCXX_EXCEPTIONS :=OFF +endif + +ifneq (,$(filter $(DEB_HOST_ARCH),i386 armel mips mipsel powerpc powerpcspe riscv64)) +CMAKE_EXTRA += -DLIBOMP_LIBFLAGS="-latomic" -DCMAKE_SHARED_LINKER_FLAGS="-latomic" +endif + +ifneq (,$(filter $(DEB_HOST_ARCH),armel riscv64)) +# For some reason, in the stage2 build, when clang is used to compile +# itself. The atomic detection is failing on armel and riscv64. Forcing the inclusion everywhere. +LDFLAGS_EXTRA += -latomic +endif + +# Cxx flags for building libcxx and libcxxabi +LIBCXXFLAGS := $(shell dpkg-buildflags --get CXXFLAGS) $(shell dpkg-buildflags --get CPPFLAGS) + +ifeq ($(shell dpkg --compare-versions $(shell dpkg-query -W -f '$${Version}' g++-$(GCC_VERSION)) lt 4.9-20140411-1~ ; echo $$?),0) +# Too old version of gcc. Force 4.9 + GCC_VERSION := 4.9 +endif + +Z3_FLAG = -DLLVM_ENABLE_Z3_SOLVER=OFF +ifeq ($(shell dpkg --compare-versions $(shell dpkg-query -W -f '$${Version}' libz3-dev) gt 4.7.0; echo $$?),0) +# no ocaml support in main for Ubuntu +ifneq ($(shell dpkg-vendor --derives-from Ubuntu && echo yes),yes) + Z3_FLAG = -DLLVM_ENABLE_Z3_SOLVER=ON +endif +endif + +# Change the default CPU for s390x +ZARCH=z196 +ifeq ($(shell dpkg-vendor --derives-from Ubuntu && echo yes),yes) +ZARCH=z13 +endif +CMAKE_EXTRA += -DCLANG_SYSTEMZ_DEFAULT_ARCH=$(ZARCH) + +export CC=gcc-$(GCC_VERSION) +export CXX=g++-$(GCC_VERSION) + +opt_flags = -O2 -DNDEBUG -g1 + +ifneq (,$(findstring $(DEB_HOST_ARCH),armel)) + opt_flags += -marm + # 3.8 fails to build, disable the compiler_rt builtins + # See http://lists.llvm.org/pipermail/llvm-dev/2016-May/099761.html + CMAKE_EXTRA += -DCOMPILER_RT_BUILD_BUILTINS=OFF + # Check for ancient libstdc++ fails due to atomics usage + CMAKE_EXTRA_LIBCXX += -DLLVM_COMPILER_CHECKED=ON + # Prevent clang from getting a > v4t default + # See bug #868779 + CMAKE_EXTRA += -DLLVM_HOST_TRIPLE=arm-linux-gnueabi +endif + + +ifneq (,$(findstring $(DEB_HOST_ARCH),armhf)) +# avoid an issue with openmp on armhf + CMAKE_EXTRA += -DLLVM_HOST_TRIPLE=armv7l-unknown-linux-gnueabihf +endif + +ifneq (,$(filter $(DEB_HOST_ARCH),mips64el)) +# avoid an issue with search path on mips64el +# https://bugs.llvm.org/show_bug.cgi?id=41204 + CMAKE_EXTRA += -DLLVM_HOST_TRIPLE=mips64el-linux-gnuabi64 +endif + + +ifeq ($(shell dpkg --compare-versions $(shell dpkg-query -W -f '$${Version}' g++-$(GCC_VERSION)) ge 4.8-20121128-1~ ; echo $$?),0) + control_vars = '-Vdep:devlibs=libstdc++-$(GCC_VERSION)-dev, libgcc-$(GCC_VERSION)-dev' \ + '-Vdep:devlibs-objc=libobjc-$(GCC_VERSION)-dev' +else ifeq ($(shell dpkg --compare-versions $(shell dpkg-query -W -f '$${Version}' g++-$(GCC_VERSION)) ge 4.7.2-10~ ; echo $$?),0) + control_vars = '-Vdep:devlibs=libstdc++6-$(GCC_VERSION)-dev, libgcc-$(GCC_VERSION)-dev' \ + '-Vdep:devlibs-objc=libobjc-$(GCC_VERSION)-dev' +else + control_vars = '-Vdep:devlibs=libstdc++6-$(GCC_VERSION)-dev' +endif + +# Disabled: +# Host compiler does not support '-fuse-ld=lld' +# USE_LLD_ARCHS := amd64 +# ifneq (,$(filter $(DEB_HOST_ARCH),$(USE_LLD_ARCHS))) +# CMAKE_EXTRA += -DLLVM_ENABLE_LLD=ON +# endif + +BINUTILS_GOLD_ARCHS := amd64 arm64 armhf i386 ppc64 ppc64el x32 s390x hurd-i386 kfreebsd-amd64 kfreebsd-i386 +ifeq ($(shell dpkg --compare-versions $(shell dpkg-query -W -f '$${Version}' binutils) ge 2.23.1-1~exp3 ; echo $$?),0) +ifneq (,$(filter $(DEB_HOST_ARCH),$(BINUTILS_GOLD_ARCHS))) +# -fused-ld=gold enables the gold linker (but is not supported by all archs / distro) + LDFLAGS_EXTRA += -fuse-ld=gold +#--no-keep-files-mapped --no-map-whole-files + CXXFLAGS_EXTRA += -fuse-ld=gold + CFLAGS_EXTRA += -fuse-ld=gold +#-Wl,--no-keep-files-mapped -Wl,--no-map-whole-files + CMAKE_EXTRA += -DLLVM_BINUTILS_INCDIR=/usr/include/ +endif +endif + +CODECOVERAGE=no +ifneq (,$(filter codecoverage,$(DEB_BUILD_OPTIONS))) +# enable the code coverage + CODECOVERAGE=yes +# for -fvisibility-inlines-hidden see http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20130729/183016.html + CXXFLAGS_EXTRA += -fprofile-arcs -ftest-coverage + LDFLAGS_EXTRA += -coverage -lgcov + RUN_TEST=yes + # OpenMP doesn't respect LDFLAGS + CMAKE_EXTRA+= -DLIBOMP_LDFLAGS="-coverage -lgcov" # don't pass LDFLAGS_EXTRA because it expects gcc arg +endif + +# Enable for bootstrap +LDFLAGS_EXTRA += -fPIC -Wno-unused-command-line-argument -Wno-unknown-warning-option -Wl,--build-id +CXXFLAGS_EXTRA += -fPIC -Wno-unused-command-line-argument -Wno-unknown-warning-option +BOOTSTRAP_CXXFLAGS_EXTRA = $(CXXFLAGS_EXTRA) # Nothing for now. Keeping in case we need it +CFLAGS_EXTRA += -fPIC -Wno-unused-command-line-argument -Wno-unknown-warning-option +BOOTSTRAP_CFLAGS_EXTRA = $(CFLAGS_EXTRA) # Nothing for now. Keeping in case we need it + +# Enable polly (or not) +POLLY_ENABLE=yes +ifneq (,$(filter $(DEB_HOST_ARCH), powerpc powerpcspe)) + POLLY_ENABLE=no +else + PROJECTS+=;polly +endif + +# Enable openmp (or not) +OPENMP_ENABLE=yes +ifneq (,$(filter $(DEB_HOST_ARCH), mips mipsel powerpc powerpcspe riscv64 sparc64 s390x x32)) + OPENMP_ENABLE=no +else + PROJECTS+=;openmp +endif + +RUN_TEST=yes +ifneq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) + RUN_TEST=no +endif +ifeq ($(shell dpkg-vendor --derives-from Ubuntu && echo yes),yes) +ifeq (riscv64,$(DEB_HOST_ARCH)) + RUN_TEST=no +endif +endif + +ifneq (,$(filter scan-build,$(DEB_BUILD_OPTIONS))) +# enable the build using scan-build +# The package are installed through the variable declarations: +# OTHERMIRROR="deb http://llvm.org/apt/unstable/ llvm-toolchain main" +# EXTRAPACKAGES="clang-X" + PRE_PROCESS=scan-build-$(LLVM_VERSION) --show-description -analyzer-config stable-report-filename=true +# -enable-checker optin.performance.Padding + PRE_PROCESS_CONF=scan-build-$(LLVM_VERSION) +# no need to run tests in this case + RUN_TEST=no + CONFIGURE_EXTRA += --enable-assertions + CMAKE_EXTRA += -DLLVM_ENABLE_ASSERTIONS=ON +endif + +ifneq (,$(filter coverity,$(DEB_BUILD_OPTIONS))) +# enable the build using coverity +# pbuilder contains BINDMOUNTS="/opt/cov-analysis/" +# And we have some pbuilder hooks to configure and pack the result +# Where the binaries are installed on the jenkins instance + PRE_PROCESS=PATH=$$PATH:/opt/cov-analysis/bin/ cov-build --dir cov-int +# We don't want to check the temporary files produced by the configure + PRE_PROCESS_CONF= + COVERITY_ENABLE=1 + CONFIGURE_EXTRA += --enable-assertions + CMAKE_EXTRA += -DLLVM_ENABLE_ASSERTIONS=ON +# no need to run tests in this case + RUN_TEST=no +else + COVERITY_ENABLE=0 +endif + +LLDB_ENABLE=yes +LLDB_DISABLE_ARCHS := hurd-i386 ia64 powerpc powerpcspe ppc64 riscv64 sparc64 +# hurd has threading issues +ifeq (,$(filter-out $(LLDB_DISABLE_ARCHS), $(DEB_HOST_ARCH))) +# Disable LLDB for this arch. + LLDB_ENABLE=no +else +# See https://llvm.org/bugs/show_bug.cgi?id=28898 +# Enable it again as it seems it is fixed upstream https://bugs.llvm.org/show_bug.cgi?id=35291 +# CMAKE_EXTRA += -DLLDB_DISABLE_LIBEDIT=ON + PROJECTS+=;lldb +endif + +LLD_ENABLE=yes + +ifneq (,$(filter $(DEB_HOST_ARCH_OS),linux)) +# only for linux + CMAKE_EXTRA += -DLLVM_USE_PERF=yes -DLLVM_ENABLE_LIBPFM=ON +endif + +# Use thinlto for the link phase +THIN_UNSUPPORTED_DISTRO := stretch xenial trusty +# Don't enable for old distros +ifeq (,$(filter $(DISTRO), $(THIN_UNSUPPORTED_DISTRO))) +# Only enable it for archs supporting gold +ifneq (,$(filter $(DEB_HOST_ARCH),$(BINUTILS_GOLD_ARCHS))) +# armhf is not yet quite ready for Thin, it FTBFS +# see https://buildd.debian.org/status/fetch.php?pkg=llvm-toolchain-8&arch=armhf&ver=1%3A8.0.1%7E%2Brc2-1%7Eexp1&stamp=1560334266&raw=0 +ifeq (,$(filter $(DEB_HOST_ARCH), armhf)) +# Use BOOTSTRAP_LLVM_ENABLE_LTO to make sure that it isn't used +# when running stage1 with gcc +# For now, disable ThinLTO usage because: +# * LLVM_ENABLE_LTO doesn't work with gcc >= 9 (option not accepted) +# * BOOTSTRAP_LLVM_ENABLE_LTO is producing some large binary +# See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=943623 +# CMAKE_EXTRA += -DBOOTSTRAP_LLVM_ENABLE_LTO="Thin" +endif +endif +endif + +DH_OPTIONS= +OCAML_ENABLE= no +OCAML_ARCHS := amd64 arm64 armhf ppc64el s390x +ifneq (,$(filter $(DEB_HOST_ARCH),$(OCAML_ARCHS))) +# Enable OCAML for this arch. + OCAML_ENABLE=yes + OCAML_STDLIB_DIR ?= $(shell ocamlc -where) + DH_OPTIONS=--with ocaml +endif + +LIBFUZZER_ENABLE=yes +ifeq (,$(filter $(DEB_HOST_ARCH_OS),linux)) + LIBFUZZER_ENABLE=no +endif + +ifneq (,$(filter $(DEB_HOST_ARCH), mips mipsel)) + LIBOMP_ARCH = mips +endif + +ifneq (,$(filter $(DEB_HOST_ARCH), mips64 mips64el)) + LIBOMP_ARCH = mips64 +endif + + +%: + dh $@ $(DH_OPTIONS) + +# For some reasons, some spaces are added, removing them +PROJECTS_LIST := $(shell echo "$(PROJECTS)"|sed -e "s| ||g") + +preconfigure: + @echo "DEB_HOST_MULTIARCH=$(DEB_HOST_MULTIARCH)" + @echo "DEB_HOST_GNU_TYPE=$(DEB_HOST_GNU_TYPE)" + @echo "DEB_HOST_ARCH_BITS=$(DEB_HOST_ARCH_BITS)" + @echo "DEB_HOST_ARCH=$(DEB_HOST_ARCH)" + @echo "DEB_HOST_ARCH_OS=$(DEB_HOST_ARCH_OS)" + @echo "DISTRO=$(DISTRO)" + @echo "GCC_VERSION=$(GCC_VERSION)" + @echo 'PROJECTS=$(PROJECTS_LIST)' + + for f in debian/*.in; do \ + f2=$$(echo $$f | sed 's/\.in$$//;s/X\.Y/$(LLVM_VERSION)/'); \ + echo "$$f => $$f2"; \ + sed -e 's|@DEB_HOST_MULTIARCH@|$(DEB_HOST_MULTIARCH)|g' \ + -e "s|@OCAML_STDLIB_DIR@|$(OCAML_STDLIB_DIR)|g" \ + -e "s|@LLVM_VERSION_FULL@|$(LLVM_VERSION_FULL)|g" \ + -e "s|@LLVM_VERSION@|$(LLVM_VERSION)|g" $$f > $$f2; \ + done + + # Make install file executable for dh-exec + chmod +x debian/llvm-$(LLVM_VERSION)-dev.install debian/libclang-common-$(LLVM_VERSION)-dev.install debian/clang-tools-$(LLVM_VERSION).install debian/libomp-$(LLVM_VERSION)-dev.install + + # DH doesn't support the [power ...] in install on Ubuntu trusty + # fails with cp: cannot stat 'debian/tmp/[!powerpc': No such file or directory + if test "$(DISTRO)" = "trusty"; then \ + sed -i -e "s|\[\!powerpc \!powerpcspe\] ||g" debian/llvm-$(LLVM_VERSION)-dev.install; \ + fi + +# Override this two targets. They are trying to manage the .in conversion for me +override_dh_ocamlinit: +override_dh_ocamlclean: + +override_dh_auto_configure: preconfigure + echo "Using gcc: " + $(CC) -v + mkdir -p $(TARGET_BUILD) + mkdir -p clang/include/clang/Debian + sed -e "s|@DEB_PATCHSETVERSION@|$(DEBIAN_REVISION)|" \ + debian/debian_path.h > clang/include/clang/Debian/debian_path.h + + # Configure coverity (we need the compilers) + work around perf issues + -(if test $(COVERITY_ENABLE) -eq 1; then \ + export PATH=$$PATH:/opt/cov-analysis/bin/; \ + cov-configure --compiler clang --comptype clang; \ + cov-configure --compiler gcc-$(GCC_VERSION) --comptype gcc; \ + cov-configure --compiler g++-$(GCC_VERSION) --comptype gcc; \ + cov-configure -co /usr/bin/g++-$(GCC_VERSION) --comptype gcc -- -fPIC -std=c++11; \ + cov-configure -co /usr/bin/gcc-$(GCC_VERSION) --comptype gcc -- -fPIC; \ + cov-configure -co /usr/bin/g++-$(GCC_VERSION) --comptype gcc -- -fPIC -std=c++11 -fno-exceptions; \ + cov-configure -co /usr/bin/g++-$(GCC_VERSION) --comptype gcc --template \ + --xml-option append_arg:"--ppp_translator" \ + --xml-option append_arg:"replace/llvm::AlignOf::Alignment/(llvm::AlignOf::Alignment)" \ + --xml-option append_arg:"--ppp_translator" \ + --xml-option append_arg:"replace/llvm::AlignOf::Alignment/(llvm::AlignOf::Alignment)"; \ + cov-configure --compiler c++ --comptype g++ --template \ + --xml-option append_arg:"--ppp_translator" \ + --xml-option append_arg:"replace/llvm::AlignOf::Alignment/(llvm::AlignOf::Alignment)" \ + --xml-option append_arg:"--ppp_translator" \ + --xml-option append_arg:"replace/llvm::AlignOf::Alignment/(llvm::AlignOf::Alignment)"; \ + fi) + + echo "Running tests: $(RUN_TEST)" + + # if cmake is installed in /tmp/cmake/ uses it + # Used to build llvm on old ubuntu (precise) on the llvm.org/apt/ ci + CMAKE_BIN=cmake; \ + if test -f /tmp/cmake/bin/cmake; then \ + CMAKE_BIN=/tmp/cmake/bin/cmake; \ + fi; \ + echo "Using cmake: $$CMAKE_BIN"; \ + cd $(TARGET_BUILD) && \ + $(PRE_PROCESS_CONF) $$CMAKE_BIN ../llvm/ \ + -DLLVM_ENABLE_PROJECTS="$(PROJECTS_LIST)" \ + -DCMAKE_INSTALL_PREFIX=/usr/lib/llvm-$(LLVM_VERSION) \ + -DCMAKE_VERBOSE_MAKEFILE=ON \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(opt_flags)" \ + -DLLVM_LINK_LLVM_DYLIB=ON \ + -DLLVM_INSTALL_UTILS=ON \ + -DLLVM_VERSION_SUFFIX= \ + -DLLVM_ENABLE_SPHINX=ON \ + -DSPHINX_WARNINGS_AS_ERRORS=OFF \ + -DLLVM_BUILD_LLVM_DYLIB=ON \ + -DLLVM_ENABLE_RTTI=ON \ + -DLLVM_ENABLE_FFI=ON \ + -DLLVM_ENABLE_DUMP=ON \ + $(CMAKE_EXTRA) \ + -DLIBCLANG_LIBRARY_VERSION=$(SONAME_EXT) \ + -DCLANG_LINK_CLANG_DYLIB=ON \ + -DENABLE_LINKER_BUILD_ID=ON \ + -DPOLLY_BUNDLED_JSONCPP=OFF \ + -DCOMPILER_RT_USE_LIBCXX=NO \ + $(Z3_FLAG) \ + -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="AVR" \ + -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON \ + -DCLANG_VENDOR=$(VENDOR) \ + -DCLANG_ENABLE_BOOTSTRAP=ON \ + -DCLANG_BUILD_EXAMPLES=OFF \ + -DBOOTSTRAP_CMAKE_CXX_FLAGS='$(BOOTSTRAP_CXXFLAGS_EXTRA)' \ + -DBOOTSTRAP_CMAKE_C_FLAGS='$(BOOTSTRAP_CFLAGS_EXTRA)' \ + -DCLANG_BOOTSTRAP_PASSTHROUGH="CMAKE_INSTALL_PREFIX;CMAKE_VERBOSE_MAKEFILE;CMAKE_BUILD_TYPE;CMAKE_CXX_FLAGS_RELWITHDEBINFO;LLVM_LINK_LLVM_DYLIB;LLVM_INSTALL_UTILS;LLVM_VERSION_SUFFIX;LLVM_ENABLE_SPHINX;SPHINX_WARNINGS_AS_ERRORS;LLVM_BUILD_LLVM_DYLIB;LLVM_ENABLE_RTTI;LLVM_ENABLE_FFI;LIBCLANG_LIBRARY_VERSION;ENABLE_LINKER_BUILD_ID;POLLY_BUNDLED_JSONCPP;LLVM_EXPERIMENTAL_TARGETS_TO_BUILD;LLVM_USE_PERF;LLVM_ENABLE_ASSERTIONS;LLVM_BINUTILS_INCDIR;LLVM_HOST_TRIPLE;LLVM_COMPILER_CHECKED;COMPILER_RT_BUILD_BUILTINS;LIBOMP_LIBFLAGS;CMAKE_SHARED_LINKER_FLAGS;PYTHON_EXECUTABLE;LLVM_ENABLE_Z3_SOLVER;CLANG_VENDOR" + FOUND_VERSION=`grep LLVM_VERSION_STRING build-llvm/include/llvm/Config/llvm-config.h|cut -d\" -f2`; \ + if ! echo "$(LLVM_VERSION_FULL)"|grep "$$FOUND_VERSION"; then \ + echo "mistmatch of version. Found: $$FOUND_VERSION / Expected: $(LLVM_VERSION_FULL)"; \ + fi + +# make +VERBOSE=VERBOSE=1 +# ninja +#VERBOSE=-v + +debian-full-build: + $(PRE_PROCESS) make $(NJOBS) -C $(TARGET_BUILD) $(VERBOSE) CFLAGS="$(CFLAGS_EXTRA)" CXXFLAGS="$(CXXFLAGS_EXTRA)" LDFLAGS="$(LDFLAGS_EXTRA)" REQUIRES_RTTI=1 DEBUGMAKE=1 $(BUILD_METHOD) + +# Check the stage 2 build worked + if test "$(BUILD_METHOD)" = "stage2"; then \ + if ! readelf --string-dump .comment $(TARGET_BUILD_STAGE2)/bin/clang 2>&1|grep -q "clang version"; then \ + echo "clang hasn't been built using clang. Bye bye. Check that the stage2 build has been done."; \ + exit 2; \ + fi; \ + fi + if ldd $(TARGET_BUILD_STAGE2)/lib/libclang-$(LLVM_VERSION).so.1|grep -q libclang-cpp-$(LLVM_VERSION); then \ + echo "libclang-$(LLVM_VERSION).so.1 depends on libclang-cpp. Should not be the case"; \ + exit 2; \ + fi + touch $@ + +debian-libfuzzer-build: +ifeq (${LIBFUZZER_ENABLE},yes) + cd $(TARGET_BUILD); \ + CFLAGS=`dpkg-buildflags --get CFLAGS`; \ + CFLAGS="$$CFLAGS `dpkg-buildflags --get CPPFLAGS`"; \ + echo $$CFLAGS; \ + $(BASE_PATH)/$(TARGET_BUILD_STAGE2)/bin/clang++ -c $$CFLAGS -std=c++11 $(BASE_PATH)/compiler-rt/lib/fuzzer/*.cpp -IFuzzer; \ + ar ruv libFuzzer.a Fuzzer*.o +endif + touch $@ + + +LIBCXX_CMAKE_OPTIONS := \ + -DCMAKE_INSTALL_PREFIX=/usr/lib/llvm-$(LLVM_VERSION) \ + -DLLVM_CONFIG_PATH=$(CURDIR)/$(TARGET_BUILD_STAGE2)/bin/llvm-config \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DCMAKE_CXX_COMPILER=$(CURDIR)/$(TARGET_BUILD_STAGE2)/bin/clang++ \ + -DCMAKE_C_COMPILER=$(CURDIR)/$(TARGET_BUILD_STAGE2)/bin/clang \ + -DCMAKE_CXX_FLAGS="$(LIBCXXFLAGS)" \ + -DCMAKE_EXE_LINKER_FLAGS="" \ + -DCMAKE_SHARED_LINKER_FLAGS="" \ + -DCMAKE_MODULE_LINKER_FLAGS="" \ + -DCMAKE_AR=$(CURDIR)/$(TARGET_BUILD_STAGE2)/bin/llvm-ar \ + -DCMAKE_RANLIB=$(CURDIR)/$(TARGET_BUILD_STAGE2)/bin/llvm-ranlib \ + -DLLVM_EXTERNAL_LIT=$(BASE_PATH)/llvm/utils/lit/lit.py \ + -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON \ + -DLIBCXX_USE_COMPILER_RT=YES \ + -DLIBCXXABI_USE_COMPILER_RT=YES \ + $(CMAKE_EXTRA) \ + $(CMAKE_EXTRA_LIBCXX) + +debian-libcxx-build: +# Builds libcxx + + mkdir -p libcxx/build + mkdir -p libcxxabi/build + + CMAKE_BIN=cmake; \ + if test -f /tmp/cmake/bin/cmake; then \ + CMAKE_BIN=/tmp/cmake/bin/cmake; \ + fi; \ + echo "Using cmake: $$CMAKE_BIN"; \ + cd libcxxabi/build && \ + $(PRE_PROCESS_CONF) $$CMAKE_BIN ../ \ + $(LIBCXX_CMAKE_OPTIONS) \ + -DLIBCXXABI_LIBCXX_PATH=$(BASE_PATH)/libcxx \ + -DLIBCXXABI_LIBCXX_LIBRARY_PATH=$(BASE_PATH)/libcxx/build/lib \ + -DLIBCXXABI_LIBCXX_INCLUDES=$(BASE_PATH)/libcxx/include \ + -DLIBCXXABI_ENABLE_EXCEPTIONS=$(LIBCXX_EXCEPTIONS) \ + -DLLVM_ENABLE_RTTI=ON && \ + $(PRE_PROCESS_CONF) make $(NJOBS) $(VERBOSE) CXXFLAGS="$(CXXFLAGS_EXTRA)" LDFLAGS="$(LDFLAGS_EXTRA)" + touch $@ + +debian-libcxxabi-build: +# Builds libcxxabi + + mkdir -p libcxxabi/build + + CMAKE_BIN=cmake; \ + if test -f /tmp/cmake/bin/cmake; then \ + CMAKE_BIN=/tmp/cmake/bin/cmake; \ + fi; \ + echo "Using cmake: $$CMAKE_BIN"; \ + cd libcxx/build && \ + $(PRE_PROCESS_CONF) $$CMAKE_BIN ../ \ + $(LIBCXX_CMAKE_OPTIONS) \ + -DLIBCXX_CXX_ABI=libcxxabi \ + -DLIBCXX_CXX_ABI_INCLUDE_PATHS=$(BASE_PATH)/libcxxabi/include \ + -DLIBCXX_CXX_ABI_LIBRARY_PATH=$(BASE_PATH)/libcxxabi/build/lib \ + -DLIBCXX_ENABLE_EXCEPTIONS=$(LIBCXX_EXCEPTIONS) \ + -DLIBCXX_INSTALL_EXPERIMENTAL_LIBRARY=ON && \ + $(PRE_PROCESS_CONF) make $(NJOBS) $(VERBOSE) CXXFLAGS="$(CXXFLAGS_EXTRA)" LDFLAGS="$(LDFLAGS_EXTRA)" + touch $@ + +override_dh_auto_build: debian-full-build debian-libfuzzer-build debian-libcxx-build debian-libcxxabi-build + +override_dh_prep: build_doc + dh_prep + +build_doc: + cd $(CURDIR)/llvm/docs && make -f Makefile.sphinx && make -f Makefile.sphinx man + cd $(CURDIR)/clang/docs && make -f Makefile.sphinx && make -f Makefile.sphinx man + -(if test "$(OCAML_ENABLE)" = yes; then \ + make $(NJOBS) -C "$(TARGET_BUILD_STAGE2)/docs" ocaml_doc; \ + fi) + + make $(NJOBS) -C $(TARGET_BUILD_STAGE2) docs-llvm-html docs-clang-html docs-clang-tools-html docs-clang-tools-man docs-clang-man docs-llvm-man + +ifeq (${POLLY_ENABLE},yes) + make $(NJOBS) -C $(TARGET_BUILD_STAGE2) docs-polly-html docs-polly-man +endif + +# Rename manpages + d=$(CURDIR)/docs/_build/man/; \ + if test -d $$d; then \ + cd $$d; \ + for f in *.1; do \ + echo "$$f"|grep $(LLVM_VERSION) || mv $$f `echo $$f|sed "s|\.1|-$(LLVM_VERSION).1|"`; \ + done; \ + else \ + echo "could not find $$d"; \ + fi +# the clang doc generation only generates clang manpage +# When it will do more, we should move that in the loop above + cd $(CURDIR)/clang/docs/_build/man/; mv clang.1 clang-$(LLVM_VERSION).1 + +# Remove the copy of jquery. See bug #701087 + for d in $(TARGET_BUILD_STAGE2)/docs/html/_static/ $(TARGET_BUILD_STAGE2)/tools/clang/docs/html/_static/ $(TARGET_BUILD_STAGE2)/tools/clang/tools/extra/docs/html/_static/; do \ + cd $$d && rm -f jquery.js && ln -s /usr/share/javascript/jquery/jquery.js && cd -; \ + cd $$d && rm -f underscore.js && ln -s /usr/share/javascript/underscore/underscore.js && cd -; \ + done + + mkdir -p debian/man/ + ls -al clang/tools/scan-view/bin/scan-view + clang/tools/scan-view/bin/scan-view --help || true + help2man --no-info --version-string=$(LLVM_VERSION) clang/tools/scan-view/bin/scan-view > debian/man/scan-view-$(LLVM_VERSION).1 || true + help2man --no-info --version-string=$(LLVM_VERSION) clang/tools/clang-format/clang-format-diff.py > debian/man/clang-format-diff-$(LLVM_VERSION).1 || true + + CMDS="llvm-dwarfdump llvm-mc llvm-mcmarkup llvm-objdump llvm-rtdyld llvm-size llvm-ranlib lldb lldb-mi clang-format clang clang++ clang-tblgen clang-check clang-cpp clang-import-test clang-tidy clang-apply-replacements clang-rename clang-query pp-trace sancov lli modularize clang-include-fixer find-all-symbols clang-reorder-fields ld.lld llvm-tblgen clang-change-namespace clang-offload-bundler clangd"; \ + for f in $$CMDS; do \ + echo "Generating manpage of $$f"; \ + LD_LIBRARY_PATH=$(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/:/usr/lib/*/libfakeroot help2man --no-info --version-string=$(LLVM_VERSION) $(TARGET_BUILD_STAGE2)/bin/$$f > debian/man/$$f-$(LLVM_VERSION).1 || true; \ + done + if test "$(OPENMP_ENABLE)" = yes; then \ + cd openmp/runtime && doxygen doc/doxygen/config; cd -; \ + cd openmp/runtime/doc/doxygen/generated/html/ && rm jquery.js && ln -s /usr/share/javascript/jquery/jquery.js; \ + fi + +override_dh_auto_install: + # Clean up temporary files to make sure the install works + rm -rf $(find $(TARGET_BUILD) -wholename '*CMakeFiles*' -not -name CMakeLists.txt -a -name "*.dir" -type d) + # install/fast enables a make install without recompiling temporary files + if test "$(BUILD_METHOD)" = "stage2"; then \ + $(MAKE) -C $(TARGET_BUILD) $(VERBOSE) stage2-install DESTDIR=$(DEB_INST)/; \ + else \ + $(MAKE) -C $(TARGET_BUILD) $(VERBOSE) install DESTDIR=$(DEB_INST)/; \ + fi + # Not used on Linux. + rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/bin/argdumper + rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/share/clang/clang-format-bbedit.applescript + # Remove bat files https://bugs.llvm.org/show_bug.cgi?id=30755 + rm -f $(DEB_INST)/usr/share/clang/scan-build-$(LLVM_VERSION)/libexec/*.bat $(DEB_INST)/usr/share/clang/scan-build-$(LLVM_VERSION)/bin/*.bat + + rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/libExampleIRTransforms.a + # Remove an example - introduced in https://reviews.llvm.org/D61446 + rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/libBye.a + + cp $(TARGET_BUILD_STAGE2)/bin/clang-query $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/bin + + # Only run on executable, not script + chrpath -d `find $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/bin/ -type f -executable -exec file -i '{}' \; | grep 'x-executable; charset=binary'|cut -d: -f1` + chrpath -d libcxxabi/build/lib/libc++abi.so.1.0 + chrpath -d libcxx/build/lib/libc++.so.1.0 + + : # libclang + cd debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib/ && rm -f libclang.so.$(SONAME_EXT) libclang-$(LLVM_VERSION).so; \ + ln -s libclang-$(LLVM_VERSION).so.$(SONAME_EXT) libclang.so.$(SONAME_EXT) + + : # libomp + cd debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib && rm -f libomp.so; \ + ln -s libomp.so.$(SONAME_OPENMP) libomp.so + + if test "$(OPENMP_ENABLE)" = yes; then \ + mkdir -p debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/include/openmp; \ + cp -f openmp/runtime/exports/common*/include/* debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/include/openmp; \ + cd debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib && cp libomp.so.$(SONAME_OPENMP) libomp-$(LLVM_VERSION).so.$(SONAME_OPENMP); \ + fi + +# Remove artifact (where compiler-rt is built) +# if test -d $(TARGET_BUILD)/tools/clang/runtime/compiler-rt/clang_linux; then \ +# cd $(TARGET_BUILD)/tools/clang/runtime/compiler-rt/clang_linux && rm -rf $$(find . -mindepth 2 -maxdepth 2 -type d) && rm -rf $$(find -empty) && rm -rf */.dir; \ +# fi + + mkdir -p $(CURDIR)/debian/clang-$(LLVM_VERSION)/usr/bin/ + cp compiler-rt/lib/asan/scripts/asan_symbolize.py $(CURDIR)/debian/clang-$(LLVM_VERSION)/usr/bin/asan_symbolize-$(LLVM_VERSION) + +ifeq (${LIBFUZZER_ENABLE},yes) + mkdir -p $(CURDIR)/debian/libfuzzer-$(LLVM_VERSION)-dev/usr/lib/llvm-$(LLVM_VERSION)/lib/ + cp -v $(TARGET_BUILD)/libFuzzer.a $(CURDIR)/debian/libfuzzer-$(LLVM_VERSION)-dev/usr/lib/llvm-$(LLVM_VERSION)/lib/ +endif + +# Create this fake directory to make the install libclang-common-dev happy +# under the unsupported archs of compiler-rt + mkdir -p $(DEB_INST)/usr/lib/clang/$(LLVM_VERSION)/lib + mkdir -p $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/clang/$(LLVM_VERSION_FULL)/lib/ + mkdir -p $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/clang/$(LLVM_VERSION)/lib/clang_linux/ + mkdir -p $(TARGET_BUILD)/tools/clang/runtime/compiler-rt/clang_linux/ + mkdir -p $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/clang/$(LLVM_VERSION_FULL)/share/ +# On some archs, the sanatizers are not built. As we explicitly includes some txt files, create +# a fake txt to make sure it doesn't fail + echo "The *.txt files, if available, contain helper to override some of the errors messages." > $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/clang/$(LLVM_VERSION_FULL)/README.txt + echo "Please visit https://github.com/google/sanitizers/wiki/AddressSanitizer for help" >> $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/clang/$(LLVM_VERSION_FULL)/README.txt +# Path changed. Make a copy of it + cp $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/clang/$(LLVM_VERSION_FULL)/README.txt $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/clang/$(LLVM_VERSION_FULL)/share/README.txt + +# Remove things that CMake install but which aren't packaged yet, +# or are packaged from the source or build tree. + mv $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/bin/clang-$(LLVM_VERSION) \ + $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/bin/clang + +# Probably useless + rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/python*/*-packages/six.py + rm -rf $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/build/utils/lit/lit/__pycache__/ \ + $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/build/utils/lit/lit/*/__pycache__/ + + + $(MAKE) -C libcxxabi/build install DESTDIR=$(DEB_INST) + $(MAKE) -C libcxx/build install DESTDIR=$(DEB_INST) + +# Rename binaries + mkdir -p $(DEB_INST)/usr/bin/ + cd $(DEB_INST)/usr/bin/; \ + rm -f *; \ + for f in ../lib/llvm-$(LLVM_VERSION)/bin/*; do \ + ln -s $$f `basename $$f`-$(LLVM_VERSION); \ + echo "Link $$f to `basename $$f`-$(LLVM_VERSION)"; \ + done + +# Rename some stuff with the version name + cp $(CURDIR)/clang/tools/scan-build/man/scan-build.1 $(CURDIR)/clang/tools/scan-build/man/scan-build-$(LLVM_VERSION).1 + + # copy the vim files (except that tablegen does not exist for indent + VIM_DIRS="ftdetect ftplugin syntax indent"; \ + for dir in $$VIM_DIRS; do \ + cp -f $(CURDIR)/llvm/utils/vim/$$dir/llvm.vim $(CURDIR)/llvm/utils/vim/$$dir/llvm-$(LLVM_VERSION).vim; \ + if test -f $(CURDIR)/llvm/utils/vim/$$dir/tablegen.vim; then \ + cp -f $(CURDIR)/llvm/utils/vim/$$dir/tablegen.vim $(CURDIR)/llvm/utils/vim/$$dir/tablegen-$(LLVM_VERSION).vim; \ + fi; \ + done + cp -f $(CURDIR)/llvm/utils/vim/vimrc $(CURDIR)/llvm/utils/vim/llvm-$(LLVM_VERSION)-vimrc + + cp -f $(CURDIR)/clang/tools/clang-format/clang-format-diff.py $(CURDIR)/clang/tools/clang-format/clang-format-diff-$(LLVM_VERSION) + + cp -f $(CURDIR)/clang/tools/clang-format/clang-format.py clang/tools/clang-format/clang-format-$(LLVM_VERSION).py + + rm -rf clang/tools/scan-build-$(LLVM_VERSION) + cp -fR $(CURDIR)/clang/tools/scan-build clang/tools/scan-build-$(LLVM_VERSION) + + rm -rf clang/tools/scan-build-py-$(LLVM_VERSION) + cp -fR $(CURDIR)/clang/tools/scan-build-py clang/tools/scan-build-py-$(LLVM_VERSION) + chmod +x clang/tools/scan-build-py-$(LLVM_VERSION)/bin/* + + rm -rf clang/tools/scan-view-$(LLVM_VERSION) + cp -fR $(CURDIR)/clang/tools/scan-view clang/tools/scan-view-$(LLVM_VERSION) + +# Remove some license files + rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/include/llvm/Support/LICENSE.TXT + +# Disable CMake's package validation checks for target files that we may remove. + sed -i '/_IMPORT_CHECK_TARGETS \(Polly\|sancov\)/ {s|^|#|}' $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/llvm/LLVMExports-*.cmake + +# Disable CMake's package validation checks for binaries that may not be installed + sed -i 's|.*_IMPORT_CHECK_FILES_FOR_.*/bin/.*)|#&|' $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/clang/ClangTargets-*.cmake + +# Managed in python*-lldb-X.Y.links.in + rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/python*/*-packages/lldb/_lldb.so + +# Manage the polly files. Sometimes, we build them. Sometimes not. + if test "$(POLLY_ENABLE)" = yes; then \ + mkdir -p $(CURDIR)/debian/libclang-$(LLVM_VERSION)-dev/usr/lib/llvm-$(LLVM_VERSION)/lib/ $(CURDIR)/debian/libclang-common-$(LLVM_VERSION)-dev/usr/lib/llvm-$(LLVM_VERSION)/include/polly/; \ + mv -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/libpolly* \ + $(CURDIR)/debian/libclang-$(LLVM_VERSION)-dev/usr/lib/llvm-$(LLVM_VERSION)/lib/; \ + rm -rf $(CURDIR)/debian/libclang-common-$(LLVM_VERSION)-dev/usr/lib/llvm-$(LLVM_VERSION)/include/polly; \ + mv -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/include/polly/ \ + $(CURDIR)/debian/libclang-common-$(LLVM_VERSION)-dev/usr/lib/llvm-$(LLVM_VERSION)/include/; \ + fi + + mkdir -p $(CURDIR)/debian/usr/share/doc/llvm-$(LLVM_VERSION)-doc/ $(CURDIR)/debian/usr/share/doc/clang-$(LLVM_VERSION)-doc/ + cp -R $(TARGET_BUILD_STAGE2)/docs/html $(CURDIR)/debian/usr/share/doc/llvm-$(LLVM_VERSION)-doc/ + cp -R $(TARGET_BUILD_STAGE2)/tools/clang/docs/html $(CURDIR)/debian/usr/share/doc/clang-$(LLVM_VERSION)-doc/ + cp -R $(TARGET_BUILD_STAGE2)/tools/clang/tools/extra/docs/html $(CURDIR)/debian/usr/share/doc/clang-$(LLVM_VERSION)-doc/clang-extra + +# Rename OCaml bindings + if test "$(OCAML_ENABLE)" = yes; then \ + mkdir -p "$(DEB_INST)$(OCAML_STDLIB_DIR)"; \ + mkdir -p "$(DEB_INST)usr/lib/llvm-$(LLVM_VERSION)/docs/ocaml/html/html"; \ + mkdir -p "$(DEB_INST)usr/lib/llvm-$(LLVM_VERSION)/share/doc/llvm/ocaml-html/"; \ + if test -d "$(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/ocaml"; then \ + mv -f "$(DEB_INST)usr/lib/llvm-$(LLVM_VERSION)/lib/ocaml" \ + "$(DEB_INST)$(OCAML_STDLIB_DIR)/llvm-$(LLVM_VERSION)"; \ + fi; \ + fi + +# Delete the target build directory to save some space on the build systems +# All the files have been installed in $(CURDIR)/debian/tmp/ already + rm -rf $(TARGET_BUILD) + + +override_dh_makeshlibs: + dh_makeshlibs -plibclang$(SONAME_EXT)-$(LLVM_VERSION) -V"libclang$(SONAME_EXT)-$(LLVM_VERSION) (>= 1:9~svn298832-1~)" -- -c4 + dh_makeshlibs -pliblldb-$(LLVM_VERSION) -V"liblldb-$(LLVM_VERSION) (>= 1:9~svn298832-1~)" + dh_makeshlibs -plibllvm$(LLVM_VERSION) -V"libllvm$(LLVM_VERSION) (>= 1:9~svn298832-1~)" + dh_makeshlibs -plibomp$(SONAME_OPENMP)-$(LLVM_VERSION) -V"libomp$(SONAME_OPENMP)-$(LLVM_VERSION) (>= 1:9~svn298832-1~)" + dh_makeshlibs --remaining-packages + +override_dh_shlibdeps: +# Ignore asan libraries. They would trigger dependencies to multiarch libraries + dh_shlibdeps -l$(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/ -Xlibclang_rt.asan -Xlibclang_rt.asan -Xlibclang_rt.asan-*.so -Xlibclang_rt.asan-*.so + +override_dh_installman: + if test -f lld/docs/ld.lld.1; then \ + mv lld/docs/ld.lld.1 lld/docs/ld.lld-$(LLVM_VERSION).1; \ + fi + dh_installman +# Make sure that lli manpage is only in llvm-3.2-runtime (See #697117) + rm -f $(CURDIR)/debian/llvm-$(LLVM_VERSION)/usr/share/man/man1/lli* + + +override_dh_strip: + : # running out of diskspace on the buildds + find $(TARGET_BUILD) -name '*.o' -o -name '*.a' -type f | xargs -r rm -f +ifeq (0, $(strip $(shell dpkg --compare-versions $(DH_VERSION) ge 9.20160114; echo $$?))) + : # If we don't have the right version of debhelper, don't run the option + dh_strip -p libclang$(SONAME_EXT)-$(LLVM_VERSION) --dbgsym-migration='libclang$(SONAME_EXT)-$(LLVM_VERSION)-dbg (<< 1:9~svn327768-1~)' + dh_strip -p libllvm$(LLVM_VERSION) --dbgsym-migration='libllvm$(LLVM_VERSION)-dbg (<< 1:9~svn327768-1~)' + dh_strip -p liblldb-$(LLVM_VERSION) --dbgsym-migration='liblldb-$(LLVM_VERSION)-dbg (<< 1:9~svn327768-1~)' + dh_strip -p libomp$(SONAME_OPENMP)-$(LLVM_VERSION) --dbgsym-migration='libomp$(SONAME_OPENMP)-$(LLVM_VERSION)-dbg (<< 1:9~svn327768-1~)' +endif +# ifeq (${LLD_ENABLE},yes) +# PATH=$(CURDIR)/:$$PATH dh_strip -p liblld-$(LLVM_VERSION) --dbg-package=liblld-$(LLVM_VERSION)-dbg +# endif +ifeq ($(shell dpkg --compare-versions $(shell dpkg-query -W -f '$${Version}' binutils) lt 2.31.1-11 ; echo $$?),0) + : # building with clang, binutils/strip has hard time stripping some libs because of + : # https://sourceware.org/bugzilla/show_bug.cgi?id=23788 + : # use llvm-strip instead + : # Workaround some issues with stripping by using llvm's + if test ! -f $(CURDIR)/strip; then \ + ln -s $(CURDIR)/debian/llvm-$(LLVM_VERSION)/usr/lib/llvm-$(LLVM_VERSION)/bin/llvm-strip $(CURDIR)/strip; \ + fi + ls -al $(CURDIR)/debian/.debhelper/*/dbgsym-root/usr/lib/debug/.build-id/*/*|| true + : # On some old version of Debian (stretch) and Ubuntu, Rules-Requires-Root isn't supported + : # Sometime, it fails because of chown: changing ownership of 'debian/.debhelper/clang-7/dbgsym-root/usr/lib/debug/.build-id/37/ba506ae9d2f82219bf5c552f7c09853052b2b0.debug': Operation not permitted + : # Therefore, continue when we encounter an error + PATH=$(CURDIR)/:$$PATH LD_LIBRARY_PATH=$(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/:/usr/lib/*/libfakeroot dh_strip -a -v || true + : # Remove the workaround + rm $(CURDIR)/strip + : # for some reasons, the +x might be removed + chmod -f +x $(CURDIR)/debian/*/usr/lib/llvm-$(LLVM_VERSION)/bin/* || true +else + dh_strip -a -v +endif + +override_dh_install: +# cp $(TARGET_BUILD)/lib/libLLVM-$(LLVM_VERSION).so $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/libLLVM-$(LLVM_VERSION).so.$(SONAME_EXT) +ifeq (${POLLY_ENABLE},yes) +# only for arch:any builds +ifneq (,$(filter libclang-common-$(LLVM_VERSION)-dev, $(shell dh_listpackages))) + dh_install -p libclang-common-$(LLVM_VERSION)-dev usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/polly/*.cmake usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/polly +# On old Debian & Ubuntu, removing the files is necessary + rm -rf debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/polly/*.cmake +else + rm -rf $(CURDIR)/debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/polly/*.cmake +endif +endif + dh_install --fail-missing + +override_dh_installdeb: +# Managed by the package + dh_installdeb -a + + rm -f $(CURDIR)/debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib/python*/*-packages/lldb/__init__.pyc $(CURDIR)/debian/python*-lldb-$(LLVM_VERSION)/usr/lib/llvm-$(LLVM_VERSION)/lib/python*/*-packages/lldb/__init__.pyc + rm -f $(CURDIR)/debian/clang-$(LLVM_VERSION)-examples/usr/share/doc/clang-$(LLVM_VERSION)-examples/examples/*Make* + +# Remove auto generated python pyc + find $(CURDIR)/debian/llvm-$(LLVM_VERSION)-tools/usr/lib/llvm-$(LLVM_VERSION)/ -name '*.pyc' | xargs -r rm -f + +ifeq (${RUN_TEST},yes) +# List of the archs we know we have 100 % tests working +ARCH_LLVM_TEST_OK := i386 amd64 + +override_dh_auto_test: + +# LLVM tests +ifneq (,$(findstring $(DEB_HOST_ARCH),$(ARCH_LLVM_TEST_OK))) +# logs the output to check-llvm_build_log.txt for validation through autopkgtest + $(MAKE) $(NJOBS) -C $(TARGET_BUILD) stage2-check-llvm | tee check-llvm_build_log.txt +else + $(MAKE) $(NJOBS) -C $(TARGET_BUILD) stage2-check-llvm || true +endif + +# Clang tests + $(MAKE) $(NJOBS) -C $(TARGET_BUILD) stage2-check-clang || true + +# Clang extra tests (ex: clang-tidy) + $(MAKE) $(NJOBS) -C $(TARGET_BUILD_STAGE2) check-clang-tools || true + +# LLD tests +ifeq (${LLD_ENABLE},yes) + $(MAKE) $(NJOBS) -C $(TARGET_BUILD_STAGE2) check-lld || true +endif + +# Sanitizer + $(MAKE) $(NJOBS) -C $(TARGET_BUILD_STAGE2) check-sanitizer || true + +# Libcxx + $(MAKE) $(NJOBS) -C libcxx/build check-libcxx || true + +# Libcxxabi + $(MAKE) $(MAKE) -C libcxxabi/build check-libcxxabi || true + +# LLDB tests +ifeq (,$(filter $(DEB_HOST_ARCH), $(LLDB_DISABLE_ARCHS) armhf armel)) +ifneq (,$(filter codecoverage,$(DEB_BUILD_OPTIONS))) +# Create a symlink to run the testsuite: see https://bugs.archlinux.org/task/50759 + cd $(CURDIR)/$(TARGET_BUILD)/lib/python*/*-packages/; \ + if test ! -e _lldb.so; then \ + ln -s lldb/_lldb.so; \ + fi + if test "$(CODECOVERAGE)" = "no"; then \ + LD_LIBRARY_PATH=$$LD_LIBRARY_PATH:$(CURDIR)/$(TARGET_BUILD)/lib/ $(MAKE) $(NJOBS) -C $(TARGET_BUILD) check-lldb || true; \ + fi + # remove the workaround + rm $(CURDIR)/$(TARGET_BUILD)/lib/python*/*-packages/_lldb.so +endif +endif + +# Polly tests +#ifeq (${POLLY_ENABLE},yes) +# $(MAKE) $(NJOBS) -C $(TARGET_BUILD) check-polly || true +#endif + +# Managed by debian build system + rm -f $(CURDIR)/$(TARGET_BUILD)/lib/python*/*-packages/lldb/_lldb.so + +# The compression of the code coverage report is done in the +# hook B21GetCoverageResults on the server + if test "$(CODECOVERAGE)" = "yes"; then \ + REPORT=reports/llvm-toolchain.info; \ + mkdir -p reports/; \ + lcov --directory $(TARGET_BUILD)/ --capture --ignore-errors source --output-file $$REPORT; \ + lcov --remove $$REPORT "/usr*" -o $$REPORT; \ + genhtml -o reports/coverage --show-details --highlight --legend $$REPORT; \ + chmod 0755 `find reports/coverage -type d`; \ + chmod 0644 `find reports/coverage -type f`; \ + fi +else +override_dh_auto_test: + @echo "Skipping tests" +endif + + +override_dh_gencontrol: + dh_gencontrol -- $(control_vars) + + +override_dh_auto_clean: + rm -rf $(TARGET_BUILD) tools/clang/include/clang/Debian/debian_path.h docs/_build/ clang/docs/_build tools/clang/docs/_html/ +# QA tools + rm -rf cov-int/ reports/ + rm -f `ls debian/*.in|sed -e "s|.in$$||g"` + find utils -name '*.pyc' | xargs -r rm -f + # Use -I because a test has a space in its name + find lldb/test -iname '*.pyc' | xargs -I{} -r rm -f {} + find test -name '*.pyc' -o -name '*.cm[ix]' | xargs -r rm -f + find test/Bindings -name '*.o' | xargs -r rm -f + rm -f tools/clang tools/polly tools/lld tools/lldb projects/compiler-rt + rm -rf tools/clang/tools/extra clang/tools/extra/ + rm -f $(CURDIR)/utils/vim/llvm-$(LLVM_VERSION).vim $(CURDIR)/utils/vim/tablegen-$(LLVM_VERSION).vim + rm -f $(CURDIR)/clang/tools/clang-format/clang-format-diff-$(LLVM_VERSION) + rm -f $(CURDIR)/clang/tools/clang-format/clang-format-$(LLVM_VERSION).py + rm -rf libcxx/build libcxxabi/build + if test -f lld/docs/ld.lld-$(LLVM_VERSION).1; then \ + mv lld/docs/ld.lld-$(LLVM_VERSION).1 lld/docs/ld.lld.1; \ + fi + +.PHONY: override_dh_strip preconfigure debian-full-build debian-libfuzzer-build debian-libcxx-build debian-libcxxabi-build diff --git a/source/format b/source/format new file mode 100644 index 000000000..163aaf8d8 --- /dev/null +++ b/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/source/lintian-overrides b/source/lintian-overrides new file mode 100644 index 000000000..a356a3fe4 --- /dev/null +++ b/source/lintian-overrides @@ -0,0 +1,21 @@ +# Removed by patch remove-dbtree.diff +source: source-is-missing clang/www/analyzer/scripts/dbtree.js +# No longer used (we are using cmake now) +source: outdated-autotools-helper-file autoconf/config.guess 2011-08-20 +source: outdated-autotools-helper-file autoconf/config.sub 2011-11-02 +# Reported here https://bugs.llvm.org/show_bug.cgi?id=32962 +# No activity, silent it to avoid false positive in automation +source: license-problem-convert-utf-code llvm/lib/Support/ConvertUTF.cpp +# A unit test. No big deal +source: source-is-missing lldb/unittests/ObjectFile/ELF/Inputs/early-section-headers.so +# Generated See https://github.com/llvm-mirror/lldb/commit/7aee683f410ffc27b61a8e9779b9df9a7c0fff7d#diff-dcfea8d8a36846a00781105f8618e06d +source: source-is-missing lldb/lit/Modules/ELF/Inputs/PT_LOAD-overlap-section.elf + +# Makes sense for the testsuites +source: source-contains-prebuilt-windows-binary lldb/unittests/SymbolFile/DWARF/Inputs/test-dwarf.exe +source: source-contains-prebuilt-windows-binary lldb/unittests/SymbolFile/PDB/Inputs/test-pdb-types.exe +source: source-contains-prebuilt-windows-binary lldb/unittests/SymbolFile/PDB/Inputs/test-pdb.exe +source: source-is-missing lldb/lit/Modules/ELF/Inputs/netbsd-amd64.core +source: source-is-missing llgo/third_party/gofrontend/libgo/go/debug/dwarf/testdata/*.elf* +source: source-is-missing llgo/third_party/gofrontend/libgo/go/debug/elf/testdata/gcc-*-exec +source: source-is-missing llgo/third_party/gofrontend/libgo/go/debug/elf/testdata/*.obj diff --git a/tests/cmake-test b/tests/cmake-test new file mode 100755 index 000000000..97f8bb2c9 --- /dev/null +++ b/tests/cmake-test @@ -0,0 +1,37 @@ +#!/bin/sh + +set -e + +# this is taken from libjsoncpp package +# Presence of $ADTTMP implies that someone will handle cleanup for us, so we +# can avoid duplicating the effort (signal handling, etc.) here. +if [ -z "$ADTTMP" ] +then + echo "Required envvar ADTTMP \"$ADTTMP\" is not set" >&2 + exit 1 +fi + + +# the idea was taken from spirv-llvm-translator package + +cd "$ADTTMP" +cat < CMakeLists.txt +cmake_minimum_required(VERSION 2.6.2) +project(cmake-test) +find_package(LLVM 10.0.0 REQUIRED + COMPONENTS + Analysis + BitReader + BitWriter + Core + Support + TransformUtils + llvm-as + llvm-dis +) + +EOF + + +mkdir build && cd build +cmake .. diff --git a/tests/control b/tests/control new file mode 100644 index 000000000..fd7e80d7e --- /dev/null +++ b/tests/control @@ -0,0 +1,19 @@ +Test-Command: bash -v ./debian/qualify-clang.sh +Depends: @, cmake, g++, file, dpkg-dev, binfmt-support +# Comment the dbgsym package because of bug #917528 +# dbgsym packages not being available in testing +# clang-10-dbgsym, libclang1-10-dbgsym +Restrictions: allow-stderr + +Tests: integration-test-suite-test +Depends: @, cmake, libstdc++-9-dev, g++ +Restrictions: allow-stderr + +Tests: cmake-test +Depends: gcc, build-essential, cmake, llvm-10-dev, libclang-common-10-dev + +Test-Command: python3 -c "import lldb; print(lldb.__file__); print(lldb)" +Depends: python3-lldb-10 + +Test-Command: python3 -c "import clang; print(clang.__file__); print(clang)" +Depends: python3-clang-10 diff --git a/tests/integration-test-suite-test b/tests/integration-test-suite-test new file mode 100755 index 000000000..328c0edc6 --- /dev/null +++ b/tests/integration-test-suite-test @@ -0,0 +1,39 @@ +#!/bin/sh + +set -e + +LLVM_VERSION=10 + +# this is taken from libjsoncpp package +# Presence of $ADTTMP implies that someone will handle cleanup for us, so we +# can avoid duplicating the effort (signal handling, etc.) here. +if [ -z "$ADTTMP" ] +then + echo "Required envvar ADTTMP \"$ADTTMP\" is not set" >&2 + exit 1 +fi + +# Copy the integration repo to the temp dir +cp -Rv integration-test-suite/* "$ADTTMP"/ +cd "$ADTTMP" + +mkdir build +cd build +cmake -DLIT=/usr/lib/llvm-$LLVM_VERSION/build/utils/lit/lit.py \ + -DCLANG_BINARY=/usr/bin/clang-$LLVM_VERSION \ + -DCLANGXX_BINARY=/usr/bin/clang++-$LLVM_VERSION \ + -DCLANG_TIDY_BINARY=/usr/bin/clang-tidy-$LLVM_VERSION \ + -DCLANG_FORMAT_BINARY=/usr/bin/clang-format-$LLVM_VERSION \ + -DLLD_BINARY=/usr/bin/lld-$LLVM_VERSION \ + -DLLDB_BINARY=/usr/bin/lldb-$LLVM_VERSION \ + -DLLVMCONFIG_BINARY=/usr/bin/llvm-config-$LLVM_VERSION \ + -DOPT_BINARY=/usr/bin/opt-$LLVM_VERSION \ + -DSCANBUILD=/usr/bin/scan-build-$LLVM_VERSION \ + -DCLANG_TIDY_BINARY=/usr/bin/clang-tidy-$LLVM_VERSION \ + -DSCANVIEW=/usr/bin/scan-view-$LLVM_VERSION \ + -DLLVMNM=/usr/bin/llvm-nm-$LLVM_VERSION \ + -DLLVMPROFDATA=/usr/bin/llvm-profdata-$LLVM_VERSION \ + -DENABLE_COMPILER_RT=OFF \ + -DENABLE_LIBCXX=ON \ + -DLLVM_CMAKE_PREFIX_PATH=/usr/lib/llvm-$LLVM_VERSION/lib/cmake/ ../ +make check diff --git a/unpack.sh b/unpack.sh new file mode 100644 index 000000000..d4604a6dc --- /dev/null +++ b/unpack.sh @@ -0,0 +1,26 @@ +set -e +ORIG_VERSION=10 +MAJOR_VERSION=10.0.1 +REV=`ls -1 *$ORIG_VERSION_$MAJOR_VERSION*~+*xz | tail -1|perl -ne 'print "$1\n" if /~\+(.*)\.orig/;' | sort -ru` + +VERSION=$REV + +if test -z "$VERSION"; then + echo "Could not find the version" + exit 0 +fi +LLVM_ARCHIVE=llvm-toolchain-${ORIG_VERSION}_$MAJOR_VERSION~+$VERSION.orig.tar.xz +echo "unpack of $LLVM_ARCHIVE" +tar Jxf $LLVM_ARCHIVE +cd llvm-toolchain-${ORIG_VERSION}_$MAJOR_VERSION~+$VERSION/ + +VER_FOUND=$(grep "PACKAGE_VERSION " libcxx/CMakeLists.txt|awk '{print $2}'|cut -d\) -f1) +if test "${MAJOR_VERSION}.0.0" != "$VER_FOUND" -a "${MAJOR_VERSION}" != "$VER_FOUND"; then + echo "Mismatch of version" + echo "Expected $MAJOR_VERSION / Found $VER_FOUND" + echo "Update unpack.sh" + exit 1 +fi + +cp -R ../$ORIG_VERSION/debian . +QUILT_PATCHES=debian/patches/ quilt push -a --fuzz=0 diff --git a/watch b/watch new file mode 100644 index 000000000..a6d1751fc --- /dev/null +++ b/watch @@ -0,0 +1,3 @@ +version=3 +https://llvm.org/releases/download.html .*/llvm-([\d\.\-]+).src.tar.xz + -- 2.30.2