From: Sylvestre Ledru Date: Sat, 7 Nov 2020 14:53:51 +0000 (+0000) Subject: llvm-toolchain-11 (1:11.0.0-5) unstable; urgency=medium X-Git-Tag: archive/raspbian/1%11.0.0-5+rpi1~76 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=52a19b5d14fc6199e9fc93134896a0f1b146babc;p=llvm-toolchain-11.git llvm-toolchain-11 (1:11.0.0-5) unstable; urgency=medium [ Adrian Bunk ] * Fix the fuzzer build on i386. [ Sylvestre Ledru ] * Ignore some tests on i386 to get autopkgtest fixed (Closes: #972334) [dgit import unpatched llvm-toolchain-11 1:11.0.0-5] --- 52a19b5d14fc6199e9fc93134896a0f1b146babc diff --cc debian/NEWS index 000000000,000000000..edd628b74 new file mode 100644 --- /dev/null +++ b/debian/NEWS @@@ -1,0 -1,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 --cc debian/README index 000000000,000000000..7e86a204c new file mode 100644 --- /dev/null +++ b/debian/README @@@ -1,0 -1,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 --cc debian/README.source index 000000000,000000000..a5b685cc9 new file mode 100644 --- /dev/null +++ b/debian/README.source @@@ -1,0 -1,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, MADD4 instructions are disabled. ++ ++* 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 --cc debian/TODO index 000000000,000000000..b0f378d5b new file mode 100644 --- /dev/null +++ b/debian/TODO @@@ -1,0 -1,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 --cc debian/changelog index 000000000,000000000..57295daf8 new file mode 100644 --- /dev/null +++ b/debian/changelog @@@ -1,0 -1,0 +1,4189 @@@ ++llvm-toolchain-11 (1:11.0.0-5) unstable; urgency=medium ++ ++ [ Adrian Bunk ] ++ * Fix the fuzzer build on i386. ++ ++ [ Sylvestre Ledru ] ++ * Ignore some tests on i386 to get autopkgtest fixed (Closes: #972334) ++ ++ -- Sylvestre Ledru Sat, 07 Nov 2020 15:53:51 +0100 ++ ++llvm-toolchain-11 (1:11.0.0-4) unstable; urgency=medium ++ ++ * Cherry-pick some fixes from ++ https://github.com/opencollab/llvm-toolchain-integration-test-suite/ ++ * Only install hwasan_symbolize when found ++ * Don't use gold on ppc64el. It fails to build in that case ++ (Closes: #972317) ++ ++ [ John Paul Adrian Glaubitz ] ++ * Limit maximum parallel link jobs to 4 on sparc and sparc64 ++ ++ -- Sylvestre Ledru Sat, 31 Oct 2020 21:49:01 +0100 ++ ++llvm-toolchain-11 (1:11.0.0-3) unstable; urgency=medium ++ ++ [ Sylvestre Ledru ] ++ * Rebuild to fix the coinstall issues (Closes: #972323) ++ * Replace use of deprecated $ADTTMP with $AUTOPKGTEST_TMP. ++ ++ -- Sylvestre Ledru Mon, 19 Oct 2020 14:21:50 +0200 ++ ++llvm-toolchain-11 (1:11.0.0-2) unstable; urgency=medium ++ ++ * Fix a clang-format issue. Fix bug #47589 ++ ++ -- Sylvestre Ledru Mon, 12 Oct 2020 15:15:27 +0200 ++ ++llvm-toolchain-11 (1:11.0.0-1) unstable; urgency=medium ++ ++ * New upstream release ++ ++ -- Sylvestre Ledru Mon, 12 Oct 2020 11:14:19 +0200 ++ ++llvm-toolchain-11 (1:11.0.0~+rc6-1) unstable; urgency=medium ++ ++ [ Sylvestre Ledru ] ++ * New rc release ++ * remove all artifacts after tests ++ ++ [ Gianfranco Costamagna ] ++ * qualify-clang.sh: exclude z3 tests when support is not available, ++ not based on libz3-dev installation but on the error returned by ++ clang invocation ++ ++ -- Sylvestre Ledru Wed, 07 Oct 2020 16:38:40 +0200 ++ ++llvm-toolchain-11 (1:11.0.0~+rc5-1) unstable; urgency=medium ++ ++ * New rc release ++ ++ -- Sylvestre Ledru Wed, 30 Sep 2020 20:15:40 +0200 ++ ++llvm-toolchain-11 (1:11.0.0~+rc4-1) unstable; urgency=medium ++ ++ * New rc release ++ * Fix one more test in autopkgtest ++ ++ -- Sylvestre Ledru Mon, 28 Sep 2020 22:21:47 +0200 ++ ++llvm-toolchain-11 (1:11.0.0~+rc3-2) unstable; urgency=medium ++ ++ * Update of the symbol list of libomp5: ++ - GOMP_loop_maybe_nonmonotonic_runtime_next ++ - GOMP_loop_maybe_nonmonotonic_runtime_start ++ - GOMP_loop_nonmonotonic_runtime_next ++ - GOMP_loop_nonmonotonic_runtime_start ++ - GOMP_loop_ull_maybe_nonmonotonic_runtime_next ++ - GOMP_loop_ull_maybe_nonmonotonic_runtime_start ++ - GOMP_loop_ull_nonmonotonic_runtime_next ++ - GOMP_loop_ull_nonmonotonic_runtime_start ++ - GOMP_parallel_loop_maybe_nonmonotonic_runtime ++ - GOMP_parallel_loop_nonmonotonic_runtime ++ - omp_display_env ++ * Bring back LLVM_POLLY_LINK_INTO_TOOLS=ON to workaround the error ++ clang (LLVM option parsing): Unknown command line argument '-polly'. ++ Try: 'clang (LLVM option parsing) --help' ++ Also found in autopkgtest ++ * In the autopkgtest tests, update the opt arguments (-q removed and ++ -basicaa renamed to -basic-aa) ++ * Disable test executions on mipsel (timeout) ++ ++ -- Sylvestre Ledru Sun, 27 Sep 2020 14:26:16 +0200 ++ ++llvm-toolchain-11 (1:11.0.0~+rc3-1) unstable; urgency=medium ++ ++ * New rc release ++ ++ -- Sylvestre Ledru Tue, 22 Sep 2020 17:19:40 +0200 ++ ++llvm-toolchain-11 (1:11.0.0~+rc2-6) unstable; urgency=medium ++ ++ * Fix "libc++-11-dev includes libc++abi-11-dev headers" ++ (Closes: #969274) ++ * Install llvm examples in llvm-11-examples (Closes: #969339) ++ ++ -- Sylvestre Ledru Mon, 07 Sep 2020 13:32:26 +0200 ++ ++llvm-toolchain-11 (1:11.0.0~+rc2-5) unstable; urgency=medium ++ ++ [ John Paul Adrian Glaubitz ] ++ * Link against libatomic on powerpc to fix FTBFS in stage2 ++ * 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:26:58 +0200 ++ ++llvm-toolchain-11 (1:11.0.0~+rc2-4) unstable; urgency=medium ++ ++ * integration-test-suite-test: change the configuration for 11 ++ ++ -- Sylvestre Ledru Fri, 28 Aug 2020 23:08:33 +0200 ++ ++llvm-toolchain-11 (1:11.0.0~+rc2-3) unstable; urgency=medium ++ ++ * Fix testsuite by ignoring binfmts test ++ (can't be enabled on autopkgtests) ++ ++ -- Gianfranco Costamagna Fri, 28 Aug 2020 21:56:49 +0200 ++ ++llvm-toolchain-11 (1:11.0.0~+rc2-2) unstable; urgency=medium ++ ++ [ Gianfranco Costamagna ] ++ * Disable ocaml support on i386, not reasonable to support it there ++ (specially for Ubuntu) ++ * Enable binfmt support before using it in tests, to fix them ++ ++ [ Sylvestre Ledru ] ++ * Also link against -latomic on mipsel to fix ++ /usr/[...]/atomic_base.h:426: undefined reference to `__atomic_load_8' ++ for lld to fix the FTBFS ++ * Fix a FTBFS on armel with libcxx-armhf-ftbfs.diff ++ atomic:2780:16: error: use of undeclared identifier '__libcpp_signed_lock_free' ++ typedef atomic<__libcpp_signed_lock_free> atomic_signed_lock_free; ++ ^ ++ atomic:2781:16: error: unknown type name '__libcpp_unsigned_lock_free'; did you mean 'atomic_signed_lock_free'? ++ typedef atomic<__libcpp_unsigned_lock_free> atomic_unsigned_lock_free; ++ ++ -- Sylvestre Ledru Tue, 25 Aug 2020 10:44:00 +0200 ++ ++llvm-toolchain-11 (1:11.0.0~+rc2-1) unstable; urgency=medium ++ ++ * New snapshot release ++ ++ -- Sylvestre Ledru Thu, 20 Aug 2020 22:17:47 +0200 ++ ++llvm-toolchain-11 (1:11.0.0~+rc1-2) unstable; urgency=medium ++ ++ * Don't install ompt-multiplex.h on armhf, mipsel and mips64el ++ (Closes: #967944) ++ ++ -- Sylvestre Ledru Wed, 05 Aug 2020 15:23:25 +0200 ++ ++llvm-toolchain-11 (1:11.0.0~+rc1-1) unstable; urgency=medium ++ ++ * Testing release ++ ++ -- Sylvestre Ledru Wed, 29 Jul 2020 17:46:57 +0200 ++ ++llvm-toolchain-11 (1:11~++20200715043845+0e377e253c1-1~exp1) experimental; urgency=medium ++ ++ [ Sylvestre Ledru ] ++ * branching of snapshot into 11 ++ ++ [ Samuel Thibault ] ++ * debian/patches/hurd/hurd-EIEIO-undef.diff: Remove, upstreamed. ++ * debian/patches/hurd/hurd-cxx-paths.diff: Remove, upstreamed. ++ ++ -- Sylvestre Ledru Wed, 15 Jul 2020 16:30:36 +0200 ++ ++llvm-toolchain-snapshot (1:11~++20200701093119+ffee8040534-1~exp1) experimental; urgency=medium ++ ++ * New snapshot release ++ * libc++ requires the LLVM_PATH, adding it ++ * Remove no-z3.patch, seems to be merged upstream ++ * No longer install clang-import-test (upstream change) ++ See https://reviews.llvm.org/D82169 ++ ++ -- Sylvestre Ledru Wed, 01 Jul 2020 09:34:28 +0200 ++ ++llvm-toolchain-snapshot (1:11~++20200623122106+cd6848f6e1d-1~exp1) experimental; urgency=medium ++ ++ * experimental New snapshot release ++ * Add -DLLVM_POLLY_LINK_INTO_TOOLS=OFF to workaround ++ https://bugs.llvm.org/show_bug.cgi?id=45571 ++ * New symbol clang_Type_getValueType added ++ * Install usr/lib/llvm-11/lib/cmake/lld/*.cmake ++ in liblld-11-dev ++ * Upstream change ad97ccf6b26a29262c9cbf5b3e7f6e84c6dcf55f ++ broke clangd-atomic-cmake.patch causing some undef symbol on ++ i386 and atomic ++ * Also install ompt-multiplex.h in libomp-X-dev ++ * revert-sphinx-deprecation.diff: revert the sphinx update as it breaks ++ debian buster ++ ++ -- Sylvestre Ledru Tue, 23 Jun 2020 00:24:07 +0200 ++ ++llvm-toolchain-snapshot (1:11~++20200621103028+10b0539772d-1~exp1) UNRELEASED; urgency=medium ++ ++ * experimental New snapshot release ++ * Add -DLLVM_POLLY_LINK_INTO_TOOLS=OFF to workaround ++ https://bugs.llvm.org/show_bug.cgi?id=45571 ++ * New symbol clang_Type_getValueType added ++ * Install usr/lib/llvm-11/lib/cmake/lld/*.cmake ++ in liblld-11-dev ++ * Upstream change ad97ccf6b26a29262c9cbf5b3e7f6e84c6dcf55f ++ broke clangd-atomic-cmake.patch causing some undef symbol on ++ i386 and atomic ++ * Also install ompt-multiplex.h in libomp-X-dev ++ * revert-sphinx-deprecation.diff: revert the sphinx update as it breaks debian ++ buster ++ * experimental New snapshot release ++ * Add -DLLVM_POLLY_LINK_INTO_TOOLS=OFF to workaround ++ https://bugs.llvm.org/show_bug.cgi?id=45571 ++ * New symbol clang_Type_getValueType added ++ * Install usr/lib/llvm-11/lib/cmake/lld/*.cmake ++ in liblld-11-dev ++ * Upstream change ad97ccf6b26a29262c9cbf5b3e7f6e84c6dcf55f ++ broke clangd-atomic-cmake.patch causing some undef symbol on ++ i386 and atomic ++ * experimental New snapshot release ++ * experimental New snapshot release ++ * experimental New snapshot release ++ * experimental New snapshot release ++ * experimental New snapshot release ++ * experimental New snapshot release ++ * experimental New snapshot release ++ ++ -- Sylvestre Ledru Sun, 21 Jun 2020 10:33:23 +0200 ++ ++llvm-toolchain-snapshot (1:11~++20200410111154+35052267023-1~exp1) experimental; urgency=medium ++ ++ * New snapshot release ++ * Bring back libc++-experimental ++ * remove no-cgi.patch - applied upstream ++ * Also install liblldMachO2.a in liblld ++ * Reoder the cmake arg ++ * Update the copyright file with recent changes (Closes: #956287) ++ Thanks to Michael Lustfield for the detective work ++ ++ -- Sylvestre Ledru Sat, 11 Apr 2020 12:03:35 +0200 ++ ++llvm-toolchain-snapshot (1:11~++20200409051253+d08105482e1-1~exp1) experimental; urgency=medium ++ ++ * New snapshot release ++ * Bring back libc++-experimental ++ * remove no-cgi.patch - applied upstream ++ * Also install liblldMachO2.a in liblld ++ * Reoder the cmake arg ++ * Update the copyright file with recent changes (Closes: #956287) ++ Thanks to Michael Lustfield for the detective work ++ ++ -- Sylvestre Ledru Thu, 09 Apr 2020 17:21:05 +0200 ++ ++llvm-toolchain-snapshot (1:11~++20200307074845+ec1d1f6ae70-1~exp1) experimental; urgency=medium ++ ++ [ Sylvestre Ledru ] ++ * experimental New snapshot release ++ * Install clang-tidy headers in libclang-X.Y-dev ++ Path: usr/lib/llvm-11/include/clang-tidy/ ++ Introduced upstream in https://reviews.llvm.org/D73236 ++ ++ [ Samuel Thibault ] ++ * hurd/hurd-cxx-paths.diff: Drop part of patch applied upstream, fix it so ++ it can be applied. ++ * clang-tools-X.Y.install.in: Do not try to install hwasan_symbolize on ++ hurd-any. ++ ++ [ Gianfranco Costamagna ] ++ * Add patch to port from old cgi to new html python3 method ++ ++ -- Sylvestre Ledru Sat, 07 Mar 2020 19:51:40 +0100 ++ ++llvm-toolchain-snapshot (1:11~++20200123111717+04fd2041561-1~exp1) experimental; urgency=medium ++ ++ [ Sylvestre Ledru ] ++ * experimental New snapshot release - 11 ++ * Merge recent 9 changes (python 3 and testsuite mostly) ++ ++ [ 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 Thu, 23 Jan 2020 14:52:30 +0100 ++ ++llvm-toolchain-10 (1:10.0.1-8) unstable; urgency=medium ++ ++ * Don't use gold on ppc64el. It fails to build in that case ++ (Closes: #972317) ++ ++ -- Sylvestre Ledru Sat, 31 Oct 2020 14:13:25 +0100 ++ ++llvm-toolchain-10 (1:10.0.1-7) unstable; urgency=medium ++ ++ [ Samuel Thibault ] ++ * debian/patches/hurd/hurd-cxx-paths.diff: Add missing GCC installation ++ initialization. ++ ++ [ Sylvestre Ledru ] ++ * Replace use of deprecated $ADTTMP with $AUTOPKGTEST_TMP. ++ * Rebuild to address the incompat issues (Closes: #972282) ++ ++ -- Sylvestre Ledru Thu, 22 Oct 2020 22:29:07 +0200 ++ ++llvm-toolchain-10 (1:10.0.1-6) unstable; urgency=medium ++ ++ [ Sylvestre Ledru ] ++ * Add debian/* to the copyright file. Uses the same license ++ as LLVM ++ ++ [ Julien Cristau ] ++ * Cherry-pick "[PowerPC] PPCBoolRetToInt: Don't translate Constant's ++ operands". Fixes rustc crash building firefox-esr. ++ ++ -- Sylvestre Ledru Wed, 02 Sep 2020 13:55:46 +0200 ++ ++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-15) unstable; urgency=low ++ ++ * Replace use of deprecated $ADTTMP with $AUTOPKGTEST_TMP. ++ * Ensure fixfilepath feature is disabled. The fixfilepath ++ feature sets a -ffile-prefix-map flag, which is only ++ supported in clang-10. (Closes: #972751). ++ Thanks to Vagrant Cascadian for the patch ++ * Don't use gold on ppc64el. It fails to build in that case ++ (Closes: #972317) ++ ++ -- Sylvestre Ledru Sat, 31 Oct 2020 14:09:15 +0100 ++ ++llvm-toolchain-9 (1:9.0.1-14) unstable; urgency=medium ++ ++ * debian/patches/b288d90b39f4b905c02092a9bfcfd6d78f99b191.patch: ++ * debian/patches/3185c30c54d0af5bffbff3bcfd721668d086ff10.patch: ++ - cherry-pick upstream fixes for ppc64el build failure (Closes: #968174) ++ * Previous version closed bug: 964988 (Closes: #964988) ++ ++ -- Gianfranco Costamagna Sat, 15 Aug 2020 21:53:41 +0200 ++ ++llvm-toolchain-9 (1:9.0.1-13) unstable; urgency=medium ++ ++ [ Aurelien Jarno ] ++ * Add mips-force-nomadd4.diff to default to +nomadd4 on MIPS. (Closes: ++ #964988) ++ ++ [ Ximin Luo ] ++ * Add 373184.patch to fix soundness issue affecting rustc. (Closes: #959877) ++ * Add f8e146f3430de3a6cd904f3f3f7aa1bfaefee14c.patch to fix big-endian ++ miscompilation affecting rustc. ++ ++ -- Sylvestre Ledru Tue, 07 Jul 2020 18:18:00 +0200 ++ ++llvm-toolchain-9 (1:9.0.1-12) unstable; urgency=medium ++ ++ * Cherry-pick upstream patch D74453 to fix atomic compare-and-swap on ++ riscv64. ++ 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). ++ ++ -- 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 --cc debian/clang-X.Y-doc.docs.in index 000000000,000000000..8c9084cfb new file mode 100644 --- /dev/null +++ b/debian/clang-X.Y-doc.docs.in @@@ -1,0 -1,0 +1,2 @@@ ++clang/docs/_build/html/ ++ diff --cc debian/clang-X.Y-doc.install.in index 000000000,000000000..20e442da3 new file mode 100644 --- /dev/null +++ b/debian/clang-X.Y-doc.install.in @@@ -1,0 -1,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 --cc debian/clang-X.Y-examples.examples.in index 000000000,000000000..49cbc5fef new file mode 100644 --- /dev/null +++ b/debian/clang-X.Y-examples.examples.in @@@ -1,0 -1,0 +1,1 @@@ ++clang/examples/* diff --cc debian/clang-X.Y.install.in index 000000000,000000000..c92899f22 new file mode 100644 --- /dev/null +++ b/debian/clang-X.Y.install.in @@@ -1,0 -1,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 --cc debian/clang-X.Y.links.in index 000000000,000000000..412b2ca06 new file mode 100644 --- /dev/null +++ b/debian/clang-X.Y.links.in @@@ -1,0 -1,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 --cc debian/clang-X.Y.lintian-overrides.in index 000000000,000000000..4c1295bc3 new file mode 100644 --- /dev/null +++ b/debian/clang-X.Y.lintian-overrides.in @@@ -1,0 -1,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 --cc debian/clang-X.Y.manpages.in index 000000000,000000000..b19400aff new file mode 100644 --- /dev/null +++ b/debian/clang-X.Y.manpages.in @@@ -1,0 -1,0 +1,1 @@@ ++clang/docs/_build/man/clang-@LLVM_VERSION@.1 diff --cc debian/clang-format-X.Y.install.in index 000000000,000000000..d3a18a58b new file mode 100644 --- /dev/null +++ b/debian/clang-format-X.Y.install.in @@@ -1,0 -1,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 --cc debian/clang-format-X.Y.lintian-overrides.in index 000000000,000000000..aa7867993 new file mode 100644 --- /dev/null +++ b/debian/clang-format-X.Y.lintian-overrides.in @@@ -1,0 -1,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 --cc debian/clang-format-X.Y.manpages.in index 000000000,000000000..db4dd8f72 new file mode 100644 --- /dev/null +++ b/debian/clang-format-X.Y.manpages.in @@@ -1,0 -1,0 +1,3 @@@ ++debian/man/clang-format-diff-@LLVM_VERSION@.1 ++debian/man/clang-format-@LLVM_VERSION@.1 ++ diff --cc debian/clang-tidy-X.Y.install.in index 000000000,000000000..ef992c58d new file mode 100644 --- /dev/null +++ b/debian/clang-tidy-X.Y.install.in @@@ -1,0 -1,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 --cc debian/clang-tidy-X.Y.links.in index 000000000,000000000..ad03ae1d5 new file mode 100644 --- /dev/null +++ b/debian/clang-tidy-X.Y.links.in @@@ -1,0 -1,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 --cc debian/clang-tidy-X.Y.lintian-overrides.in index 000000000,000000000..c915da605 new file mode 100644 --- /dev/null +++ b/debian/clang-tidy-X.Y.lintian-overrides.in @@@ -1,0 -1,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 --cc debian/clang-tidy-X.Y.manpages.in index 000000000,000000000..fa4a8146f new file mode 100644 --- /dev/null +++ b/debian/clang-tidy-X.Y.manpages.in @@@ -1,0 -1,0 +1,1 @@@ ++debian/man/clang-tidy-@LLVM_VERSION@.1 diff --cc debian/clang-tools-X.Y.install.in index 000000000,000000000..39accc7dc new file mode 100644 --- /dev/null +++ b/debian/clang-tools-X.Y.install.in @@@ -1,0 -1,0 +1,67 @@@ ++#!/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/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-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 --cc debian/clang-tools-X.Y.links.in index 000000000,000000000..d6a04c711 new file mode 100644 --- /dev/null +++ b/debian/clang-tools-X.Y.links.in @@@ -1,0 -1,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 --cc debian/clang-tools-X.Y.lintian-overrides.in index 000000000,000000000..eb04eb713 new file mode 100644 --- /dev/null +++ b/debian/clang-tools-X.Y.lintian-overrides.in @@@ -1,0 -1,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 --cc debian/clang-tools-X.Y.manpages.in index 000000000,000000000..5cb7dbd06 new file mode 100644 --- /dev/null +++ b/debian/clang-tools-X.Y.manpages.in @@@ -1,0 -1,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 --cc debian/clangd-X.Y.install.in index 000000000,000000000..32cec2748 new file mode 100644 --- /dev/null +++ b/debian/clangd-X.Y.install.in @@@ -1,0 -1,0 +1,3 @@@ ++usr/lib/llvm-@LLVM_VERSION@/bin/clangd ++usr/bin/clangd-@LLVM_VERSION@ ++ diff --cc debian/clangd-X.Y.manpages.in index 000000000,000000000..1ac3b604d new file mode 100644 --- /dev/null +++ b/debian/clangd-X.Y.manpages.in @@@ -1,0 -1,0 +1,1 @@@ ++debian/man/clangd-@LLVM_VERSION@.1 diff --cc debian/compat index 000000000,000000000..ec635144f new file mode 100644 --- /dev/null +++ b/debian/compat @@@ -1,0 -1,0 +1,1 @@@ ++9 diff --cc debian/control index 000000000,000000000..a9dd18957 new file mode 100644 --- /dev/null +++ b/debian/control @@@ -1,0 -1,0 +1,661 @@@ ++Source: llvm-toolchain-11 ++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 11 ++Vcs-Browser: https://salsa.debian.org/pkg-llvm-team/llvm-toolchain/tree/11 ++ ++# ------------- clang ------------- ++ ++Package: clang-11 ++Architecture: any ++Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs}, ++ ${dep:devlibs-objc}, libclang-common-11-dev (= ${binary:Version}), ++ libclang1-11 (= ${binary:Version}), libc6-dev, binutils ++Provides: c-compiler, objc-compiler, c++-compiler ++Recommends: llvm-11-dev, python3, libomp-11-dev ++Suggests: clang-11-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-11 ++Architecture: any ++Depends: ${shlibs:Depends}, ${misc:Depends}, clang-11 (= ${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-11 ++Architecture: any ++Depends: ${shlibs:Depends}, ${misc:Depends}, python3, ++ libllvm11 (= ${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-11 ++Architecture: any ++Depends: ${shlibs:Depends}, ${misc:Depends}, python3, ++ libllvm11 (= ${binary:Version}), libclang-common-11-dev, ++ clang-tools-11, 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-11 ++Architecture: any ++Depends: ${shlibs:Depends}, ${misc:Depends}, ++ libclang-common-11-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-11-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-11 ++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-11-dev ++Architecture: any ++Section: libdevel ++Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs}, ++ ${dep:devlibs-objc}, libclang1-11 (= ${binary:Version}), ++ libclang-common-11-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-11. ++ ++Package: libclang-common-11-dev ++Architecture: any ++Section: libdevel ++Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm11 (= ${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-cpp11 ++Section: libs ++Architecture: any ++Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm11 (= ${binary:Version}) ++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 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-cpp11-dev ++Architecture: any ++Section: libdevel ++Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs}, ++ libclang-cpp11 (= ${binary:Version}) ++# Move of libclang-cpp.so into libclang-cpp11.dev ++Breaks: libclang-11-dev (<< 1:11~++20200124010400+805c157e8ae-1~exp1) ++Replaces: libclang-11-dev (<< 1:11~++20200124010400+805c157e8ae-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. ++ . ++ This package contains the Clang headers to develop extensions over ++ libclang-cpp11. ++ ++ ++Package: libfuzzer-11-dev ++Architecture: linux-any ++Section: libdevel ++Depends: ${shlibs:Depends}, ${misc:Depends}, clang-11 (= ${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-11 ++Section: python ++Architecture: any ++Depends: ${shlibs:Depends}, ${misc:Depends}, python3, libclang-11-dev ++Replaces: python-clang-x.y, ++Conflicts: python-clang-x.y ++Provides: python-clang-x.y ++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-11-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: libllvm11 ++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-11 ++Architecture: any ++Suggests: llvm-11-doc ++Depends: llvm-11-runtime (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} ++Recommends: llvm-11-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-11-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-11-dev ++Architecture: any ++Depends: ${shlibs:Depends}, libffi-dev, ${misc:Depends}, ++ llvm-11 (= ${binary:Version}), libllvm11 (= ${binary:Version}), libtinfo-dev, ++ llvm-11-tools (= ${binary:Version}), libclang-cpp11 (= ${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-11-tools ++Architecture: any ++Depends: ${shlibs:Depends}, ${misc:Depends}, python3, ++ python3-pygments, python3-yaml, ++# Because of yaml-bench ++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-11-ocaml-dev ++Section: ocaml ++Architecture: amd64 arm64 armhf ppc64el s390x ++Suggests: llvm-11-doc ++Depends: ${shlibs:Depends}, ${misc:Depends}, ${ocaml:Depends}, llvm-11-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-11-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-11-examples ++Section: doc ++Architecture: all ++Depends: ${misc:Depends}, llvm-11-dev (>= ${source:Version}), llvm-11-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-11 ++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}, libllvm11 (= ${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-11 ++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}, libllvm11 (= ${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-11-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-11 (= ${binary:Version}), ++ liblld-11 (= ${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-11 ++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}, libllvm11 (= ${binary:Version}), llvm-11-dev, ++ python3-lldb-11 ++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-11 ++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}, libllvm11 (= ${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-11 ++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-11 (= ${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-11-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-11 (= ${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-11-dev ++Section: libdevel ++Architecture: amd64 arm64 armhf i386 mips64el ppc64el ppc64 ++Depends: libomp5-11 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} ++Suggests: libomp-11-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-11 ++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-11-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-11 ++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++-11-dev ++Section: libdevel ++Architecture: any ++Multi-Arch: same ++Depends: libc++1-11 (= ${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-11 ++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-11-dev ++Section: libdevel ++Architecture: any ++Multi-Arch: same ++Depends: libc++abi1-11 (= ${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 --cc debian/copyright index 000000000,000000000..853eb2780 new file mode 100644 --- /dev/null +++ b/debian/copyright @@@ -1,0 -1,0 +1,145 @@@ ++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: debian/* ++Copyright: 2003-2020 Sylvestre Ledru and others ++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 --cc debian/debian_path.h index 000000000,000000000..539636f8c new file mode 100644 --- /dev/null +++ b/debian/debian_path.h @@@ -1,0 -1,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 --cc debian/libc++-X.Y-dev.install.in index 000000000,000000000..085f65e1e new file mode 100644 --- /dev/null +++ b/debian/libc++-X.Y-dev.install.in @@@ -1,0 -1,0 +1,4 @@@ ++usr/lib/llvm-@LLVM_VERSION@/lib/libc++.so ++usr/lib/llvm-@LLVM_VERSION@/lib/libc++.a ++usr/lib/llvm-@LLVM_VERSION@/include/c++/ ++usr/lib/llvm-@LLVM_VERSION@/lib/libc++experimental.a diff --cc debian/libc++-X.Y-dev.links.in index 000000000,000000000..73efe8f5d new file mode 100644 --- /dev/null +++ b/debian/libc++-X.Y-dev.links.in @@@ -1,0 -1,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 --cc debian/libc++-X.Y-dev.lintian-overrides.in index 000000000,000000000..ea1059240 new file mode 100644 --- /dev/null +++ b/debian/libc++-X.Y-dev.lintian-overrides.in @@@ -1,0 -1,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 --cc debian/libc++1-X.Y.install.in index 000000000,000000000..78e2cd3b3 new file mode 100644 --- /dev/null +++ b/debian/libc++1-X.Y.install.in @@@ -1,0 -1,0 +1,1 @@@ ++usr/lib/llvm-@LLVM_VERSION@/lib/libc++.so.* diff --cc debian/libc++1-X.Y.links.in index 000000000,000000000..4d1955c57 new file mode 100644 --- /dev/null +++ b/debian/libc++1-X.Y.links.in @@@ -1,0 -1,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 --cc debian/libc++1-X.Y.lintian-overrides.in index 000000000,000000000..d8d46f922 new file mode 100644 --- /dev/null +++ b/debian/libc++1-X.Y.lintian-overrides.in @@@ -1,0 -1,0 +1,1 @@@ ++libc++1-@LLVM_VERSION@: arch-dependent-file-not-in-arch-specific-directory usr/lib/llvm-@LLVM_VERSION@/lib/libc++.so.1.0 diff --cc debian/libc++abi-X.Y-dev.install.in index 000000000,000000000..8774c6aef new file mode 100644 --- /dev/null +++ b/debian/libc++abi-X.Y-dev.install.in @@@ -1,0 -1,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 --cc debian/libc++abi-X.Y-dev.links.in index 000000000,000000000..6dd5f5553 new file mode 100644 --- /dev/null +++ b/debian/libc++abi-X.Y-dev.links.in @@@ -1,0 -1,0 +1,1 @@@ ++usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi.so /usr/lib/@DEB_HOST_MULTIARCH@/libc++abi.so diff --cc debian/libc++abi-X.Y-dev.lintian-overrides.in index 000000000,000000000..e0aa6ed45 new file mode 100644 --- /dev/null +++ b/debian/libc++abi-X.Y-dev.lintian-overrides.in @@@ -1,0 -1,0 +1,1 @@@ ++libc++abi-@LLVM_VERSION@-dev: arch-dependent-file-not-in-arch-specific-directory usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi.a diff --cc debian/libc++abi1-X.Y.install.in index 000000000,000000000..6e27733de new file mode 100644 --- /dev/null +++ b/debian/libc++abi1-X.Y.install.in @@@ -1,0 -1,0 +1,1 @@@ ++usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi.so.* diff --cc debian/libc++abi1-X.Y.links.in index 000000000,000000000..a57ef0655 new file mode 100644 --- /dev/null +++ b/debian/libc++abi1-X.Y.links.in @@@ -1,0 -1,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 --cc debian/libc++abi1-X.Y.lintian-overrides.in index 000000000,000000000..f51d4b1eb new file mode 100644 --- /dev/null +++ b/debian/libc++abi1-X.Y.lintian-overrides.in @@@ -1,0 -1,0 +1,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 --cc debian/libclang-X.Y-dev.install.in index 000000000,000000000..b967aff8d new file mode 100644 --- /dev/null +++ b/debian/libclang-X.Y-dev.install.in @@@ -1,0 -1,0 +1,7 @@@ ++usr/lib/llvm-@LLVM_VERSION@/include/clang ++usr/lib/llvm-@LLVM_VERSION@/include/clang-c ++usr/lib/llvm-@LLVM_VERSION@/include/clang-tidy ++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 --cc debian/libclang-X.Y-dev.links.in index 000000000,000000000..6f99d5bf2 new file mode 100644 --- /dev/null +++ b/debian/libclang-X.Y-dev.links.in @@@ -1,0 -1,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 --cc debian/libclang-common-X.Y-dev.install.in index 000000000,000000000..303ed2ca7 new file mode 100644 --- /dev/null +++ b/debian/libclang-common-X.Y-dev.install.in @@@ -1,0 -1,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 --cc debian/libclang-common-X.Y-dev.links.in index 000000000,000000000..717c6b2c0 new file mode 100644 --- /dev/null +++ b/debian/libclang-common-X.Y-dev.links.in @@@ -1,0 -1,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 --cc debian/libclang-cppX.Y-dev.install.in index 000000000,000000000..5d2609ece new file mode 100644 --- /dev/null +++ b/debian/libclang-cppX.Y-dev.install.in @@@ -1,0 -1,0 +1,1 @@@ ++usr/lib/llvm-@LLVM_VERSION@/lib/libclang-cpp.so diff --cc debian/libclang-cppX.Y-dev.links.in index 000000000,000000000..6a96217b4 new file mode 100644 --- /dev/null +++ b/debian/libclang-cppX.Y-dev.links.in @@@ -1,0 -1,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 --cc debian/libclang-cppX.Y.install.in index 000000000,000000000..b0d88e0e5 new file mode 100644 --- /dev/null +++ b/debian/libclang-cppX.Y.install.in @@@ -1,0 -1,0 +1,1 @@@ ++usr/lib/llvm-@LLVM_VERSION@/lib/libclang-cpp.so.@LLVM_VERSION@ diff --cc debian/libclang-cppX.Y.links.in index 000000000,000000000..ee382f6d5 new file mode 100644 --- /dev/null +++ b/debian/libclang-cppX.Y.links.in @@@ -1,0 -1,0 +1,1 @@@ ++usr/lib/llvm-@LLVM_VERSION@/lib/libclang-cpp.so.@LLVM_VERSION@ /usr/lib/@DEB_HOST_MULTIARCH@/libclang-cpp.so.@LLVM_VERSION@ diff --cc debian/libclang1-X.Y.install.in index 000000000,000000000..d44e84f69 new file mode 100644 --- /dev/null +++ b/debian/libclang1-X.Y.install.in @@@ -1,0 -1,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 --cc debian/libclang1-X.Y.links.in index 000000000,000000000..3ea44c8d7 new file mode 100644 --- /dev/null +++ b/debian/libclang1-X.Y.links.in @@@ -1,0 -1,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 --cc debian/libclang1-X.Y.lintian-overrides.in index 000000000,000000000..860384558 new file mode 100644 --- /dev/null +++ b/debian/libclang1-X.Y.lintian-overrides.in @@@ -1,0 -1,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 --cc debian/libclang1-X.Y.symbols.in index 000000000,000000000..7e9f5e4e9 new file mode 100644 --- /dev/null +++ b/debian/libclang1-X.Y.symbols.in @@@ -1,0 -1,0 +1,386 @@@ ++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_getValueType@LLVM_@LLVM_VERSION@ 1:@LLVM_VERSION@~++20200417041528+cc0ec3fdb9d-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 --cc debian/liblld-X.Y-dev.install.in index 000000000,000000000..6b65c0fcc new file mode 100644 --- /dev/null +++ b/debian/liblld-X.Y-dev.install.in @@@ -1,0 -1,0 +1,2 @@@ ++usr/lib/llvm-@LLVM_VERSION@/include/lld ++usr/lib/llvm-@LLVM_VERSION@/lib/cmake/lld/*.cmake diff --cc debian/liblld-X.Y.install.in index 000000000,000000000..3df422012 new file mode 100644 --- /dev/null +++ b/debian/liblld-X.Y.install.in @@@ -1,0 -1,0 +1,12 @@@ ++#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/liblldMachO2.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 --cc debian/liblld-X.Y.links.in index 000000000,000000000..0aa818065 new file mode 100644 --- /dev/null +++ b/debian/liblld-X.Y.links.in @@@ -1,0 -1,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 --cc debian/liblldb-X.Y-dev.install.in index 000000000,000000000..72f48e7b5 new file mode 100644 --- /dev/null +++ b/debian/liblldb-X.Y-dev.install.in @@@ -1,0 -1,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 --cc debian/liblldb-X.Y-dev.links.in index 000000000,000000000..3c6aef902 new file mode 100644 --- /dev/null +++ b/debian/liblldb-X.Y-dev.links.in @@@ -1,0 -1,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 --cc debian/liblldb-X.Y.install.in index 000000000,000000000..24fa4446c new file mode 100644 --- /dev/null +++ b/debian/liblldb-X.Y.install.in @@@ -1,0 -1,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 --cc debian/liblldb-X.Y.links.in index 000000000,000000000..ae73a1993 new file mode 100644 --- /dev/null +++ b/debian/liblldb-X.Y.links.in @@@ -1,0 -1,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 --cc debian/liblldb-X.Y.lintian-overrides.in index 000000000,000000000..180aec35d new file mode 100644 --- /dev/null +++ b/debian/liblldb-X.Y.lintian-overrides.in @@@ -1,0 -1,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 --cc debian/libllvm-X.Y-ocaml-dev.META.in index 000000000,000000000..366820d9c new file mode 100644 --- /dev/null +++ b/debian/libllvm-X.Y-ocaml-dev.META.in @@@ -1,0 -1,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 --cc debian/libllvm-X.Y-ocaml-dev.dirs.in index 000000000,000000000..6c9c7364a new file mode 100644 --- /dev/null +++ b/debian/libllvm-X.Y-ocaml-dev.dirs.in @@@ -1,0 -1,0 +1,2 @@@ ++@OCAML_STDLIB_DIR@/META/ ++ diff --cc debian/libllvm-X.Y-ocaml-dev.install.in index 000000000,000000000..4c68fb7b1 new file mode 100644 --- /dev/null +++ b/debian/libllvm-X.Y-ocaml-dev.install.in @@@ -1,0 -1,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 --cc debian/libllvm-X.Y-ocaml-dev.lintian-overrides.in index 000000000,000000000..5d25d4425 new file mode 100644 --- /dev/null +++ b/debian/libllvm-X.Y-ocaml-dev.lintian-overrides.in @@@ -1,0 -1,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 --cc debian/libllvmX.Y.install.in index 000000000,000000000..f8d968f8f new file mode 100644 --- /dev/null +++ b/debian/libllvmX.Y.install.in @@@ -1,0 -1,0 +1,1 @@@ ++usr/lib/llvm-@LLVM_VERSION@/lib/libLLVM-@LLVM_VERSION@.so.1 /usr/lib/@DEB_HOST_MULTIARCH@/ diff --cc debian/libllvmX.Y.links.in index 000000000,000000000..067b08842 new file mode 100644 --- /dev/null +++ b/debian/libllvmX.Y.links.in @@@ -1,0 -1,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 --cc debian/libllvmX.Y.lintian-overrides.in index 000000000,000000000..49f7ef24e new file mode 100644 --- /dev/null +++ b/debian/libllvmX.Y.lintian-overrides.in @@@ -1,0 -1,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 --cc debian/libomp-X.Y-dev.install.in index 000000000,000000000..603df53d5 new file mode 100644 --- /dev/null +++ b/debian/libomp-X.Y-dev.install.in @@@ -1,0 -1,0 +1,9 @@@ ++#!/usr/bin/dh-exec ++ ++/usr/lib/llvm-@LLVM_VERSION@/include/openmp/omp*.h ++[!armhf !mips64el !mipsel] /usr/lib/llvm-@LLVM_VERSION@/include/ompt-multiplex.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 --cc debian/libomp-X.Y-dev.links.in index 000000000,000000000..8b01da8df new file mode 100644 --- /dev/null +++ b/debian/libomp-X.Y-dev.links.in @@@ -1,0 -1,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 --cc debian/libomp-X.Y-doc.docs.in index 000000000,000000000..fbb48ae03 new file mode 100644 --- /dev/null +++ b/debian/libomp-X.Y-doc.docs.in @@@ -1,0 -1,0 +1,1 @@@ ++openmp/runtime/doc/doxygen/generated/html/ diff --cc debian/libomp-X.Y.links.in index 000000000,000000000..6bc3d4ce1 new file mode 100644 --- /dev/null +++ b/debian/libomp-X.Y.links.in @@@ -1,0 -1,0 +1,1 @@@ ++usr/lib/llvm-@LLVM_VERSION@/lib/libomp.so.5 usr/lib/@DEB_HOST_MULTIARCH@/libomp.so.5 diff --cc debian/libomp5-X.Y.install.in index 000000000,000000000..858fb3e14 new file mode 100644 --- /dev/null +++ b/debian/libomp5-X.Y.install.in @@@ -1,0 -1,0 +1,1 @@@ ++usr/lib/llvm-@LLVM_VERSION@/lib/libomp*.so.5 diff --cc debian/libomp5-X.Y.links.in index 000000000,000000000..cd9227f09 new file mode 100644 --- /dev/null +++ b/debian/libomp5-X.Y.links.in @@@ -1,0 -1,0 +1,3 @@@ ++usr/lib/llvm-@LLVM_VERSION@/lib/libomp.so.5 /usr/lib/@DEB_HOST_MULTIARCH@/libomp.so.5 ++ ++ diff --cc debian/libomp5-X.Y.lintian-overrides.in index 000000000,000000000..201d42dc5 new file mode 100644 --- /dev/null +++ b/debian/libomp5-X.Y.lintian-overrides.in @@@ -1,0 -1,0 +1,1 @@@ ++libomp5-@LLVM_VERSION@: arch-dependent-file-not-in-arch-specific-directory usr/lib/llvm-@LLVM_VERSION@/lib/libomp.so.5 diff --cc debian/libomp5-X.Y.symbols.in index 000000000,000000000..c5fedf3a4 new file mode 100644 --- /dev/null +++ b/debian/libomp5-X.Y.symbols.in @@@ -1,0 -1,0 +1,1245 @@@ ++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_5.0@GOMP_5.0 11 ++ 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_maybe_nonmonotonic_runtime_next@GOMP_5.0 11 ++ GOMP_loop_maybe_nonmonotonic_runtime_next@VERSION 11 ++ GOMP_loop_maybe_nonmonotonic_runtime_start@GOMP_5.0 11 ++ GOMP_loop_maybe_nonmonotonic_runtime_start@VERSION 11 ++ 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_nonmonotonic_runtime_next@GOMP_5.0 11 ++ GOMP_loop_nonmonotonic_runtime_next@VERSION 11 ++ GOMP_loop_nonmonotonic_runtime_start@GOMP_5.0 11 ++ GOMP_loop_nonmonotonic_runtime_start@VERSION 11 ++ 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_maybe_nonmonotonic_runtime_next@GOMP_5.0 11 ++ GOMP_loop_ull_maybe_nonmonotonic_runtime_next@VERSION 11 ++ GOMP_loop_ull_maybe_nonmonotonic_runtime_start@GOMP_5.0 11 ++ GOMP_loop_ull_maybe_nonmonotonic_runtime_start@VERSION 11 ++ 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_nonmonotonic_runtime_next@GOMP_5.0 11 ++ GOMP_loop_ull_nonmonotonic_runtime_next@VERSION 11 ++ GOMP_loop_ull_nonmonotonic_runtime_start@GOMP_5.0 11 ++ GOMP_loop_ull_nonmonotonic_runtime_start@VERSION 11 ++ 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_maybe_nonmonotonic_runtime@GOMP_5.0 11 ++ GOMP_parallel_loop_maybe_nonmonotonic_runtime@VERSION 11 ++ 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_nonmonotonic_runtime@GOMP_5.0 11 ++ GOMP_parallel_loop_nonmonotonic_runtime@VERSION 11 ++ 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_display_env@VERSION 11 ++ omp_display_env_@VERSION 11 ++ 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 --cc debian/lld-X.Y.install.in index 000000000,000000000..4d392c9de new file mode 100644 --- /dev/null +++ b/debian/lld-X.Y.install.in @@@ -1,0 -1,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 --cc debian/lld-X.Y.manpages.in index 000000000,000000000..6cfafeaee new file mode 100644 --- /dev/null +++ b/debian/lld-X.Y.manpages.in @@@ -1,0 -1,0 +1,1 @@@ ++lld/docs/ld.lld-@LLVM_VERSION@.1 diff --cc debian/lldb-X.Y.install.in index 000000000,000000000..118022f56 new file mode 100644 --- /dev/null +++ b/debian/lldb-X.Y.install.in @@@ -1,0 -1,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 --cc debian/lldb-X.Y.links.in index 000000000,000000000..d30a5f693 new file mode 100644 --- /dev/null +++ b/debian/lldb-X.Y.links.in @@@ -1,0 -1,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 --cc debian/lldb-X.Y.lintian-overrides.in index 000000000,000000000..a456a3412 new file mode 100644 --- /dev/null +++ b/debian/lldb-X.Y.lintian-overrides.in @@@ -1,0 -1,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 --cc debian/lldb-X.Y.manpages.in index 000000000,000000000..375240700 new file mode 100644 --- /dev/null +++ b/debian/lldb-X.Y.manpages.in @@@ -1,0 -1,0 +1,1 @@@ ++debian/man/lldb-@LLVM_VERSION@.1 diff --cc debian/lldb-X.Y.postinst.in index 000000000,000000000..a5a607104 new file mode 100644 --- /dev/null +++ b/debian/lldb-X.Y.postinst.in @@@ -1,0 -1,0 +1,8 @@@ ++#!/bin/sh -e ++ ++if [ "$1" = "configure" ] ++then ++ ldconfig ++fi ++ ++#DEBHELPER# diff --cc debian/llvm-X.Y-dev.dirs.in index 000000000,000000000..3b3b5862d new file mode 100644 --- /dev/null +++ b/debian/llvm-X.Y-dev.dirs.in @@@ -1,0 -1,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 --cc debian/llvm-X.Y-dev.install.in index 000000000,000000000..a6acd0283 new file mode 100644 --- /dev/null +++ b/debian/llvm-X.Y-dev.install.in @@@ -1,0 -1,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 --cc debian/llvm-X.Y-dev.links.in index 000000000,000000000..b3a2a2ae9 new file mode 100644 --- /dev/null +++ b/debian/llvm-X.Y-dev.links.in @@@ -1,0 -1,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 --cc debian/llvm-X.Y-doc.dirs.in index 000000000,000000000..5379e8ece new file mode 100644 --- /dev/null +++ b/debian/llvm-X.Y-doc.dirs.in @@@ -1,0 -1,0 +1,1 @@@ ++usr/share/doc/llvm-@LLVM_VERSION@-doc diff --cc debian/llvm-X.Y-doc.install.in index 000000000,000000000..a84b04232 new file mode 100644 --- /dev/null +++ b/debian/llvm-X.Y-doc.install.in @@@ -1,0 -1,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 --cc debian/llvm-X.Y-examples.dirs.in index 000000000,000000000..a8b75c661 new file mode 100644 --- /dev/null +++ b/debian/llvm-X.Y-examples.dirs.in @@@ -1,0 -1,0 +1,1 @@@ ++usr/share/doc/llvm-@LLVM_VERSION@-examples diff --cc debian/llvm-X.Y-examples.examples.in index 000000000,000000000..4a5cb2dcd new file mode 100644 --- /dev/null +++ b/debian/llvm-X.Y-examples.examples.in @@@ -1,0 -1,0 +1,1 @@@ ++llvm/examples/* diff --cc debian/llvm-X.Y-examples.links.in index 000000000,000000000..a8d74aa2a new file mode 100644 --- /dev/null +++ b/debian/llvm-X.Y-examples.links.in @@@ -1,0 -1,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 --cc debian/llvm-X.Y-runtime.binfmt.in index 000000000,000000000..6bb1df78c new file mode 100644 --- /dev/null +++ b/debian/llvm-X.Y-runtime.binfmt.in @@@ -1,0 -1,0 +1,3 @@@ ++package llvm-@LLVM_VERSION@-runtime ++interpreter /usr/bin/lli-@LLVM_VERSION@ ++magic BC diff --cc debian/llvm-X.Y-runtime.install.in index 000000000,000000000..d8e16a7c6 new file mode 100644 --- /dev/null +++ b/debian/llvm-X.Y-runtime.install.in @@@ -1,0 -1,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 --cc debian/llvm-X.Y-runtime.lintian-overrides.in index 000000000,000000000..e94e71309 new file mode 100644 --- /dev/null +++ b/debian/llvm-X.Y-runtime.lintian-overrides.in @@@ -1,0 -1,0 +1,1 @@@ ++llvm-@LLVM_VERSION@-runtime: binary-without-manpage usr/bin/lli-child-target-@LLVM_VERSION@ diff --cc debian/llvm-X.Y-runtime.manpages.in index 000000000,000000000..839952d03 new file mode 100644 --- /dev/null +++ b/debian/llvm-X.Y-runtime.manpages.in @@@ -1,0 -1,0 +1,1 @@@ ++debian/man/lli* diff --cc debian/llvm-X.Y-runtime.postinst.in index 000000000,000000000..22326b1b2 new file mode 100644 --- /dev/null +++ b/debian/llvm-X.Y-runtime.postinst.in @@@ -1,0 -1,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 --cc debian/llvm-X.Y-runtime.prerm.in index 000000000,000000000..4b7d8eb75 new file mode 100644 --- /dev/null +++ b/debian/llvm-X.Y-runtime.prerm.in @@@ -1,0 -1,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 --cc debian/llvm-X.Y-tools.dirs.in index 000000000,000000000..401df068d new file mode 100644 --- /dev/null +++ b/debian/llvm-X.Y-tools.dirs.in @@@ -1,0 -1,0 +1,2 @@@ ++/usr/lib/llvm-@LLVM_VERSION@/build/unittests ++/usr/lib/llvm-@LLVM_VERSION@/build/utils/lit/ diff --cc debian/llvm-X.Y-tools.install.in index 000000000,000000000..0ceef3f41 new file mode 100644 --- /dev/null +++ b/debian/llvm-X.Y-tools.install.in @@@ -1,0 -1,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 --cc debian/llvm-X.Y.dirs.in index 000000000,000000000..56a9655f3 new file mode 100644 --- /dev/null +++ b/debian/llvm-X.Y.dirs.in @@@ -1,0 -1,0 +1,3 @@@ ++/usr/lib/llvm-@LLVM_VERSION@/bin ++usr/share/man/man1 ++usr/share/doc/llvm-@LLVM_VERSION@ diff --cc debian/llvm-X.Y.install.in index 000000000,000000000..dc67100a8 new file mode 100644 --- /dev/null +++ b/debian/llvm-X.Y.install.in @@@ -1,0 -1,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 --cc debian/llvm-X.Y.lintian-overrides.in index 000000000,000000000..35c869467 new file mode 100644 --- /dev/null +++ b/debian/llvm-X.Y.lintian-overrides.in @@@ -1,0 -1,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 --cc debian/llvm-X.Y.manpages.in index 000000000,000000000..98f095fb6 new file mode 100644 --- /dev/null +++ b/debian/llvm-X.Y.manpages.in @@@ -1,0 -1,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 --cc debian/llvm-priv-dev.dirs index 000000000,000000000..dab86638a new file mode 100644 --- /dev/null +++ b/debian/llvm-priv-dev.dirs @@@ -1,0 -1,0 +1,1 @@@ ++/usr/lib/llvm-3.1/build diff --cc debian/orig-tar.sh index 000000000,000000000..db09674c8 new file mode 100755 --- /dev/null +++ b/debian/orig-tar.sh @@@ -1,0 -1,0 +1,193 @@@ ++#!/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" ++ ++git stash && git pull && git stash apply || true ++ ++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 ++ # When upstream released X, they will update X to have X.0.1 ++ # In general, in Debian, we will keep X until X.0.1 is released (or rc in experimental) ++ # However, on apt.llvm.org, we will update the version to have X.0.1 ++ # This code is doing that. ++ MAJOR=$(grep "set(LLVM_VERSION_MAJOR" llvm/CMakeLists.txt|sed -e "s|.*LLVM_VERSION_MAJOR \(.*\))|\1|") ++ MINOR=$(grep "set(LLVM_VERSION_MINOR" llvm/CMakeLists.txt|sed -e "s|.*LLVM_VERSION_MINOR \(.*\))|\1|") ++ PATCH=$(grep "set(LLVM_VERSION_PATCH" llvm/CMakeLists.txt|sed -e "s|.*LLVM_VERSION_PATCH \(.*\))|\1|") ++ CURRENT_VERSION="$MAJOR.$MINOR.$PATCH" ++ # 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 --cc debian/patches/0001-llvm-cmake-resolve-symlinks-in-LLVMConfig.cmake.patch index 000000000,000000000..a89ca3835 new file mode 100644 --- /dev/null +++ b/debian/patches/0001-llvm-cmake-resolve-symlinks-in-LLVMConfig.cmake.patch @@@ -1,0 -1,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_11~++20200326111000+4673699a470/llvm/cmake/modules/CMakeLists.txt ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/llvm/cmake/modules/CMakeLists.txt +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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 --cc debian/patches/0001-tools-clang-cmake-resolve-symlinks-in-ClangConfig.cmake.patch index 000000000,000000000..f38113126 new file mode 100644 --- /dev/null +++ b/debian/patches/0001-tools-clang-cmake-resolve-symlinks-in-ClangConfig.cmake.patch @@@ -1,0 -1,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_11~++20200326111000+4673699a470/clang/cmake/modules/CMakeLists.txt ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/clang/cmake/modules/CMakeLists.txt +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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 --cc debian/patches/0001-tsan-doesn-t-work-on-arm.patch index 000000000,000000000..c63e9b248 new file mode 100644 --- /dev/null +++ b/debian/patches/0001-tsan-doesn-t-work-on-arm.patch @@@ -1,0 -1,0 +1,24 @@@ ++From 8984b5d9a9bb143844e716db79388808f6944270 Mon Sep 17 00:00:00 2001 ++From: Sylvestre Ledru ++Date: Sun, 18 Oct 2020 18:56:17 +0200 ++Subject: [PATCH 1/3] tsan doesn't work on arm ++ ++--- ++ tests/test_tsan.c | 1 + ++ 1 file changed, 1 insertion(+) ++ ++diff --git a/integration-test-suite/tests/test_tsan.c b/tests/test_tsan.c ++index ed9aaec..197d3a4 100644 ++--- a/integration-test-suite/tests/test_tsan.c +++++ b/integration-test-suite/tests/test_tsan.c ++@@ -5,6 +5,7 @@ ++ // RUN: %llvm-nm %t | grep __tsan ++ // RUN: env TSAN_OPTIONS="log_path=stdout:exitcode=0" %t 2>&1 > %t.out ++ // RUN: grep -q "data race" %t.out +++// XFAIL: arm ++ ++ #include ++ #include ++-- ++2.28.0 ++ diff --cc debian/patches/0002-Disable-test_asan_heap.c-for-arm-30.patch index 000000000,000000000..9382034ea new file mode 100644 --- /dev/null +++ b/debian/patches/0002-Disable-test_asan_heap.c-for-arm-30.patch @@@ -1,0 -1,0 +1,26 @@@ ++From 77f09cd056d5183fa048d2b8fdc29302dca25ed7 Mon Sep 17 00:00:00 2001 ++From: Sylvestre Ledru ++Date: Mon, 19 Oct 2020 14:43:32 +0200 ++Subject: [PATCH 2/3] Disable test_asan_heap.c for arm (#30) ++ ++Unsupported on this arch: ++clang: error: unsupported option '-fsanitize=thread' for target 'armv7l-unknown-linux-gnueabihf' ++--- ++ tests/test_asan_heap.c | 1 + ++ 1 file changed, 1 insertion(+) ++ ++diff --git a/integration-test-suite/tests/test_asan_heap.c b/tests/test_asan_heap.c ++index 828ac4f..f021703 100644 ++--- a/integration-test-suite/tests/test_asan_heap.c +++++ b/integration-test-suite/tests/test_asan_heap.c ++@@ -4,6 +4,7 @@ ++ // RUN: %clang -o %t -fsanitize=address -O1 -fno-omit-frame-pointer -g %s ++ // RUN: env ASAN_OPTIONS="log_path=stdout:exitcode=0" %t 2>&1 > %t.out ++ // RUN: grep -q "heap-use-after-free" %t.out +++// XFAIL: arm ++ ++ #include ++ int main() { ++-- ++2.28.0 ++ diff --cc debian/patches/0003-Debian-version-info-and-bugreport.patch index 000000000,000000000..a6e50ce90 new file mode 100644 --- /dev/null +++ b/debian/patches/0003-Debian-version-info-and-bugreport.patch @@@ -1,0 -1,0 +1,19 @@@ ++--- ++ lib/Support/CommandLine.cpp | 4 ++++ ++ 1 file changed, 4 insertions(+) ++ ++Index: llvm-toolchain-snapshot_11~++20200326111000+4673699a470/llvm/lib/Support/CommandLine.cpp ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/llvm/lib/Support/CommandLine.cpp +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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 --cc debian/patches/0003-leaksan-add-a-test-31.patch index 000000000,000000000..669182061 new file mode 100644 --- /dev/null +++ b/debian/patches/0003-leaksan-add-a-test-31.patch @@@ -1,0 -1,0 +1,35 @@@ ++From 5fd1282d17fb5db341239af2853ab12f4ff141c8 Mon Sep 17 00:00:00 2001 ++From: Sylvestre Ledru ++Date: Mon, 19 Oct 2020 14:55:20 +0200 ++Subject: [PATCH 3/3] leaksan: add a test (#31) ++ ++--- ++ tests/test_leaksan.c | 16 ++++++++++++++++ ++ 1 file changed, 16 insertions(+) ++ create mode 100644 tests/test_leaksan.c ++ ++diff --git a/integration-test-suite/tests/test_leaksan.c b/tests/test_leaksan.c ++new file mode 100644 ++index 0000000..db425a1 ++--- /dev/null +++++ b/integration-test-suite/tests/test_leaksan.c ++@@ -0,0 +1,16 @@ +++// Test asan use after free +++// +++// REQUIRES: clang +++// RUN: %clang -o %t -fsanitize=address -g %s +++// RUN: env ASAN_OPTIONS="log_path=stdout:exitcode=0" %t 2>&1 > %t.out +++// RUN: grep -q "detected memory leaks" %t.out +++ +++#include +++ +++void *p; +++ +++int main() { +++ p = malloc(7); +++ p = 0; // The memory is leaked here. +++ return 0; +++} ++-- ++2.28.0 ++ diff --cc debian/patches/0044-soname.diff index 000000000,000000000..ae2dedd3f new file mode 100644 --- /dev/null +++ b/debian/patches/0044-soname.diff @@@ -1,0 -1,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_11~++20200326111000+4673699a470/clang/tools/libclang/CMakeLists.txt ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/clang/tools/libclang/CMakeLists.txt +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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_11~++20200326111000+4673699a470/llvm/tools/llvm-shlib/CMakeLists.txt ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/llvm/tools/llvm-shlib/CMakeLists.txt +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/llvm/tools/llvm-shlib/CMakeLists.txt ++@@ -32,6 +32,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 --cc debian/patches/0048-Set-html_static_path-_static-everywhere.patch index 000000000,000000000..bf287bca2 new file mode 100644 --- /dev/null +++ b/debian/patches/0048-Set-html_static_path-_static-everywhere.patch @@@ -1,0 -1,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_11~++20200326111000+4673699a470/clang/docs/analyzer/conf.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/clang/docs/analyzer/conf.py +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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_11~++20200326111000+4673699a470/clang/docs/conf.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/clang/docs/conf.py +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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_11~++20200326111000+4673699a470/polly/docs/conf.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/polly/docs/conf.py +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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 --cc debian/patches/0049-Use-Debian-provided-MathJax-everywhere.patch index 000000000,000000000..dedbc51b6 new file mode 100644 --- /dev/null +++ b/debian/patches/0049-Use-Debian-provided-MathJax-everywhere.patch @@@ -1,0 -1,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_11~++20200624103447+58de2a38513/clang-tools-extra/docs/conf.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200624103447+58de2a38513.orig/clang-tools-extra/docs/conf.py +++++ llvm-toolchain-snapshot_11~++20200624103447+58de2a38513/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_11~++20200624103447+58de2a38513/clang-tools-extra/docs/doxygen.cfg.in ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200624103447+58de2a38513.orig/clang-tools-extra/docs/doxygen.cfg.in +++++ llvm-toolchain-snapshot_11~++20200624103447+58de2a38513/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_11~++20200624103447+58de2a38513/clang/docs/analyzer/conf.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200624103447+58de2a38513.orig/clang/docs/analyzer/conf.py +++++ llvm-toolchain-snapshot_11~++20200624103447+58de2a38513/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_11~++20200624103447+58de2a38513/clang/docs/conf.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200624103447+58de2a38513.orig/clang/docs/conf.py +++++ llvm-toolchain-snapshot_11~++20200624103447+58de2a38513/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_11~++20200624103447+58de2a38513/clang/docs/doxygen.cfg.in ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200624103447+58de2a38513.orig/clang/docs/doxygen.cfg.in +++++ llvm-toolchain-snapshot_11~++20200624103447+58de2a38513/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_11~++20200624103447+58de2a38513/llvm/docs/doxygen.cfg.in ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200624103447+58de2a38513.orig/llvm/docs/doxygen.cfg.in +++++ llvm-toolchain-snapshot_11~++20200624103447+58de2a38513/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 = https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js +++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_11~++20200624103447+58de2a38513/polly/docs/doxygen.cfg.in ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200624103447+58de2a38513.orig/polly/docs/doxygen.cfg.in +++++ llvm-toolchain-snapshot_11~++20200624103447+58de2a38513/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 --cc debian/patches/19-clang_debian_version.patch index 000000000,000000000..0bb32879f new file mode 100644 --- /dev/null +++ b/debian/patches/19-clang_debian_version.patch @@@ -1,0 -1,0 +1,21 @@@ ++Index: llvm-toolchain-snapshot_11~++20200708031542+64363a9d930/clang/lib/Basic/Version.cpp ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200708031542+64363a9d930.orig/clang/lib/Basic/Version.cpp +++++ llvm-toolchain-snapshot_11~++20200708031542+64363a9d930/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 ++ ++@@ -97,7 +98,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; ++ ++ std::string repo = getClangFullRepositoryVersion(); ++ if (!repo.empty()) { diff --cc debian/patches/23-strlcpy_strlcat_warning_removed.diff index 000000000,000000000..f0c6c7668 new file mode 100644 --- /dev/null +++ b/debian/patches/23-strlcpy_strlcat_warning_removed.diff @@@ -1,0 -1,0 +1,210 @@@ ++--- ++ 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_11~++20200326111000+4673699a470/clang/include/clang/Basic/Builtins.def ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/clang/include/clang/Basic/Builtins.def +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/clang/include/clang/Basic/Builtins.def ++@@ -548,8 +548,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") ++@@ -1022,8 +1022,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_11~++20200326111000+4673699a470/clang/lib/AST/Decl.cpp ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/clang/lib/AST/Decl.cpp +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/clang/lib/AST/Decl.cpp ++@@ -3872,13 +3872,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_11~++20200326111000+4673699a470/clang/lib/Sema/SemaChecking.cpp ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/clang/lib/Sema/SemaChecking.cpp +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/clang/lib/Sema/SemaChecking.cpp ++@@ -640,8 +640,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: ++@@ -4056,9 +4056,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_11~++20200326111000+4673699a470/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp ++@@ -476,9 +476,9 @@ GenericTaintChecker::TaintPropagationRul ++ case Builtin::BIstrncpy: ++ case Builtin::BIstrncat: ++ return {{1, 2}, {0, ReturnValueIndex}}; ++- case Builtin::BIstrlcpy: +++/* case Builtin::BIstrlcpy: ++ case Builtin::BIstrlcat: ++- return {{1, 2}, {0}}; +++ return {{1, 2}, {0}};*/ ++ case Builtin::BIstrndup: ++ return {{0, 1}, {ReturnValueIndex}}; ++ ++Index: llvm-toolchain-snapshot_11~++20200326111000+4673699a470/clang/test/Sema/builtins.c ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/clang/test/Sema/builtins.c +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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_11~++20200326111000+4673699a470/clang/test/Sema/warn-strlcpycat-size.c ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.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 --cc debian/patches/26-set-correct-float-abi.diff index 000000000,000000000..bd7a81d06 new file mode 100644 --- /dev/null +++ b/debian/patches/26-set-correct-float-abi.diff @@@ -1,0 -1,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_11~++20200326111000+4673699a470/clang/lib/Driver/ToolChains/Arch/ARM.cpp ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/clang/lib/Driver/ToolChains/Arch/ARM.cpp +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/clang/lib/Driver/ToolChains/Arch/ARM.cpp ++@@ -253,7 +253,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 --cc debian/patches/930008-arm.diff index 000000000,000000000..50c7dc193 new file mode 100644 --- /dev/null +++ b/debian/patches/930008-arm.diff @@@ -1,0 -1,0 +1,13 @@@ ++Index: llvm-toolchain-snapshot_11~++20200326111000+4673699a470/llvm/lib/Support/Triple.cpp ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/llvm/lib/Support/Triple.cpp +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/llvm/lib/Support/Triple.cpp ++@@ -1658,7 +1658,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 --cc debian/patches/D67877.patch index 000000000,000000000..2cf1db9de new file mode 100644 --- /dev/null +++ b/debian/patches/D67877.patch @@@ -1,0 -1,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_11~++20200409051253+d08105482e1/clang/lib/Analysis/plugins/CMakeLists.txt ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200409051253+d08105482e1.orig/clang/lib/Analysis/plugins/CMakeLists.txt +++++ llvm-toolchain-snapshot_11~++20200409051253+d08105482e1/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_11~++20200409051253+d08105482e1/clang/test/CMakeLists.txt ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200409051253+d08105482e1.orig/clang/test/CMakeLists.txt +++++ llvm-toolchain-snapshot_11~++20200409051253+d08105482e1/clang/test/CMakeLists.txt ++@@ -138,14 +138,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 --cc debian/patches/atomic_library_1.diff index 000000000,000000000..0ac9cbf72 new file mode 100644 --- /dev/null +++ b/debian/patches/atomic_library_1.diff @@@ -1,0 -1,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_11~++20200326111000+4673699a470/clang/test/CodeGen/linux-arm-atomic.c ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/clang/test/CodeGen/linux-arm-atomic.c +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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 --cc debian/patches/bootstrap-fix-include-next.diff index 000000000,000000000..e532ddcea new file mode 100644 --- /dev/null +++ b/debian/patches/bootstrap-fix-include-next.diff @@@ -1,0 -1,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_11~++20200326111000+4673699a470/clang/lib/Headers/inttypes.h ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/clang/lib/Headers/inttypes.h +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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_11~++20200326111000+4673699a470/clang/lib/Headers/limits.h ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/clang/lib/Headers/limits.h +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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 --cc debian/patches/clang-analyzer-force-version.diff index 000000000,000000000..873fb6996 new file mode 100644 --- /dev/null +++ b/debian/patches/clang-analyzer-force-version.diff @@@ -1,0 -1,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_11~++20200326111000+4673699a470/clang/tools/scan-build/libexec/ccc-analyzer ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/clang/tools/scan-build/libexec/ccc-analyzer +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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++-11'; } ++ ++ $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-11'; } ++ ++ $IsCXX = 0 ++ } diff --cc debian/patches/clang-arm-default-vfp3-on-armv7a.patch index 000000000,000000000..69853b09f new file mode 100644 --- /dev/null +++ b/debian/patches/clang-arm-default-vfp3-on-armv7a.patch @@@ -1,0 -1,0 +1,27 @@@ ++Index: llvm-toolchain-snapshot_11~++20200326111000+4673699a470/llvm/include/llvm/Support/ARMTargetParser.def ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/llvm/include/llvm/Support/ARMTargetParser.def +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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_11~++20200326111000+4673699a470/llvm/lib/Target/ARM/ARM.td ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/llvm/lib/Target/ARM/ARM.td +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/llvm/lib/Target/ARM/ARM.td ++@@ -691,7 +691,8 @@ def ARMv6sm : Architecture<"armv6s-m", ++ FeatureStrictAlign]>; ++ ++ def ARMv7a : Architecture<"armv7-a", "ARMv7a", [HasV7Ops, ++- FeatureNEON, +++ FeatureVFP3, +++ FeatureVFP3_D16, ++ FeatureDB, ++ FeatureDSP, ++ FeatureAClass]>; diff --cc debian/patches/clang-baseline-fix-i386.patch index 000000000,000000000..b50e8f7c5 new file mode 100644 --- /dev/null +++ b/debian/patches/clang-baseline-fix-i386.patch @@@ -1,0 -1,0 +1,15 @@@ ++Index: llvm-toolchain-11_11.0.0~+rc2/clang/lib/Driver/ToolChains/Arch/X86.cpp ++=================================================================== ++--- llvm-toolchain-11_11.0.0~+rc2.orig/clang/lib/Driver/ToolChains/Arch/X86.cpp +++++ llvm-toolchain-11_11.0.0~+rc2/clang/lib/Driver/ToolChains/Arch/X86.cpp ++@@ -101,8 +101,8 @@ const char *x86::getX86TargetCPU(const A ++ case llvm::Triple::FreeBSD: ++ return "i686"; ++ default: ++- // Fallback to p4. ++- return "pentium4"; +++ // Fallback to i686. +++ return "i686"; ++ } ++ } ++ diff --cc debian/patches/clang-format-version.diff index 000000000,000000000..4f3566344 new file mode 100644 --- /dev/null +++ b/debian/patches/clang-format-version.diff @@@ -1,0 -1,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_11~++20200508112032+9c198b550eb/clang/tools/clang-format/clang-format-diff.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200508112032+9c198b550eb.orig/clang/tools/clang-format/clang-format-diff.py +++++ llvm-toolchain-snapshot_11~++20200508112032+9c198b550eb/clang/tools/clang-format/clang-format-diff.py ++@@ -58,7 +58,7 @@ def main(): ++ parser.add_argument('-style', ++ help='formatting style to apply (LLVM, GNU, Google, Chromium, ' ++ 'Microsoft, Mozilla, WebKit)') ++- parser.add_argument('-binary', default='clang-format', +++ parser.add_argument('-binary', default='clang-format-11', ++ help='location of binary to use for clang-format') ++ args = parser.parse_args() ++ ++Index: llvm-toolchain-snapshot_11~++20200508112032+9c198b550eb/clang/tools/clang-format/clang-format.el ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200508112032+9c198b550eb.orig/clang/tools/clang-format/clang-format.el +++++ llvm-toolchain-snapshot_11~++20200508112032+9c198b550eb/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-11") ++ "clang-format") ++ "Location of the clang-format executable. ++ ++Index: llvm-toolchain-snapshot_11~++20200508112032+9c198b550eb/clang/tools/clang-format/clang-format.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200508112032+9c198b550eb.orig/clang/tools/clang-format/clang-format.py +++++ llvm-toolchain-snapshot_11~++20200508112032+9c198b550eb/clang/tools/clang-format/clang-format.py ++@@ -48,7 +48,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-11' ++ if vim.eval('exists("g:clang_format_path")') == "1": ++ binary = vim.eval('g:clang_format_path') ++ diff --cc debian/patches/clang-tidy-run-bin.diff index 000000000,000000000..11d3307d3 new file mode 100644 --- /dev/null +++ b/debian/patches/clang-tidy-run-bin.diff @@@ -1,0 -1,0 +1,17 @@@ ++Index: llvm-toolchain-snapshot_11~++20200423113502+bbb7921da97/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200423113502+bbb7921da97.orig/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py +++++ llvm-toolchain-snapshot_11~++20200423113502+bbb7921da97/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py ++@@ -186,10 +186,10 @@ def main(): ++ action='store_true', help='allow alpha checkers from ' ++ 'clang-analyzer.') ++ parser.add_argument('-clang-tidy-binary', metavar='PATH', ++- default='clang-tidy', +++ default='clang-tidy-11', ++ help='path to clang-tidy binary') ++ parser.add_argument('-clang-apply-replacements-binary', metavar='PATH', ++- default='clang-apply-replacements', +++ default='clang-apply-replacements-11', ++ help='path to clang-apply-replacements binary') ++ parser.add_argument('-checks', default=None, ++ help='checks filter, when not specified, use clang-tidy ' diff --cc debian/patches/clang_vendor_pass_stage2.diff index 000000000,000000000..80b8cb0b3 new file mode 100644 --- /dev/null +++ b/debian/patches/clang_vendor_pass_stage2.diff @@@ -1,0 -1,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 --cc debian/patches/clangd-atomic-cmake.patch index 000000000,000000000..2ababc330 new file mode 100644 --- /dev/null +++ b/debian/patches/clangd-atomic-cmake.patch @@@ -1,0 -1,0 +1,24 @@@ ++Index: llvm-toolchain-snapshot_11~++20200714101840+aef60af34ec/clang-tools-extra/clangd/CMakeLists.txt ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200714101840+aef60af34ec.orig/clang-tools-extra/clangd/CMakeLists.txt +++++ llvm-toolchain-snapshot_11~++20200714101840+aef60af34ec/clang-tools-extra/clangd/CMakeLists.txt ++@@ -28,6 +28,11 @@ set(LLVM_LINK_COMPONENTS ++ Option ++ ) ++ +++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 ++ ClangdLSPServer.cpp ++@@ -104,6 +109,7 @@ add_clang_library(clangDaemon ++ clangdSupport ++ clangTidy ++ ${LLVM_PTHREAD_LIB} +++ ${CLANGD_ATOMIC_LIB} ++ ${ALL_CLANG_TIDY_CHECKS} ++ ++ DEPENDS diff --cc debian/patches/debug-jit-path.diff index 000000000,000000000..80016757e new file mode 100644 --- /dev/null +++ b/debian/patches/debug-jit-path.diff @@@ -1,0 -1,0 +1,15 @@@ ++Index: llvm-toolchain-snapshot_11~++20200326111000+4673699a470/llvm/lib/ExecutionEngine/PerfJITEvents/PerfJITEventListener.cpp ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/llvm/lib/ExecutionEngine/PerfJITEvents/PerfJITEventListener.cpp +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/llvm/lib/ExecutionEngine/PerfJITEvents/PerfJITEventListener.cpp ++@@ -301,8 +301,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 --cc debian/patches/declare_clear_cache.diff index 000000000,000000000..e66e2da6f new file mode 100644 --- /dev/null +++ b/debian/patches/declare_clear_cache.diff @@@ -1,0 -1,0 +1,17 @@@ ++--- ++ lib/Support/Unix/Memory.inc | 2 +- ++ 1 file changed, 1 insertion(+), 1 deletion(-) ++ ++Index: llvm-toolchain-snapshot_11~++20200326111000+4673699a470/llvm/lib/Support/Unix/Memory.inc ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/llvm/lib/Support/Unix/Memory.inc +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/llvm/lib/Support/Unix/Memory.inc ++@@ -253,7 +253,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 --cc debian/patches/disable-display-PASS-UNSUPPORTED-XFAIL.diff index 000000000,000000000..71669df20 new file mode 100644 --- /dev/null +++ b/debian/patches/disable-display-PASS-UNSUPPORTED-XFAIL.diff @@@ -1,0 -1,0 +1,17 @@@ ++Index: llvm-toolchain-snapshot_11~++20200326111000+4673699a470/lldb/third_party/Python/module/unittest2/unittest2/runner.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/lldb/third_party/Python/module/unittest2/unittest2/runner.py +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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 --cc debian/patches/disable-error-xray.diff index 000000000,000000000..1bc2cb915 new file mode 100644 --- /dev/null +++ b/debian/patches/disable-error-xray.diff @@@ -1,0 -1,0 +1,13 @@@ ++Index: llvm-toolchain-snapshot_11~++20200326111000+4673699a470/compiler-rt/lib/xray/xray_tsc.h ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/compiler-rt/lib/xray/xray_tsc.h +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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 --cc debian/patches/disable-lit-cpuid-install.diff index 000000000,000000000..9a4f7312f new file mode 100644 --- /dev/null +++ b/debian/patches/disable-lit-cpuid-install.diff @@@ -1,0 -1,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 --cc debian/patches/disable-llvm-symbolizer-test.diff index 000000000,000000000..6764821ae new file mode 100644 --- /dev/null +++ b/debian/patches/disable-llvm-symbolizer-test.diff @@@ -1,0 -1,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_11~++20200326111000+4673699a470/llvm/test/tools/llvm-symbolizer/print_context.c ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/llvm/test/tools/llvm-symbolizer/print_context.c +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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 --cc debian/patches/disable-path-test-failing.diff index 000000000,000000000..da3b672a1 new file mode 100644 --- /dev/null +++ b/debian/patches/disable-path-test-failing.diff @@@ -1,0 -1,0 +1,29 @@@ ++Index: llvm-toolchain-snapshot_11~++20200326111000+4673699a470/llvm/unittests/Support/Path.cpp ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/llvm/unittests/Support/Path.cpp +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/llvm/unittests/Support/Path.cpp ++@@ -448,7 +448,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) { ++@@ -530,13 +530,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 --cc debian/patches/disable-sse2-old-x86.diff index 000000000,000000000..72445c166 new file mode 100644 --- /dev/null +++ b/debian/patches/disable-sse2-old-x86.diff @@@ -1,0 -1,0 +1,13 @@@ ++Index: llvm-toolchain-snapshot_11~++20200326111000+4673699a470/clang/include/clang/Basic/X86Target.def ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/clang/include/clang/Basic/X86Target.def +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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 --cc debian/patches/do-not-fail-on-unexpected-pass.diff index 000000000,000000000..5bddc8b30 new file mode 100644 --- /dev/null +++ b/debian/patches/do-not-fail-on-unexpected-pass.diff @@@ -1,0 -1,0 +1,13 @@@ ++Index: llvm-toolchain-snapshot_11~++20200617103614+2eaadfc4fe6/llvm/utils/lit/lit/Test.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200617103614+2eaadfc4fe6.orig/llvm/utils/lit/lit/Test.py +++++ llvm-toolchain-snapshot_11~++20200617103614+2eaadfc4fe6/llvm/utils/lit/lit/Test.py ++@@ -51,7 +51,7 @@ XFAIL = ResultCode('XFAIL', ++ UNRESOLVED = ResultCode('UNRESOLVED', 'Unresolved', True) ++ TIMEOUT = ResultCode('TIMEOUT', 'Timed Out', True) ++ FAIL = ResultCode('FAIL', 'Failed', True) ++-XPASS = ResultCode('XPASS', 'Unexpectedly Passed', True) +++XPASS = ResultCode('XPASS', 'Unexpectedly Passed', False) ++ ++ ++ # Test metric values. diff --cc debian/patches/fix-clang-format-bug-47589.patch index 000000000,000000000..010c33396 new file mode 100644 --- /dev/null +++ b/debian/patches/fix-clang-format-bug-47589.patch @@@ -1,0 -1,0 +1,148 @@@ ++From 05860350084abdae30dfbd2181452d1b87dca3b4 Mon Sep 17 00:00:00 2001 ++From: Sylvestre Ledru ++Date: Mon, 12 Oct 2020 18:47:30 +0200 ++Subject: [PATCH] Revert "[clang-format] Fix AlignConsecutive on PP blocks" ++ ++This reverts commit b2eb439317576ce718193763c12bff9fccdfc166. ++--- ++ clang/lib/Format/FormatToken.h | 6 ----- ++ clang/lib/Format/UnwrappedLineParser.cpp | 2 -- ++ clang/lib/Format/WhitespaceManager.cpp | 10 +++----- ++ clang/unittests/Format/FormatTest.cpp | 23 ------------------- ++ clang/unittests/Format/FormatTestComments.cpp | 21 ----------------- ++ 5 files changed, 3 insertions(+), 59 deletions(-) ++ ++diff --git a/clang/lib/Format/FormatToken.h b/clang/lib/Format/FormatToken.h ++index d4287f53fde..b132a3e84da 100644 ++--- a/clang/lib/Format/FormatToken.h +++++ b/clang/lib/Format/FormatToken.h ++@@ -183,12 +183,6 @@ struct FormatToken { ++ /// before the token. ++ bool MustBreakBefore = false; ++ ++- /// Whether to not align across this token ++- /// ++- /// This happens for example when a preprocessor directive ended directly ++- /// before the token, but very rarely otherwise. ++- bool MustBreakAlignBefore = false; ++- ++ /// The raw text of the token. ++ /// ++ /// Contains the raw token text without leading whitespace and without leading ++diff --git a/clang/lib/Format/UnwrappedLineParser.cpp b/clang/lib/Format/UnwrappedLineParser.cpp ++index a37386425aa..ea8a41cfba8 100644 ++--- a/clang/lib/Format/UnwrappedLineParser.cpp +++++ b/clang/lib/Format/UnwrappedLineParser.cpp ++@@ -3037,7 +3037,6 @@ void UnwrappedLineParser::readToken(int LevelDifference) { ++ } ++ FormatTok = Tokens->getNextToken(); ++ FormatTok->MustBreakBefore = true; ++- FormatTok->MustBreakAlignBefore = true; ++ } ++ ++ if (!PPStack.empty() && (PPStack.back().Kind == PP_Unreachable) && ++@@ -3062,7 +3061,6 @@ void UnwrappedLineParser::pushToken(FormatToken *Tok) { ++ Line->Tokens.push_back(UnwrappedLineNode(Tok)); ++ if (MustBreakBeforeNextToken) { ++ Line->Tokens.back().Tok->MustBreakBefore = true; ++- Line->Tokens.back().Tok->MustBreakAlignBefore = true; ++ MustBreakBeforeNextToken = false; ++ } ++ } ++diff --git a/clang/lib/Format/WhitespaceManager.cpp b/clang/lib/Format/WhitespaceManager.cpp ++index 32e0b685ea0..3a265bd0916 100644 ++--- a/clang/lib/Format/WhitespaceManager.cpp +++++ b/clang/lib/Format/WhitespaceManager.cpp ++@@ -411,11 +411,9 @@ static unsigned AlignTokens(const FormatStyle &Style, F &&Matches, ++ if (Changes[i].NewlinesBefore != 0) { ++ CommasBeforeMatch = 0; ++ EndOfSequence = i; ++- // If there is a blank line, there is a forced-align-break (eg, ++- // preprocessor), or if the last line didn't contain any matching token, ++- // the sequence ends here. ++- if (Changes[i].NewlinesBefore > 1 || ++- Changes[i].Tok->MustBreakAlignBefore || !FoundMatchOnLine) +++ // If there is a blank line, or if the last line didn't contain any +++ // matching token, the sequence ends here. +++ if (Changes[i].NewlinesBefore > 1 || !FoundMatchOnLine) ++ AlignCurrentSequence(); ++ ++ FoundMatchOnLine = false; ++@@ -726,8 +724,6 @@ void WhitespaceManager::alignTrailingComments() { ++ if (Changes[i].StartOfBlockComment) ++ continue; ++ Newlines += Changes[i].NewlinesBefore; ++- if (Changes[i].Tok->MustBreakAlignBefore) ++- BreakBeforeNext = true; ++ if (!Changes[i].IsTrailingComment) ++ continue; ++ ++diff --git a/clang/unittests/Format/FormatTest.cpp b/clang/unittests/Format/FormatTest.cpp ++index 17d302f0b65..7e4d1fca509 100644 ++--- a/clang/unittests/Format/FormatTest.cpp +++++ b/clang/unittests/Format/FormatTest.cpp ++@@ -11968,29 +11968,6 @@ TEST_F(FormatTest, AlignConsecutiveAssignments) { ++ verifyFormat("int oneTwoThree = 123; // comment\n" ++ "int oneTwo = 12; // comment", ++ Alignment); ++- ++- // Bug 25167 ++- verifyFormat("#if A\n" ++- "#else\n" ++- "int aaaaaaaa = 12;\n" ++- "#endif\n" ++- "#if B\n" ++- "#else\n" ++- "int a = 12;\n" ++- "#endif\n", ++- Alignment); ++- verifyFormat("enum foo {\n" ++- "#if A\n" ++- "#else\n" ++- " aaaaaaaa = 12;\n" ++- "#endif\n" ++- "#if B\n" ++- "#else\n" ++- " a = 12;\n" ++- "#endif\n" ++- "};\n", ++- Alignment); ++- ++ EXPECT_EQ("int a = 5;\n" ++ "\n" ++ "int oneTwoThree = 123;", ++diff --git a/clang/unittests/Format/FormatTestComments.cpp b/clang/unittests/Format/FormatTestComments.cpp ++index 47509f29744..d5b9f8e0885 100644 ++--- a/clang/unittests/Format/FormatTestComments.cpp +++++ b/clang/unittests/Format/FormatTestComments.cpp ++@@ -2780,27 +2780,6 @@ TEST_F(FormatTestComments, AlignTrailingComments) { ++ " // line 2 about b\n" ++ " long b;", ++ getLLVMStyleWithColumns(80))); ++- ++- // Checks an edge case in preprocessor handling. ++- // These comments should *not* be aligned ++- EXPECT_EQ( ++- "#if FOO\n" ++- "#else\n" ++- "long a; // Line about a\n" ++- "#endif\n" ++- "#if BAR\n" ++- "#else\n" ++- "long b_long_name; // Line about b\n" ++- "#endif\n", ++- format("#if FOO\n" ++- "#else\n" ++- "long a; // Line about a\n" // Previous (bad) behavior ++- "#endif\n" ++- "#if BAR\n" ++- "#else\n" ++- "long b_long_name; // Line about b\n" ++- "#endif\n", ++- getLLVMStyleWithColumns(80))); ++ } ++ ++ TEST_F(FormatTestComments, AlignsBlockCommentDecorations) { ++-- ++2.28.0 ++ diff --cc debian/patches/fix-clang-path-and-build.diff index 000000000,000000000..83e378daf new file mode 100644 --- /dev/null +++ b/debian/patches/fix-clang-path-and-build.diff @@@ -1,0 -1,0 +1,33 @@@ ++Index: llvm-toolchain-snapshot_11~++20200326111000+4673699a470/clang/lib/Driver/ToolChains/Linux.cpp ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/clang/lib/Driver/ToolChains/Linux.cpp +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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" ++@@ -663,8 +664,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 --cc debian/patches/fix-llvm-config-obj-src-root.patch index 000000000,000000000..2981e9b71 new file mode 100644 --- /dev/null +++ b/debian/patches/fix-llvm-config-obj-src-root.patch @@@ -1,0 -1,0 +1,20 @@@ ++--- ++ tools/llvm-config/llvm-config.cpp | 4 ++-- ++ 1 file changed, 2 insertions(+), 2 deletions(-) ++ ++Index: llvm-toolchain-snapshot_11~++20200326111000+4673699a470/llvm/tools/llvm-config/llvm-config.cpp ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/llvm/tools/llvm-config/llvm-config.cpp +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/llvm/tools/llvm-config/llvm-config.cpp ++@@ -561,9 +561,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 --cc debian/patches/fix-scan-view-path.diff index 000000000,000000000..fecb8eadc new file mode 100644 --- /dev/null +++ b/debian/patches/fix-scan-view-path.diff @@@ -1,0 -1,0 +1,21 @@@ ++Index: llvm-toolchain-snapshot_11~++20200326111000+4673699a470/clang/tools/scan-view/bin/scan-view ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/clang/tools/scan-view/bin/scan-view +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/clang/tools/scan-view/bin/scan-view ++@@ -28,6 +28,7 @@ kDefaultPort = 8181 ++ kMaxPortsToTry = 100 ++ ++ ### +++BASE_DIR = '/usr/share/clang/scan-view-11' ++ ++ ++ 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 --cc debian/patches/hurd/hurd-pathmax.diff index 000000000,000000000..a29ef236d new file mode 100644 --- /dev/null +++ b/debian/patches/hurd/hurd-pathmax.diff @@@ -1,0 -1,0 +1,49 @@@ ++Index: llvm-toolchain-snapshot_11~++20200624084348+31c40f2d6bc/clang/lib/Basic/FileManager.cpp ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200624084348+31c40f2d6bc.orig/clang/lib/Basic/FileManager.cpp +++++ llvm-toolchain-snapshot_11~++20200624084348+31c40f2d6bc/clang/lib/Basic/FileManager.cpp ++@@ -528,6 +528,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_11~++20200624084348+31c40f2d6bc/lldb/include/lldb/lldb-defines.h ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200624084348+31c40f2d6bc.orig/lldb/include/lldb/lldb-defines.h +++++ llvm-toolchain-snapshot_11~++20200624084348+31c40f2d6bc/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_11~++20200624084348+31c40f2d6bc/polly/lib/External/ppcg/cuda_common.c ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200624084348+31c40f2d6bc.orig/polly/lib/External/ppcg/cuda_common.c +++++ llvm-toolchain-snapshot_11~++20200624084348+31c40f2d6bc/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 --cc debian/patches/install-scan-build-py.diff index 000000000,000000000..2d1e63719 new file mode 100644 --- /dev/null +++ b/debian/patches/install-scan-build-py.diff @@@ -1,0 -1,0 +1,16 @@@ ++--- ++ clang/tools/CMakeLists.txt | 1 + ++ 1 file changed, 1 insertion(+) ++ ++Index: llvm-toolchain-snapshot_11~++20200326111000+4673699a470/clang/tools/CMakeLists.txt ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/clang/tools/CMakeLists.txt +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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 --cc debian/patches/kfreebsd/CMakeLists.txt.diff index 000000000,000000000..5f739bd12 new file mode 100644 --- /dev/null +++ b/debian/patches/kfreebsd/CMakeLists.txt.diff @@@ -1,0 -1,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 --cc debian/patches/kfreebsd/clang_lib_Basic_Targets.diff index 000000000,000000000..1acf81d82 new file mode 100644 --- /dev/null +++ b/debian/patches/kfreebsd/clang_lib_Basic_Targets.diff @@@ -1,0 -1,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 --cc debian/patches/kfreebsd/compiler-rt_lib.diff index 000000000,000000000..4f376484e new file mode 100644 --- /dev/null +++ b/debian/patches/kfreebsd/compiler-rt_lib.diff @@@ -1,0 -1,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 --cc debian/patches/kfreebsd/include_llvm_ADT_Triple.h.diff index 000000000,000000000..7fa4a854a new file mode 100644 --- /dev/null +++ b/debian/patches/kfreebsd/include_llvm_ADT_Triple.h.diff @@@ -1,0 -1,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 --cc debian/patches/kfreebsd/kfreebsd-libcxx-threads-detection.diff index 000000000,000000000..54c92e155 new file mode 100644 --- /dev/null +++ b/debian/patches/kfreebsd/kfreebsd-libcxx-threads-detection.diff @@@ -1,0 -1,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 --cc debian/patches/kfreebsd/kfreebsd-openmp.diff index 000000000,000000000..ba53484dc new file mode 100644 --- /dev/null +++ b/debian/patches/kfreebsd/kfreebsd-openmp.diff @@@ -1,0 -1,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 --cc debian/patches/kfreebsd/kfreebsd-threads-build.diff index 000000000,000000000..4601629be new file mode 100644 --- /dev/null +++ b/debian/patches/kfreebsd/kfreebsd-threads-build.diff @@@ -1,0 -1,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 --cc debian/patches/kfreebsd/kfreebsd-triple-clang.diff index 000000000,000000000..56657dafa new file mode 100644 --- /dev/null +++ b/debian/patches/kfreebsd/kfreebsd-triple-clang.diff @@@ -1,0 -1,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 --cc debian/patches/kfreebsd/kfreebsd-triple.diff index 000000000,000000000..50dd3f8a8 new file mode 100644 --- /dev/null +++ b/debian/patches/kfreebsd/kfreebsd-triple.diff @@@ -1,0 -1,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 --cc debian/patches/kfreebsd/lib_Support.diff index 000000000,000000000..c27fb302e new file mode 100644 --- /dev/null +++ b/debian/patches/kfreebsd/lib_Support.diff @@@ -1,0 -1,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 --cc debian/patches/kfreebsd/lib_Target_X86.diff index 000000000,000000000..636ab7833 new file mode 100644 --- /dev/null +++ b/debian/patches/kfreebsd/lib_Target_X86.diff @@@ -1,0 -1,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 --cc debian/patches/kfreebsd/lldb_source_Host_freebsd_Host.cpp.diff index 000000000,000000000..e99a83cef new file mode 100644 --- /dev/null +++ b/debian/patches/kfreebsd/lldb_source_Host_freebsd_Host.cpp.diff @@@ -1,0 -1,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 --cc debian/patches/kfreebsd/lldb_source_Plugins_Process_FreeBSD.diff index 000000000,000000000..7bc11c8fa new file mode 100644 --- /dev/null +++ b/debian/patches/kfreebsd/lldb_source_Plugins_Process_FreeBSD.diff @@@ -1,0 -1,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 --cc debian/patches/kfreebsd/tools_llvm-shlib_CMakeLists.txt.diff index 000000000,000000000..eeb847984 new file mode 100644 --- /dev/null +++ b/debian/patches/kfreebsd/tools_llvm-shlib_CMakeLists.txt.diff @@@ -1,0 -1,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 --cc debian/patches/libcxx-armhf-ftbfs.diff index 000000000,000000000..8d45e281b new file mode 100644 --- /dev/null +++ b/debian/patches/libcxx-armhf-ftbfs.diff @@@ -1,0 -1,0 +1,20 @@@ ++Index: llvm-toolchain-11-11.0.0~+rc2/libcxx/include/atomic ++=================================================================== ++--- llvm-toolchain-11-11.0.0~+rc2.orig/libcxx/include/atomic +++++ llvm-toolchain-11-11.0.0~+rc2/libcxx/include/atomic ++@@ -2775,10 +2775,15 @@ typedef conditional<_LIBCPP_CONTENTION_L ++ typedef conditional<_LIBCPP_CONTENTION_LOCK_FREE, __cxx_contention_t, unsigned char>::type __libcpp_unsigned_lock_free; ++ #else ++ // No signed/unsigned lock-free types +++#define NO_LOCK_FREE ++ #endif ++ +++#ifndef NO_LOCK_FREE ++ typedef atomic<__libcpp_signed_lock_free> atomic_signed_lock_free; ++ typedef atomic<__libcpp_unsigned_lock_free> atomic_unsigned_lock_free; +++#endif +++ +++#undef NO_LOCK_FREE ++ ++ #define ATOMIC_FLAG_INIT {false} ++ #define ATOMIC_VAR_INIT(__v) {__v} diff --cc debian/patches/libcxx/libcxx-riscv64-cycletimer.diff index 000000000,000000000..18223264a new file mode 100644 --- /dev/null +++ b/debian/patches/libcxx/libcxx-riscv64-cycletimer.diff @@@ -1,0 -1,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 --cc debian/patches/libcxx/libcxx-silent-failure-arm64.diff index 000000000,000000000..d8626eb5f new file mode 100644 --- /dev/null +++ b/debian/patches/libcxx/libcxx-silent-failure-arm64.diff @@@ -1,0 -1,0 +1,25 @@@ ++Index: llvm-toolchain-snapshot_11~++20200603103903+8bd7e4188a0/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200603103903+8bd7e4188a0.orig/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp +++++ llvm-toolchain-snapshot_11~++20200603103903+8bd7e4188a0/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp ++@@ -7,6 +7,7 @@ ++ //===----------------------------------------------------------------------===// ++ // ++ // UNSUPPORTED: libcpp-has-no-threads +++// XFAIL: * ++ ++ // ALLOW_RETRIES: 2 ++ ++Index: llvm-toolchain-snapshot_11~++20200603103903+8bd7e4188a0/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200603103903+8bd7e4188a0.orig/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp +++++ llvm-toolchain-snapshot_11~++20200603103903+8bd7e4188a0/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++03, c++11 ++-// XFAIL: dylib-has-no-shared_mutex +++// XFAIL: * ++ ++ // ALLOW_RETRIES: 2 ++ diff --cc debian/patches/libcxx/libcxx-silent-failure-ppc64el.diff index 000000000,000000000..6b7742688 new file mode 100644 --- /dev/null +++ b/debian/patches/libcxx/libcxx-silent-failure-ppc64el.diff @@@ -1,0 -1,0 +1,13 @@@ ++Index: llvm-toolchain-snapshot_11~++20200606122450+1eda9bfd612/libcxx/test/libcxx/atomics/atomics.align/align.pass.pass.cpp ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200606122450+1eda9bfd612.orig/libcxx/test/libcxx/atomics/atomics.align/align.pass.pass.cpp +++++ llvm-toolchain-snapshot_11~++20200606122450+1eda9bfd612/libcxx/test/libcxx/atomics/atomics.align/align.pass.pass.cpp ++@@ -11,7 +11,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 --cc debian/patches/libcxx/libcxx-silent-test-libcxx.diff index 000000000,000000000..65483cea3 new file mode 100644 --- /dev/null +++ b/debian/patches/libcxx/libcxx-silent-test-libcxx.diff @@@ -1,0 -1,0 +1,51 @@@ ++Index: llvm-toolchain-snapshot_11~++20200501102539+0ee7b7e3f1b/libcxx/test/std/numerics/rand/rand.util/rand.util.canonical/generate_canonical.pass.cpp ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200501102539+0ee7b7e3f1b.orig/libcxx/test/std/numerics/rand/rand.util/rand.util.canonical/generate_canonical.pass.cpp +++++ llvm-toolchain-snapshot_11~++20200501102539+0ee7b7e3f1b/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_11~++20200501102539+0ee7b7e3f1b/libcxx/test/std/re/re.traits/isctype.pass.cpp ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200501102539+0ee7b7e3f1b.orig/libcxx/test/std/re/re.traits/isctype.pass.cpp +++++ llvm-toolchain-snapshot_11~++20200501102539+0ee7b7e3f1b/libcxx/test/std/re/re.traits/isctype.pass.cpp ++@@ -12,6 +12,7 @@ ++ ++ // bool isctype(charT c, char_class_type f) const; ++ +++// XFAIL: * ++ ++ #include ++ #include ++Index: llvm-toolchain-snapshot_11~++20200501102539+0ee7b7e3f1b/libcxxabi/test/catch_multi_level_pointer.pass.cpp ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200501102539+0ee7b7e3f1b.orig/libcxxabi/test/catch_multi_level_pointer.pass.cpp +++++ llvm-toolchain-snapshot_11~++20200501102539+0ee7b7e3f1b/libcxxabi/test/catch_multi_level_pointer.pass.cpp ++@@ -8,6 +8,8 @@ ++ ++ // UNSUPPORTED: no-exceptions ++ +++// XFAIL: * +++ ++ #include ++ #include ++ #include ++Index: llvm-toolchain-snapshot_11~++20200501102539+0ee7b7e3f1b/libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct.pass.cpp ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200501102539+0ee7b7e3f1b.orig/libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct.pass.cpp +++++ llvm-toolchain-snapshot_11~++20200501102539+0ee7b7e3f1b/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 --cc debian/patches/libcxx/libcxx-test-atomics-set-compare-exchange-to-be-expected-fails-on-arm.patch index 000000000,000000000..7aa566eb9 new file mode 100644 --- /dev/null +++ b/debian/patches/libcxx/libcxx-test-atomics-set-compare-exchange-to-be-expected-fails-on-arm.patch @@@ -1,0 -1,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_11~++20200326111000+4673699a470/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong.pass.cpp ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong.pass.cpp +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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_11~++20200326111000+4673699a470/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong_explicit.pass.cpp ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong_explicit.pass.cpp +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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_11~++20200326111000+4673699a470/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak.pass.cpp ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak.pass.cpp +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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_11~++20200326111000+4673699a470/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak_explicit.pass.cpp ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak_explicit.pass.cpp +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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 --cc debian/patches/libcxx/libcxx-test-fix-lockfree-test-for-i386.patch index 000000000,000000000..42324ea5f new file mode 100644 --- /dev/null +++ b/debian/patches/libcxx/libcxx-test-fix-lockfree-test-for-i386.patch @@@ -1,0 -1,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_11~++20200326111000+4673699a470/libcxx/test/std/atomics/atomics.lockfree/isalwayslockfree.pass.cpp ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/libcxx/test/std/atomics/atomics.lockfree/isalwayslockfree.pass.cpp +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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 --cc debian/patches/libcxx/libcxxabi-arm-ehabi-fix.patch index 000000000,000000000..a5328e5c5 new file mode 100644 --- /dev/null +++ b/debian/patches/libcxx/libcxxabi-arm-ehabi-fix.patch @@@ -1,0 -1,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-snapshot_11~++20200326111000+4673699a470/libcxxabi/src/cxa_exception.cpp ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/libcxxabi/src/cxa_exception.cpp +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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-snapshot_11~++20200326111000+4673699a470/libcxxabi/src/cxa_exception.h ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/libcxxabi/src/cxa_exception.h +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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 --cc debian/patches/libcxx/libcxxabi-test-don-t-fail-extended-long-double.patch index 000000000,000000000..a89c565bf new file mode 100644 --- /dev/null +++ b/debian/patches/libcxx/libcxxabi-test-don-t-fail-extended-long-double.patch @@@ -1,0 -1,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_11~++20200326111000+4673699a470/libcxxabi/test/test_demangle.pass.cpp ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/libcxxabi/test/test_demangle.pass.cpp +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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 --cc debian/patches/lldb-libname.diff index 000000000,000000000..285198e79 new file mode 100644 --- /dev/null +++ b/debian/patches/lldb-libname.diff @@@ -1,0 -1,0 +1,17 @@@ ++--- ++ lldb/scripts/Python/finishSwigPythonLLDB.py | 2 +- ++ 1 file changed, 1 insertion(+), 1 deletion(-) ++ ++Index: llvm-toolchain-snapshot_11~svn3311515/lldb/scripts/Python/finishSwigPythonLLDB.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~svn3311515.orig/lldb/scripts/Python/finishSwigPythonLLDB.py +++++ llvm-toolchain-snapshot_11~svn3311515/lldb/scripts/Python/finishSwigPythonLLDB.py ++@@ -443,7 +443,7 @@ def make_symlink_liblldb( ++ if eOSType == utilsOsType.EnumOsType.Darwin: ++ strLibFileExtn = ".dylib" ++ else: ++- strLibFileExtn = ".so" +++ strLibFileExtn = "-11.so" ++ strSrc = os.path.join(vstrLldbLibDir, "liblldb" + strLibFileExtn) ++ ++ bOk, strErrMsg = make_symlink( diff --cc debian/patches/lldb-soname.diff index 000000000,000000000..954b4bcc7 new file mode 100644 --- /dev/null +++ b/debian/patches/lldb-soname.diff @@@ -1,0 -1,0 +1,43 @@@ ++--- ++ lldb/source/API/CMakeLists.txt | 14 +++++++------- ++ 1 file changed, 7 insertions(+), 7 deletions(-) ++ ++Index: llvm-toolchain-snapshot_11~++20200326111000+4673699a470/lldb/source/API/CMakeLists.txt ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/lldb/source/API/CMakeLists.txt +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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 ++@@ -160,7 +165,7 @@ endif() ++ ++ set_target_properties(liblldb ++ PROPERTIES ++- VERSION ${LLDB_VERSION} +++ VERSION 1 ++ ) ++ ++ if (NOT CMAKE_SYSTEM_NAME MATCHES "Windows") ++@@ -185,11 +190,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 --cc debian/patches/lldb/lldb-addversion-suffix-to-llvm-server-exec.patch index 000000000,000000000..3c90b3e01 new file mode 100644 --- /dev/null +++ b/debian/patches/lldb/lldb-addversion-suffix-to-llvm-server-exec.patch @@@ -1,0 -1,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_11~++20200326111000+4673699a470/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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 --cc debian/patches/lldb/lldb-disable-swig-error.diff index 000000000,000000000..83565f670 new file mode 100644 --- /dev/null +++ b/debian/patches/lldb/lldb-disable-swig-error.diff @@@ -1,0 -1,0 +1,13 @@@ ++Index: llvm-toolchain-snapshot_11~++20200326111000+4673699a470/lldb/bindings/python.swig ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/lldb/bindings/python.swig +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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 --cc debian/patches/lldb/lldb-link-atomic-cmake.patch index 000000000,000000000..a01508b51 new file mode 100644 --- /dev/null +++ b/debian/patches/lldb/lldb-link-atomic-cmake.patch @@@ -1,0 -1,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_11~++20200520102312+bc1c3655bfd/lldb/source/Utility/CMakeLists.txt ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200520102312+bc1c3655bfd.orig/lldb/source/Utility/CMakeLists.txt +++++ llvm-toolchain-snapshot_11~++20200520102312+bc1c3655bfd/lldb/source/Utility/CMakeLists.txt ++@@ -15,6 +15,13 @@ endif() ++ ++ list(APPEND LLDB_SYSTEM_LIBS ${CMAKE_DL_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 --cc debian/patches/lldb/lldb-missing-install.diff index 000000000,000000000..67f35169b new file mode 100644 --- /dev/null +++ b/debian/patches/lldb/lldb-missing-install.diff @@@ -1,0 -1,0 +1,23 @@@ ++Index: llvm-toolchain-snapshot_11~++20200326111000+4673699a470/lldb/tools/argdumper/CMakeLists.txt ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/lldb/tools/argdumper/CMakeLists.txt +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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_11~++20200326111000+4673699a470/lldb/tools/lldb-server/CMakeLists.txt ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/lldb/tools/lldb-server/CMakeLists.txt +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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 --cc debian/patches/mips-force-nomadd4.diff index 000000000,000000000..a42b1def0 new file mode 100644 --- /dev/null +++ b/debian/patches/mips-force-nomadd4.diff @@@ -1,0 -1,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-11-11.0.0/clang/lib/Basic/Targets/Mips.h ++=================================================================== ++--- llvm-toolchain-11-11.0.0.orig/clang/lib/Basic/Targets/Mips.h +++++ llvm-toolchain-11-11.0.0/clang/lib/Basic/Targets/Mips.h ++@@ -332,6 +332,8 @@ public: ++ 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-11-11.0.0/llvm/lib/Target/Mips/MipsSubtarget.cpp ++=================================================================== ++--- llvm-toolchain-11-11.0.0.orig/llvm/lib/Target/Mips/MipsSubtarget.cpp +++++ llvm-toolchain-11-11.0.0/llvm/lib/Target/Mips/MipsSubtarget.cpp ++@@ -79,7 +79,7 @@ MipsSubtarget::MipsSubtarget(const Tripl ++ 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 @@ MipsSubtarget::MipsSubtarget(const Tripl ++ 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 & ++ MipsSubtarget::initializeSubtargetDependencies(StringRef CPU, StringRef FS, ++ const TargetMachine &TM) { ++ StringRef CPUName = MIPS_MC::selectMipsCPU(TM.getTargetTriple(), CPU); +++ SubtargetFeatures Features(FS); ++ ++ // Parse features string. ++ ParseSubtargetFeatures(CPUName, FS); ++@@ -260,6 +264,13 @@ MipsSubtarget::initializeSubtargetDepend ++ 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-11-11.0.0/llvm/lib/Target/Mips/Mips.td ++=================================================================== ++--- llvm-toolchain-11-11.0.0.orig/llvm/lib/Target/Mips/Mips.td +++++ llvm-toolchain-11-11.0.0/llvm/lib/Target/Mips/Mips.td ++@@ -191,7 +191,7 @@ def FeatureUseTCCInDIV : SubtargetFeatur ++ "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-11-11.0.0/llvm/lib/Target/Mips/MipsInstrInfo.td ++=================================================================== ++--- llvm-toolchain-11-11.0.0.orig/llvm/lib/Target/Mips/MipsInstrInfo.td +++++ llvm-toolchain-11-11.0.0/llvm/lib/Target/Mips/MipsInstrInfo.td ++@@ -242,7 +242,7 @@ def HasEVA : Predicate<"Subtarg ++ def HasMSA : Predicate<"Subtarget->hasMSA()">, ++ AssemblerPredicate<(all_of FeatureMSA)>; ++ def HasMadd4 : Predicate<"!Subtarget->disableMadd4()">, ++- AssemblerPredicate<(all_of (not FeatureMadd4))>; +++ AssemblerPredicate<(all_of (not FeatureNoMadd4))>; ++ def HasMT : Predicate<"Subtarget->hasMT()">, ++ AssemblerPredicate<(all_of FeatureMT)>; ++ def UseIndirectJumpsHazard : Predicate<"Subtarget->useIndirectJumpsHazard()">, diff --cc debian/patches/mips-force-nomadd4.patch index 000000000,000000000..670b2f133 new file mode 100644 --- /dev/null +++ b/debian/patches/mips-force-nomadd4.patch @@@ -1,0 -1,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 --cc debian/patches/mips-fpxx-enable.diff index 000000000,000000000..d8d862f9f new file mode 100644 --- /dev/null +++ b/debian/patches/mips-fpxx-enable.diff @@@ -1,0 -1,0 +1,17 @@@ ++Index: llvm-toolchain-snapshot_11~++20200326111000+4673699a470/clang/lib/Driver/ToolChains/Arch/Mips.cpp ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/clang/lib/Driver/ToolChains/Arch/Mips.cpp +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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 --cc debian/patches/openmp-soname.diff index 000000000,000000000..e2e96e39e new file mode 100644 --- /dev/null +++ b/debian/patches/openmp-soname.diff @@@ -1,0 -1,0 +1,14 @@@ ++Index: llvm-toolchain-snapshot_11~++20200326111000+4673699a470/openmp/runtime/CMakeLists.txt ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/openmp/runtime/CMakeLists.txt +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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 --cc debian/patches/openmp/bootstrap-with-openmp-version-export-missing.diff index 000000000,000000000..dc721cf2b new file mode 100644 --- /dev/null +++ b/debian/patches/openmp/bootstrap-with-openmp-version-export-missing.diff @@@ -1,0 -1,0 +1,14 @@@ ++Index: llvm-toolchain-snapshot_11~++20200326111000+4673699a470/openmp/runtime/src/CMakeLists.txt ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/openmp/runtime/src/CMakeLists.txt +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/openmp/runtime/src/CMakeLists.txt ++@@ -168,7 +168,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 --cc debian/patches/openmp/openmp-check-execstack.diff index 000000000,000000000..b903ac4ee new file mode 100644 --- /dev/null +++ b/debian/patches/openmp/openmp-check-execstack.diff @@@ -1,0 -1,0 +1,14 @@@ ++Index: llvm-toolchain-snapshot_11~++20200326111000+4673699a470/openmp/runtime/tools/check-execstack.pl ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/openmp/runtime/tools/check-execstack.pl +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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 --cc debian/patches/openmp/openmp-mips-affinity.patch index 000000000,000000000..12473eeb1 new file mode 100644 --- /dev/null +++ b/debian/patches/openmp/openmp-mips-affinity.patch @@@ -1,0 -1,0 +1,56 @@@ ++Index: llvm-toolchain-snapshot_11~++20200326111000+4673699a470/openmp/runtime/src/kmp_affinity.h ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/openmp/runtime/src/kmp_affinity.h +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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 --cc debian/patches/powerpcspe/D49754-powerpcspe-clang.diff index 000000000,000000000..82800acb8 new file mode 100644 --- /dev/null +++ b/debian/patches/powerpcspe/D49754-powerpcspe-clang.diff @@@ -1,0 -1,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 --cc debian/patches/powerpcspe/D54583-powerpcspe-double-parameter.diff index 000000000,000000000..969f0eb89 new file mode 100644 --- /dev/null +++ b/debian/patches/powerpcspe/D54583-powerpcspe-double-parameter.diff @@@ -1,0 -1,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 --cc debian/patches/powerpcspe/D56703-powerpcspe-register-spilling.diff index 000000000,000000000..82183cf5b new file mode 100644 --- /dev/null +++ b/debian/patches/powerpcspe/D56703-powerpcspe-register-spilling.diff @@@ -1,0 -1,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 --cc debian/patches/print-lldb-path.patch index 000000000,000000000..948b2e2aa new file mode 100644 --- /dev/null +++ b/debian/patches/print-lldb-path.patch @@@ -1,0 -1,0 +1,16 @@@ ++Author: Gianfranco Costamagna ++Last-Update: 2020-01-21 ++ ++Index: llvm-toolchain-snapshot_11~++20200708031542+64363a9d930/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200708031542+64363a9d930.orig/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp +++++ llvm-toolchain-snapshot_11~++20200708031542+64363a9d930/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp ++@@ -365,6 +365,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 --cc debian/patches/python-clangpath.diff index 000000000,000000000..69d8d8c1e new file mode 100644 --- /dev/null +++ b/debian/patches/python-clangpath.diff @@@ -1,0 -1,0 +1,17 @@@ ++--- ++ clang/bindings/python/clang/cindex.py | 2 +- ++ 1 file changed, 1 insertion(+), 1 deletion(-) ++ ++Index: llvm-toolchain-snapshot_11~++20200326111000+4673699a470/clang/bindings/python/clang/cindex.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/clang/bindings/python/clang/cindex.py +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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-11.so' ++ ++ if Config.library_path: ++ file = Config.library_path + '/' + file diff --cc debian/patches/python3-shebang.patch index 000000000,000000000..48f67332f new file mode 100644 --- /dev/null +++ b/debian/patches/python3-shebang.patch @@@ -1,0 -1,0 +1,1332 @@@ ++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_11~++20200604112712+2ad0ef6ef19/clang-tools-extra/clang-include-fixer/find-all-symbols/tool/run-find-all-symbols.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/clang-tools-extra/clang-include-fixer/find-all-symbols/tool/run-find-all-symbols.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/clang-tools-extra/clang-tidy/add_new_check.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/clang-tools-extra/clang-tidy/add_new_check.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/clang-tools-extra/clang-tidy/rename_check.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/clang-tools-extra/clang-tidy/rename_check.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/clang-tools-extra/clangd/include-mapping/cppreference_parser.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/clang-tools-extra/clangd/include-mapping/cppreference_parser.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/clang-tools-extra/clangd/include-mapping/gen_std.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/clang-tools-extra/clangd/include-mapping/gen_std.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/clang-tools-extra/clangd/include-mapping/test.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/clang-tools-extra/clangd/include-mapping/test.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/clang-tools-extra/test/clang-tidy/check_clang_tidy.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/clang-tools-extra/test/clang-tidy/check_clang_tidy.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/clang/bindings/python/examples/cindex/cindex-dump.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/clang/bindings/python/examples/cindex/cindex-dump.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/clang/bindings/python/examples/cindex/cindex-includes.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/clang/bindings/python/examples/cindex/cindex-includes.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/clang/docs/tools/dump_ast_matchers.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/clang/docs/tools/dump_ast_matchers.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/clang/docs/tools/dump_format_style.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/clang/docs/tools/dump_format_style.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/clang/test/AST/gen_ast_dump_json_test.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/clang/test/AST/gen_ast_dump_json_test.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/clang/tools/clang-format/clang-format-diff.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/clang/tools/clang-format/clang-format-diff.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/clang/tools/clang-format/git-clang-format ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/clang/tools/clang-format/git-clang-format +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/clang/tools/scan-build-py/bin/analyze-build ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/clang/tools/scan-build-py/bin/analyze-build +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/clang/tools/scan-build-py/bin/analyze-c++ ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/clang/tools/scan-build-py/bin/analyze-c++ +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/clang/tools/scan-build-py/bin/analyze-cc ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/clang/tools/scan-build-py/bin/analyze-cc +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/clang/tools/scan-build-py/bin/intercept-build ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/clang/tools/scan-build-py/bin/intercept-build +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/clang/tools/scan-build-py/bin/intercept-c++ ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/clang/tools/scan-build-py/bin/intercept-c++ +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/clang/tools/scan-build-py/bin/intercept-cc ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/clang/tools/scan-build-py/bin/intercept-cc +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/clang/tools/scan-build-py/bin/scan-build ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/clang/tools/scan-build-py/bin/scan-build +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/clang/tools/scan-view/bin/scan-view ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/clang/tools/scan-view/bin/scan-view +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/clang/tools/scan-view/share/Reporter.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/clang/tools/scan-view/share/Reporter.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/clang/tools/scan-view/share/startfile.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/clang/tools/scan-view/share/startfile.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/clang/utils/ABITest/ABITestGen.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/clang/utils/ABITest/ABITestGen.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/clang/utils/CIndex/completion_logger_server.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/clang/utils/CIndex/completion_logger_server.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/clang/utils/CaptureCmd ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/clang/utils/CaptureCmd +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/clang/utils/CmpDriver ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/clang/utils/CmpDriver +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/clang/utils/FindSpecRefs ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/clang/utils/FindSpecRefs +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/clang/utils/FindSpecRefs ++@@ -1,4 +1,4 @@ ++-#!/usr/bin/env python +++#!/usr/bin/env python3 ++ ++ import os ++ import re ++Index: llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/clang/utils/FuzzTest ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/clang/utils/FuzzTest +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/clang/utils/TestUtils/deep-stack.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/clang/utils/TestUtils/deep-stack.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/clang/utils/analyzer/CmpRuns.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/clang/utils/analyzer/CmpRuns.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/clang/utils/analyzer/SATestAdd.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/clang/utils/analyzer/SATestAdd.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/clang/utils/analyzer/SATestBuild.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/clang/utils/analyzer/SATestBuild.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/clang/utils/analyzer/SATestUpdateDiffs.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/clang/utils/analyzer/SATestUpdateDiffs.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/clang/utils/analyzer/SumTimerInfo.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/clang/utils/analyzer/SumTimerInfo.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/clang/utils/analyzer/exploded-graph-rewriter.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/clang/utils/analyzer/exploded-graph-rewriter.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/clang/utils/check_cfc/check_cfc.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/clang/utils/check_cfc/check_cfc.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/clang/utils/check_cfc/obj_diff.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/clang/utils/check_cfc/obj_diff.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/clang/utils/check_cfc/test_check_cfc.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/clang/utils/check_cfc/test_check_cfc.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/clang/utils/creduce-clang-crash.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/clang/utils/creduce-clang-crash.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/clang/utils/hmaptool/hmaptool ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/clang/utils/hmaptool/hmaptool +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/clang/utils/modfuzz.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/clang/utils/modfuzz.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/clang/utils/token-delta.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/clang/utils/token-delta.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/compiler-rt/lib/asan/scripts/asan_symbolize.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/compiler-rt/lib/asan/scripts/asan_symbolize.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/compiler-rt/lib/dfsan/scripts/build-libc-list.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/compiler-rt/lib/dfsan/scripts/build-libc-list.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/compiler-rt/lib/fuzzer/scripts/unbalanced_allocs.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/compiler-rt/lib/fuzzer/scripts/unbalanced_allocs.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/compiler-rt/lib/sanitizer_common/scripts/cpplint.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/compiler-rt/lib/sanitizer_common/scripts/cpplint.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/compiler-rt/lib/sanitizer_common/scripts/gen_dynamic_list.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/compiler-rt/lib/sanitizer_common/scripts/gen_dynamic_list.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/compiler-rt/lib/sanitizer_common/scripts/litlint.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/compiler-rt/lib/sanitizer_common/scripts/litlint.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/compiler-rt/lib/sanitizer_common/scripts/sancov.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/compiler-rt/lib/sanitizer_common/scripts/sancov.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/libcxx/utils/cat_files.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/libcxx/utils/cat_files.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/libcxx/utils/generate_feature_test_macro_components.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/libcxx/utils/generate_feature_test_macro_components.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/libcxx/utils/google-benchmark/mingw.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/libcxx/utils/google-benchmark/mingw.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/libcxx/utils/google-benchmark/tools/compare.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/libcxx/utils/google-benchmark/tools/compare.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/libcxx/utils/google-benchmark/tools/strip_asm.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/libcxx/utils/google-benchmark/tools/strip_asm.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/libcxx/utils/merge_archives.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/libcxx/utils/merge_archives.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/libcxx/utils/sym_diff.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/libcxx/utils/sym_diff.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/libcxx/utils/sym_extract.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/libcxx/utils/sym_extract.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/libcxx/utils/sym_match.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/libcxx/utils/sym_match.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/lld/utils/benchmark.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/lld/utils/benchmark.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/lldb/examples/python/file_extract.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/lldb/examples/python/file_extract.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/lldb/packages/Python/lldbsuite/test/bench.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/lldb/packages/Python/lldbsuite/test/bench.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/vscode.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/vscode.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/lldb/scripts/analyze-project-deps.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/lldb/scripts/analyze-project-deps.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/lldb/scripts/verify_api.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/lldb/scripts/verify_api.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/lldb/third_party/Python/module/pexpect-4.6/pexpect/FSM.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/lldb/third_party/Python/module/pexpect-4.6/pexpect/FSM.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/lldb/utils/lui/lui.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/lldb/utils/lui/lui.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/lldb/utils/lui/sandbox.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/lldb/utils/lui/sandbox.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/lldb/utils/test/disasm.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/lldb/utils/test/disasm.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/lldb/utils/test/lldb-disasm.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/lldb/utils/test/lldb-disasm.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/lldb/utils/test/llvm-mc-shell.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/lldb/utils/test/llvm-mc-shell.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/lldb/utils/test/ras.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/lldb/utils/test/ras.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/lldb/utils/test/run-dis.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/lldb/utils/test/run-dis.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/lldb/utils/test/run-until-faulted.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/lldb/utils/test/run-until-faulted.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/llvm/examples/Kaleidoscope/MCJIT/cached/genk-timing.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/llvm/examples/Kaleidoscope/MCJIT/cached/genk-timing.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/llvm/examples/Kaleidoscope/MCJIT/cached/split-lib.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/llvm/examples/Kaleidoscope/MCJIT/cached/split-lib.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/llvm/examples/Kaleidoscope/MCJIT/complete/genk-timing.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/llvm/examples/Kaleidoscope/MCJIT/complete/genk-timing.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/llvm/examples/Kaleidoscope/MCJIT/complete/split-lib.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/llvm/examples/Kaleidoscope/MCJIT/complete/split-lib.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/llvm/examples/Kaleidoscope/MCJIT/lazy/genk-timing.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/llvm/examples/Kaleidoscope/MCJIT/lazy/genk-timing.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/llvm/runtimes/llvm-strip-link.in ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/llvm/runtimes/llvm-strip-link.in +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/llvm/test/BugPoint/compile-custom.ll.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/llvm/test/BugPoint/compile-custom.ll.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/llvm/test/Other/opt-bisect-helper.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/llvm/test/Other/opt-bisect-helper.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/llvm/test/TableGen/JSON-check.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/llvm/test/TableGen/JSON-check.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/llvm/tools/opt-viewer/opt-diff.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/llvm/tools/opt-viewer/opt-diff.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/llvm/tools/opt-viewer/opt-stats.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/llvm/tools/opt-viewer/opt-stats.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/llvm/tools/opt-viewer/opt-viewer.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/llvm/tools/opt-viewer/opt-viewer.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/llvm/tools/opt-viewer/optrecord.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/llvm/tools/opt-viewer/optrecord.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/llvm/utils/Misc/zkill ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/llvm/utils/Misc/zkill +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/llvm/utils/Misc/zkill ++@@ -1,4 +1,4 @@ ++-#!/usr/bin/env python +++#!/usr/bin/env python3 ++ ++ import os ++ import re ++Index: llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/llvm/utils/abtest.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/llvm/utils/abtest.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/llvm/utils/benchmark/mingw.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/llvm/utils/benchmark/mingw.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/llvm/utils/benchmark/tools/compare.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/llvm/utils/benchmark/tools/compare.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/llvm/utils/benchmark/tools/strip_asm.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/llvm/utils/benchmark/tools/strip_asm.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/llvm/utils/bisect ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/llvm/utils/bisect +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/llvm/utils/bisect-skip-count ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/llvm/utils/bisect-skip-count +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/llvm/utils/bugpoint_gisel_reducer.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/llvm/utils/bugpoint_gisel_reducer.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/llvm/utils/chunk-print-before-all.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/llvm/utils/chunk-print-before-all.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/llvm/utils/clang-parse-diagnostics-file ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/llvm/utils/clang-parse-diagnostics-file +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/llvm/utils/create_ladder_graph.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/llvm/utils/create_ladder_graph.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/llvm/utils/extract_symbols.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/llvm/utils/extract_symbols.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/llvm/utils/extract_vplan.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/llvm/utils/extract_vplan.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/llvm/utils/gn/build/run_tablegen.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/llvm/utils/gn/build/run_tablegen.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/llvm/utils/gn/build/symlink_or_copy.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/llvm/utils/gn/build/symlink_or_copy.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/llvm/utils/gn/build/sync_source_lists_from_cmake.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/llvm/utils/gn/build/sync_source_lists_from_cmake.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/llvm/utils/gn/build/write_cmake_config.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/llvm/utils/gn/build/write_cmake_config.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/llvm/utils/gn/build/write_vcsrevision.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/llvm/utils/gn/build/write_vcsrevision.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/llvm/utils/gn/get.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/llvm/utils/gn/get.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/llvm/utils/gn/gn.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/llvm/utils/gn/gn.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/llvm/utils/indirect_calls.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/llvm/utils/indirect_calls.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/llvm/utils/lit/lit.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/llvm/utils/lit/lit.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/llvm/utils/lit/lit/ProgressBar.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/llvm/utils/lit/lit/ProgressBar.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/llvm/utils/lit/tests/Inputs/googletest-format/DummySubDir/OneTest.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/llvm/utils/lit/tests/Inputs/googletest-format/DummySubDir/OneTest.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/llvm/utils/lit/tests/Inputs/googletest-timeout/DummySubDir/OneTest.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/llvm/utils/lit/tests/Inputs/googletest-timeout/DummySubDir/OneTest.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/llvm/utils/lit/tests/Inputs/googletest-upstream-format/DummySubDir/OneTest.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/llvm/utils/lit/tests/Inputs/googletest-upstream-format/DummySubDir/OneTest.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/llvm/utils/lit/tests/Inputs/shtest-env/print_environment.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/llvm/utils/lit/tests/Inputs/shtest-env/print_environment.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/llvm/utils/lit/tests/Inputs/shtest-format/external_shell/write-bad-encoding.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/llvm/utils/lit/tests/Inputs/shtest-format/external_shell/write-bad-encoding.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/llvm/utils/lit/tests/Inputs/shtest-shell/check_args.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/llvm/utils/lit/tests/Inputs/shtest-shell/check_args.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/llvm/utils/lit/tests/Inputs/shtest-shell/check_path.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/llvm/utils/lit/tests/Inputs/shtest-shell/check_path.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/llvm/utils/lit/tests/Inputs/shtest-shell/write-to-stderr.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/llvm/utils/lit/tests/Inputs/shtest-shell/write-to-stderr.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/llvm/utils/lit/tests/Inputs/shtest-shell/write-to-stdout-and-stderr.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/llvm/utils/lit/tests/Inputs/shtest-shell/write-to-stdout-and-stderr.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/llvm/utils/llvm-build/llvm-build ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/llvm/utils/llvm-build/llvm-build +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/llvm/utils/llvm-build/llvm-build ++@@ -1,4 +1,4 @@ ++-#!/usr/bin/env python +++#!/usr/bin/env python3 ++ ++ import llvmbuild ++ ++Index: llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/llvm/utils/llvm-gisel-cov.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/llvm/utils/llvm-gisel-cov.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/llvm/utils/llvm-lit/llvm-lit.in ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/llvm/utils/llvm-lit/llvm-lit.in +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/llvm/utils/prepare-code-coverage-artifact.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/llvm/utils/prepare-code-coverage-artifact.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/llvm/utils/release/findRegressions-nightly.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/llvm/utils/release/findRegressions-nightly.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/llvm/utils/release/findRegressions-simple.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/llvm/utils/release/findRegressions-simple.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/llvm/utils/shuffle_fuzz.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/llvm/utils/shuffle_fuzz.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/llvm/utils/shuffle_select_fuzz_tester.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/llvm/utils/shuffle_select_fuzz_tester.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/llvm/utils/sort_includes.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/llvm/utils/sort_includes.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/llvm/utils/unicode-case-fold.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/llvm/utils/unicode-case-fold.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/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_11~++20200604112712+2ad0ef6ef19/llvm/utils/wciia.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19.orig/llvm/utils/wciia.py +++++ llvm-toolchain-snapshot_11~++20200604112712+2ad0ef6ef19/llvm/utils/wciia.py ++@@ -1,4 +1,4 @@ ++-#!/usr/bin/env python +++#!/usr/bin/env python3 ++ ++ """ ++ wciia - Whose Code Is It Anyway diff --cc debian/patches/remove-apple-clang-manpage.diff index 000000000,000000000..af482f443 new file mode 100644 --- /dev/null +++ b/debian/patches/remove-apple-clang-manpage.diff @@@ -1,0 -1,0 +1,38 @@@ ++Index: llvm-toolchain-snapshot_11~++20200326111000+4673699a470/clang/docs/CommandGuide/clang.rst ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/clang/docs/CommandGuide/clang.rst +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/clang/docs/CommandGuide/clang.rst ++@@ -319,20 +319,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 ++@@ -635,11 +625,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 --cc debian/patches/remove-test-freezing.diff index 000000000,000000000..859bf4029 new file mode 100644 --- /dev/null +++ b/debian/patches/remove-test-freezing.diff @@@ -1,0 -1,0 +1,34 @@@ ++Index: llvm-toolchain-snapshot_11~++20200326111000+4673699a470/compiler-rt/test/sanitizer_common/TestCases/Linux/sysconf_interceptor_bypass_test.cpp ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/compiler-rt/test/sanitizer_common/TestCases/Linux/sysconf_interceptor_bypass_test.cpp +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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 --cc debian/patches/remove-trailing-space-version.diff index 000000000,000000000..fadcf7f73 new file mode 100644 --- /dev/null +++ b/debian/patches/remove-trailing-space-version.diff @@@ -1,0 -1,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 --cc debian/patches/risc/clang-riscv64-multiarch.diff index 000000000,000000000..62119f833 new file mode 100644 --- /dev/null +++ b/debian/patches/risc/clang-riscv64-multiarch.diff @@@ -1,0 -1,0 +1,34 @@@ ++Index: llvm-toolchain-snapshot_11~++20200409051253+d08105482e1/clang/lib/Driver/ToolChains/Linux.cpp ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200409051253+d08105482e1.orig/clang/lib/Driver/ToolChains/Linux.cpp +++++ llvm-toolchain-snapshot_11~++20200409051253+d08105482e1/clang/lib/Driver/ToolChains/Linux.cpp ++@@ -151,6 +151,10 @@ std::string Linux::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"; ++@@ -761,6 +765,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[] = { ++@@ -836,6 +842,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 --cc debian/patches/scan-build-clang-path.diff index 000000000,000000000..707260135 new file mode 100644 --- /dev/null +++ b/debian/patches/scan-build-clang-path.diff @@@ -1,0 -1,0 +1,17 @@@ ++--- ++ clang/tools/scan-build/bin/scan-build | 2 +- ++ 1 file changed, 1 insertion(+), 1 deletion(-) ++ ++Index: llvm-toolchain-snapshot_11~++20200326111000+4673699a470/clang/tools/scan-build/bin/scan-build ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/clang/tools/scan-build/bin/scan-build +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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-11/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 --cc debian/patches/scan-view-fix-path.diff index 000000000,000000000..bdfd11711 new file mode 100644 --- /dev/null +++ b/debian/patches/scan-view-fix-path.diff @@@ -1,0 -1,0 +1,13 @@@ ++Index: llvm-toolchain-snapshot_11~++20200326111000+4673699a470/clang/tools/scan-view/bin/scan-view ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/clang/tools/scan-view/bin/scan-view +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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 --cc debian/patches/series index 000000000,000000000..c447cb9bc new file mode 100644 --- /dev/null +++ b/debian/patches/series @@@ -1,0 -1,0 +1,146 @@@ ++# 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 ++mips-force-nomadd4.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-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 ++ ++# Compiler-rt - workaround ++workaround-bug-42994-use-linker.diff ++ ++# bug 939472 ++#try-to-unbreak-thinlto.diff ++D67877.patch ++ ++x86-fuzzer.patch ++ ++python3-shebang.patch ++print-lldb-path.patch ++libcxx-armhf-ftbfs.diff ++fix-clang-format-bug-47589.patch ++#0001-tsan-doesn-t-work-on-arm.patch ++#0002-Disable-test_asan_heap.c-for-arm-30.patch ++#0003-leaksan-add-a-test-31.patch ++silent-integration-test-suite-i386.diff diff --cc debian/patches/silent-MCJIIT-tests.diff index 000000000,000000000..d661554f9 new file mode 100644 --- /dev/null +++ b/debian/patches/silent-MCJIIT-tests.diff @@@ -1,0 -1,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_11~++20200326111000+4673699a470/llvm/test/ExecutionEngine/MCJIT/cross-module-sm-pic-a.ll ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/llvm/test/ExecutionEngine/MCJIT/cross-module-sm-pic-a.ll +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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_11~++20200326111000+4673699a470/llvm/test/ExecutionEngine/MCJIT/eh-lg-pic.ll ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/llvm/test/ExecutionEngine/MCJIT/eh-lg-pic.ll +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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_11~++20200326111000+4673699a470/llvm/test/ExecutionEngine/MCJIT/multi-module-sm-pic-a.ll ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/llvm/test/ExecutionEngine/MCJIT/multi-module-sm-pic-a.ll +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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_11~++20200326111000+4673699a470/llvm/test/ExecutionEngine/MCJIT/stubs-sm-pic.ll ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/llvm/test/ExecutionEngine/MCJIT/stubs-sm-pic.ll +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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_11~++20200326111000+4673699a470/llvm/test/ExecutionEngine/MCJIT/test-global-init-nonzero-sm-pic.ll ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/llvm/test/ExecutionEngine/MCJIT/test-global-init-nonzero-sm-pic.ll +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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_11~++20200326111000+4673699a470/llvm/test/ExecutionEngine/MCJIT/test-ptr-reloc-sm-pic.ll ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/llvm/test/ExecutionEngine/MCJIT/test-ptr-reloc-sm-pic.ll +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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_11~++20200326111000+4673699a470/llvm/test/ExecutionEngine/OrcMCJIT/cross-module-sm-pic-a.ll ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/llvm/test/ExecutionEngine/OrcMCJIT/cross-module-sm-pic-a.ll +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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_11~++20200326111000+4673699a470/llvm/test/ExecutionEngine/OrcMCJIT/eh-lg-pic.ll ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/llvm/test/ExecutionEngine/OrcMCJIT/eh-lg-pic.ll +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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_11~++20200326111000+4673699a470/llvm/test/ExecutionEngine/OrcMCJIT/multi-module-sm-pic-a.ll ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/llvm/test/ExecutionEngine/OrcMCJIT/multi-module-sm-pic-a.ll +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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_11~++20200326111000+4673699a470/llvm/test/ExecutionEngine/OrcMCJIT/remote/test-global-init-nonzero-sm-pic.ll ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/llvm/test/ExecutionEngine/OrcMCJIT/remote/test-global-init-nonzero-sm-pic.ll +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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_11~++20200326111000+4673699a470/llvm/test/ExecutionEngine/OrcMCJIT/remote/test-ptr-reloc-sm-pic.ll ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/llvm/test/ExecutionEngine/OrcMCJIT/remote/test-ptr-reloc-sm-pic.ll +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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_11~++20200326111000+4673699a470/llvm/test/ExecutionEngine/OrcMCJIT/stubs-sm-pic.ll ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/llvm/test/ExecutionEngine/OrcMCJIT/stubs-sm-pic.ll +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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_11~++20200326111000+4673699a470/llvm/test/ExecutionEngine/OrcMCJIT/test-global-init-nonzero-sm-pic.ll ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/llvm/test/ExecutionEngine/OrcMCJIT/test-global-init-nonzero-sm-pic.ll +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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_11~++20200326111000+4673699a470/llvm/test/ExecutionEngine/OrcMCJIT/test-ptr-reloc-sm-pic.ll ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/llvm/test/ExecutionEngine/OrcMCJIT/test-ptr-reloc-sm-pic.ll +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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_11~++20200326111000+4673699a470/llvm/test/Feature/load_module.ll ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/llvm/test/Feature/load_module.ll +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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 --cc debian/patches/silent-amd-tet.diff index 000000000,000000000..bf0e41865 new file mode 100644 --- /dev/null +++ b/debian/patches/silent-amd-tet.diff @@@ -1,0 -1,0 +1,11 @@@ ++Index: llvm-toolchain-snapshot_11~++20200326111000+4673699a470/llvm/test/MC/AMDGPU/hsa.s ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/llvm/test/MC/AMDGPU/hsa.s +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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 --cc debian/patches/silent-gold-test.diff index 000000000,000000000..5c407eb97 new file mode 100644 --- /dev/null +++ b/debian/patches/silent-gold-test.diff @@@ -1,0 -1,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_11~++20200326111000+4673699a470/llvm/test/tools/gold/X86/start-lib-common.ll ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/llvm/test/tools/gold/X86/start-lib-common.ll +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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_11~++20200326111000+4673699a470/llvm/test/tools/gold/X86/comdat.ll ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/llvm/test/tools/gold/X86/comdat.ll +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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 --cc debian/patches/silent-gold-utils.diff index 000000000,000000000..ecdf3cda3 new file mode 100644 --- /dev/null +++ b/debian/patches/silent-gold-utils.diff @@@ -1,0 -1,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-11_11~++20200722070408+c522fd02da1/llvm/test/tools/gold/X86/common_thinlto.ll ++=================================================================== ++--- llvm-toolchain-11_11~++20200722070408+c522fd02da1.orig/llvm/test/tools/gold/X86/common_thinlto.ll +++++ llvm-toolchain-11_11~++20200722070408+c522fd02da1/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-11_11~++20200722070408+c522fd02da1/llvm/test/tools/gold/X86/emit-llvm.ll ++=================================================================== ++--- llvm-toolchain-11_11~++20200722070408+c522fd02da1.orig/llvm/test/tools/gold/X86/emit-llvm.ll +++++ llvm-toolchain-11_11~++20200722070408+c522fd02da1/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-11_11~++20200722070408+c522fd02da1/llvm/test/tools/gold/X86/parallel.ll ++=================================================================== ++--- llvm-toolchain-11_11~++20200722070408+c522fd02da1.orig/llvm/test/tools/gold/X86/parallel.ll +++++ llvm-toolchain-11_11~++20200722070408+c522fd02da1/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.lto.o | FileCheck --check-prefix=CHECK0 %s ++ ; RUN: llvm-nm %t.lto.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-11_11~++20200722070408+c522fd02da1/llvm/test/tools/gold/X86/pr19901_thinlto.ll ++=================================================================== ++--- llvm-toolchain-11_11~++20200722070408+c522fd02da1.orig/llvm/test/tools/gold/X86/pr19901_thinlto.ll +++++ llvm-toolchain-11_11~++20200722070408+c522fd02da1/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-11_11~++20200722070408+c522fd02da1/llvm/test/tools/gold/X86/slp-vectorize.ll ++=================================================================== ++--- llvm-toolchain-11_11~++20200722070408+c522fd02da1.orig/llvm/test/tools/gold/X86/slp-vectorize.ll +++++ llvm-toolchain-11_11~++20200722070408+c522fd02da1/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-11_11~++20200722070408+c522fd02da1/llvm/test/tools/gold/X86/strip_names.ll ++=================================================================== ++--- llvm-toolchain-11_11~++20200722070408+c522fd02da1.orig/llvm/test/tools/gold/X86/strip_names.ll +++++ llvm-toolchain-11_11~++20200722070408+c522fd02da1/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-11_11~++20200722070408+c522fd02da1/llvm/test/tools/gold/X86/thinlto.ll ++=================================================================== ++--- llvm-toolchain-11_11~++20200722070408+c522fd02da1.orig/llvm/test/tools/gold/X86/thinlto.ll +++++ llvm-toolchain-11_11~++20200722070408+c522fd02da1/llvm/test/tools/gold/X86/thinlto.ll ++@@ -148,6 +148,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-11_11~++20200722070408+c522fd02da1/llvm/test/tools/gold/X86/thinlto_archive.ll ++=================================================================== ++--- llvm-toolchain-11_11~++20200722070408+c522fd02da1.orig/llvm/test/tools/gold/X86/thinlto_archive.ll +++++ llvm-toolchain-11_11~++20200722070408+c522fd02da1/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-11_11~++20200722070408+c522fd02da1/llvm/test/tools/gold/X86/thinlto_internalize.ll ++=================================================================== ++--- llvm-toolchain-11_11~++20200722070408+c522fd02da1.orig/llvm/test/tools/gold/X86/thinlto_internalize.ll +++++ llvm-toolchain-11_11~++20200722070408+c522fd02da1/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-11_11~++20200722070408+c522fd02da1/llvm/test/tools/gold/X86/thinlto_linkonceresolution.ll ++=================================================================== ++--- llvm-toolchain-11_11~++20200722070408+c522fd02da1.orig/llvm/test/tools/gold/X86/thinlto_linkonceresolution.ll +++++ llvm-toolchain-11_11~++20200722070408+c522fd02da1/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-11_11~++20200722070408+c522fd02da1/llvm/test/tools/gold/X86/thinlto_weak_resolution.ll ++=================================================================== ++--- llvm-toolchain-11_11~++20200722070408+c522fd02da1.orig/llvm/test/tools/gold/X86/thinlto_weak_resolution.ll +++++ llvm-toolchain-11_11~++20200722070408+c522fd02da1/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-11_11~++20200722070408+c522fd02da1/llvm/test/tools/gold/X86/type-merge2.ll ++=================================================================== ++--- llvm-toolchain-11_11~++20200722070408+c522fd02da1.orig/llvm/test/tools/gold/X86/type-merge2.ll +++++ llvm-toolchain-11_11~++20200722070408+c522fd02da1/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-11_11~++20200722070408+c522fd02da1/llvm/test/tools/gold/X86/vectorize.ll ++=================================================================== ++--- llvm-toolchain-11_11~++20200722070408+c522fd02da1.orig/llvm/test/tools/gold/X86/vectorize.ll +++++ llvm-toolchain-11_11~++20200722070408+c522fd02da1/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-11_11~++20200722070408+c522fd02da1/llvm/test/tools/gold/X86/visibility.ll ++=================================================================== ++--- llvm-toolchain-11_11~++20200722070408+c522fd02da1.orig/llvm/test/tools/gold/X86/visibility.ll +++++ llvm-toolchain-11_11~++20200722070408+c522fd02da1/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 --cc debian/patches/silent-integration-test-suite-i386.diff index 000000000,000000000..d228c7a06 new file mode 100644 --- /dev/null +++ b/debian/patches/silent-integration-test-suite-i386.diff @@@ -1,0 -1,0 +1,48 @@@ ++Index: llvm-toolchain-11-11.0.0/integration-test-suite/tests/basic_lldb.c ++=================================================================== ++--- llvm-toolchain-11-11.0.0.orig/integration-test-suite/tests/basic_lldb.c +++++ llvm-toolchain-11-11.0.0/integration-test-suite/tests/basic_lldb.c ++@@ -1,6 +1,7 @@ ++ // RUN: %clang -g -o %t %s ++ // RUN: %lldb -s %S/basic_lldb.in %t | grep "main at basic_lldb.c:" ++ // REQUIRES: lldb, clang +++// XFAIL: i686, i386 ++ ++ int main() { ++ int a=0; ++Index: llvm-toolchain-11-11.0.0/integration-test-suite/tests/basic_lldb2.cpp ++=================================================================== ++--- llvm-toolchain-11-11.0.0.orig/integration-test-suite/tests/basic_lldb2.cpp +++++ llvm-toolchain-11-11.0.0/integration-test-suite/tests/basic_lldb2.cpp ++@@ -1,6 +1,7 @@ ++ // RUN: %clangxx -g -o %t %s ++ // RUN: %lldb -s %S/basic_lldb2.in %t | grep "stop reason = step over" ++ // REQUIRES: lldb, clangxx +++// XFAIL: i686, i386 ++ ++ #include ++ int main (void) ++Index: llvm-toolchain-11-11.0.0/integration-test-suite/tests/test_asan_lc.c ++=================================================================== ++--- llvm-toolchain-11-11.0.0.orig/integration-test-suite/tests/test_asan_lc.c +++++ llvm-toolchain-11-11.0.0/integration-test-suite/tests/test_asan_lc.c ++@@ -3,6 +3,7 @@ ++ // REQUIRES: clang ++ // RUN: %clang -fsanitize=address %s -o %t -lc ++ // RUN: %t +++// XFAIL: i686, i386 ++ ++ #include ++ int main(int argc, char **argv) ++Index: llvm-toolchain-11-11.0.0/integration-test-suite/tests/test_tsan.c ++=================================================================== ++--- llvm-toolchain-11-11.0.0.orig/integration-test-suite/tests/test_tsan.c +++++ llvm-toolchain-11-11.0.0/integration-test-suite/tests/test_tsan.c ++@@ -5,6 +5,7 @@ ++ // RUN: %llvm-nm %t | grep __tsan ++ // RUN: env TSAN_OPTIONS="log_path=stdout:exitcode=0" %t 2>&1 > %t.out ++ // RUN: grep -q "data race" %t.out +++// XFAIL: i686, i386 ++ ++ #include ++ #include diff --cc debian/patches/silent-llvm-isel-fuzzer.diff index 000000000,000000000..909261740 new file mode 100644 --- /dev/null +++ b/debian/patches/silent-llvm-isel-fuzzer.diff @@@ -1,0 -1,0 +1,24 @@@ ++Index: llvm-toolchain-snapshot_11~++20200326111000+4673699a470/llvm/test/tools/llvm-isel-fuzzer/aarch64-execname-options.ll ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/llvm/test/tools/llvm-isel-fuzzer/aarch64-execname-options.ll +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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_11~++20200326111000+4673699a470/llvm/test/tools/llvm-isel-fuzzer/execname-options.ll ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/llvm/test/tools/llvm-isel-fuzzer/execname-options.ll +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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 --cc debian/patches/silent-more-tests.diff index 000000000,000000000..f2843bee8 new file mode 100644 --- /dev/null +++ b/debian/patches/silent-more-tests.diff @@@ -1,0 -1,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_11~++20200326111000+4673699a470/llvm/test/BugPoint/metadata.ll ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/llvm/test/BugPoint/metadata.ll +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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_11~++20200326111000+4673699a470/llvm/test/Feature/load_module.ll ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/llvm/test/Feature/load_module.ll +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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 --cc debian/patches/silent-test-failing-codeverage.diff index 000000000,000000000..173666d04 new file mode 100644 --- /dev/null +++ b/debian/patches/silent-test-failing-codeverage.diff @@@ -1,0 -1,0 +1,13 @@@ ++Index: llvm-toolchain-snapshot_11~++20200326111000+4673699a470/llvm/test/ThinLTO/X86/autoupgrade.ll ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/llvm/test/ThinLTO/X86/autoupgrade.ll +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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 --cc debian/patches/silent-test-macho.diff index 000000000,000000000..e5776772a new file mode 100644 --- /dev/null +++ b/debian/patches/silent-test-macho.diff @@@ -1,0 -1,0 +1,14 @@@ ++Index: llvm-toolchain-snapshot_11~++20200326111000+4673699a470/llvm/test/Object/macho-invalid.test ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/llvm/test/Object/macho-invalid.test +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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 --cc debian/patches/symbolizer-path.diff index 000000000,000000000..3eaaaf840 new file mode 100644 --- /dev/null +++ b/debian/patches/symbolizer-path.diff @@@ -1,0 -1,0 +1,24 @@@ ++Index: llvm-toolchain-snapshot_11~++20200326111000+4673699a470/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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 --cc debian/patches/test-keep-alive.diff index 000000000,000000000..00e8634ee new file mode 100644 --- /dev/null +++ b/debian/patches/test-keep-alive.diff @@@ -1,0 -1,0 +1,21 @@@ ++Index: llvm-toolchain-snapshot_11~++20200326111000+4673699a470/llvm/utils/lit/lit/ProgressBar.py ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/llvm/utils/lit/lit/ProgressBar.py +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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 --cc debian/patches/ubuntu-groovy.diff index 000000000,000000000..800a70a87 new file mode 100644 --- /dev/null +++ b/debian/patches/ubuntu-groovy.diff @@@ -1,0 -1,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 --cc debian/patches/unwind-chain-inclusion.diff index 000000000,000000000..b86e3f74a new file mode 100644 --- /dev/null +++ b/debian/patches/unwind-chain-inclusion.diff @@@ -1,0 -1,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_11~++20200326111000+4673699a470/clang/lib/Headers/unwind.h ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/clang/lib/Headers/unwind.h +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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 --cc debian/patches/workaround-bug-42994-use-linker.diff index 000000000,000000000..3d87717df new file mode 100644 --- /dev/null +++ b/debian/patches/workaround-bug-42994-use-linker.diff @@@ -1,0 -1,0 +1,34 @@@ ++Index: llvm-toolchain-snapshot_11~++20200326111000+4673699a470/compiler-rt/lib/hwasan/CMakeLists.txt ++=================================================================== ++--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/compiler-rt/lib/hwasan/CMakeLists.txt +++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/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 --cc debian/patches/x86-fuzzer.patch index 000000000,000000000..1e1895e83 new file mode 100644 --- /dev/null +++ b/debian/patches/x86-fuzzer.patch @@@ -1,0 -1,0 +1,14 @@@ ++Description: fuzzer: EMULATION_ARGUMENT is also required when building on i386 for x86_64 ++Author: Adrian Bunk ++ ++--- llvm-toolchain-11-11.0.0.orig/compiler-rt/lib/fuzzer/CMakeLists.txt +++++ llvm-toolchain-11-11.0.0/compiler-rt/lib/fuzzer/CMakeLists.txt ++@@ -121,6 +121,8 @@ if(OS_NAME MATCHES "Linux|Fuchsia" AND ++ macro(partially_link_libcxx name dir arch) ++ if(${arch} MATCHES "i386") ++ set(EMULATION_ARGUMENT "-m" "elf_i386") +++ elseif(${arch} MATCHES "x86_64") +++ set(EMULATION_ARGUMENT "-m" "elf_x86_64") ++ else() ++ set(EMULATION_ARGUMENT "") ++ endif() diff --cc debian/pollycc.in index 000000000,000000000..f06381807 new file mode 100755 --- /dev/null +++ b/debian/pollycc.in @@@ -1,0 -1,0 +1,3 @@@ ++#!/bin/sh ++ ++clang -Xclang -load -Xclang /usr/lib/llvm-@LLVM_VERSION@/lib/LLVMPolly.so $@ diff --cc debian/prepare-new-release.sh index 000000000,000000000..811ca4f1f new file mode 100644 --- /dev/null +++ b/debian/prepare-new-release.sh @@@ -1,0 -1,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 --cc debian/python3-clang-X.Y.install.in index 000000000,000000000..796be86b9 new file mode 100644 --- /dev/null +++ b/debian/python3-clang-X.Y.install.in @@@ -1,0 -1,0 +1,1 @@@ ++clang/bindings/python/clang/ /usr/lib/python3/dist-packages/ diff --cc debian/python3-lldb-X.Y.install.in index 000000000,000000000..ef37de7e3 new file mode 100644 --- /dev/null +++ b/debian/python3-lldb-X.Y.install.in @@@ -1,0 -1,0 +1,1 @@@ ++usr/lib/llvm-@LLVM_VERSION@/lib/python3*/*-packages/lldb/ diff --cc debian/python3-lldb-X.Y.links.in index 000000000,000000000..2639ac09f new file mode 100644 --- /dev/null +++ b/debian/python3-lldb-X.Y.links.in @@@ -1,0 -1,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 --cc debian/qualify-clang.sh index 000000000,000000000..82389f686 new file mode 100755 --- /dev/null +++ b/debian/qualify-clang.sh @@@ -1,0 -1,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 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 == "amd64" -o $DEB_HOST_ARCH == "i386" ]; 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 ++ ++clang-$VERSION -cc1 -analyze -analyzer-constraints=range -analyzer-checker=core,debug.ExprInspection -analyzer-constraints=z3 foo.c &> foo.log ++if ! grep -q "LLVM was not compiled with Z3 support" foo.log; 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 ++ 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 ++ ++# 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 ++ ++clang-$VERSION -cc1 -analyze -analyzer-constraints=range -analyzer-checker=core,debug.ExprInspection foo.c &> foo.log ++if ! grep -q "warnings generated." foo.log; then ++ echo "Should find at least 2 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 == "amd64" -o $DEB_HOST_ARCH == "i386" ]; 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 ++clang++-$VERSION -std=c++14 -stdlib=libc++ foo.cpp -lc++experimental -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 ++clang++-$VERSION -std=c++17 -stdlib=libc++ foo.cpp -lc++experimental -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 -basic-aa -polly-ast -analyze 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-$VERSION/lib/libLLVM-$VERSION.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 a.json default.profdata test ++ ++echo "Completed" diff --cc debian/rules index 000000000,000000000..a596d71f2 new file mode 100755 --- /dev/null +++ b/debian/rules @@@ -1,0 -1,0 +1,900 @@@ ++#!/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),sparc sparc64)) ++CMAKE_EXTRA += -DLLVM_PARALLEL_LINK_JOBS=4 ++endif ++ ++ifneq (,$(filter $(DEB_HOST_ARCH),armel mipsel powerpc 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 ++ ++# Ensure fixfilepath feature is disabled. The fixfilepath feature ++# sets a -ffile-prefix-map flag, which is only supported in clang-10. ++export DEB_BUILD_MAINT_OPTIONS=reproducible=-fixfilepath ++ ++# 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 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 ++ ++# llvm tests timeout, disable it on mipsel ++ifeq (mipsel,$(DEB_HOST_ARCH)) ++ RUN_TEST=no ++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)" ++ @echo "LLVM_VERSION=$(LLVM_VERSION)" ++ @echo "LLVM_VERSION_FULL=$(LLVM_VERSION_FULL)" ++ ++ 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_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 \ ++ -DLLVM_POLLY_LINK_INTO_TOOLS=ON \ ++ -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;LLVM_POLLY_LINK_INTO_TOOLS;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)"; \ ++ exit 1; \ ++ 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-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 some libc++ abi files in the libc++ file. See bug #969274 ++ rm -f $(CURDIR)/debian/libc++-$(LLVM_VERSION)-dev/usr/lib/llvm-$(LLVM_VERSION)/include/c++/__cxxabi_config.h $(CURDIR)/debian/libc++-$(LLVM_VERSION)-dev/usr/lib/llvm-$(LLVM_VERSION)/include/c++/cxxabi.h ++# 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 --cc debian/source/format index 000000000,000000000..163aaf8d8 new file mode 100644 --- /dev/null +++ b/debian/source/format @@@ -1,0 -1,0 +1,1 @@@ ++3.0 (quilt) diff --cc debian/source/lintian-overrides index 000000000,000000000..a356a3fe4 new file mode 100644 --- /dev/null +++ b/debian/source/lintian-overrides @@@ -1,0 -1,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 --cc debian/tests/cmake-test index 000000000,000000000..c3dcc5048 new file mode 100755 --- /dev/null +++ b/debian/tests/cmake-test @@@ -1,0 -1,0 +1,37 @@@ ++#!/bin/sh ++ ++set -e ++ ++# this is taken from libjsoncpp package ++# Presence of $AUTOPKGTEST_TMP implies that someone will handle cleanup for us, so we ++# can avoid duplicating the effort (signal handling, etc.) here. ++if [ -z "$AUTOPKGTEST_TMP" ] ++then ++ echo "Required envvar AUTOPKGTEST_TMP \"$AUTOPKGTEST_TMP\" is not set" >&2 ++ exit 1 ++fi ++ ++ ++# the idea was taken from spirv-llvm-translator package ++ ++cd "$AUTOPKGTEST_TMP" ++cat < CMakeLists.txt ++cmake_minimum_required(VERSION 2.6.2) ++project(cmake-test) ++find_package(LLVM 11.0.0 REQUIRED ++ COMPONENTS ++ Analysis ++ BitReader ++ BitWriter ++ Core ++ Support ++ TransformUtils ++ llvm-as ++ llvm-dis ++) ++ ++EOF ++ ++ ++mkdir build && cd build ++cmake .. diff --cc debian/tests/control index 000000000,000000000..872010661 new file mode 100644 --- /dev/null +++ b/debian/tests/control @@@ -1,0 -1,0 +1,19 @@@ ++Test-Command: bash -v ./debian/qualify-clang.sh ++Depends: @, cmake, make, g++, file, dpkg-dev, binfmt-support ++# Comment the dbgsym package because of bug #917528 ++# dbgsym packages not being available in testing ++# clang-11-dbgsym, libclang1-11-dbgsym ++Restrictions: allow-stderr ++ ++Tests: integration-test-suite-test ++Depends: @, cmake, make, g++, libstdc++-10-dev ++Restrictions: allow-stderr ++ ++Tests: cmake-test ++Depends: gcc, build-essential, cmake, llvm-11-dev, libclang-common-11-dev ++ ++Test-Command: python3 -c "import lldb; print(lldb.__file__); print(lldb)" ++Depends: python3-lldb-11 ++ ++Test-Command: python3 -c "import clang; print(clang.__file__); print(clang)" ++Depends: python3-clang-11 diff --cc debian/tests/integration-test-suite-test index 000000000,000000000..740812b82 new file mode 100755 --- /dev/null +++ b/debian/tests/integration-test-suite-test @@@ -1,0 -1,0 +1,39 @@@ ++#!/bin/sh ++ ++set -e ++ ++LLVM_VERSION=11 ++ ++# this is taken from libjsoncpp package ++# Presence of $AUTOPKGTEST_TMP implies that someone will handle cleanup for us, so we ++# can avoid duplicating the effort (signal handling, etc.) here. ++if [ -z "$AUTOPKGTEST_TMP" ] ++then ++ echo "Required envvar AUTOPKGTEST_TMP \"$AUTOPKGTEST_TMP\" is not set" >&2 ++ exit 1 ++fi ++ ++# Copy the integration repo to the temp dir ++cp -Rv integration-test-suite/* "$AUTOPKGTEST_TMP"/ ++cd "$AUTOPKGTEST_TMP" ++ ++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 --cc debian/unpack.sh index 000000000,000000000..ae75de6d3 new file mode 100644 --- /dev/null +++ b/debian/unpack.sh @@@ -1,0 -1,0 +1,26 @@@ ++set -e ++ORIG_VERSION=11 ++MAJOR_VERSION=11 # 8.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}.0.0git" != "$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 --cc debian/watch index 000000000,000000000..a6d1751fc new file mode 100644 --- /dev/null +++ b/debian/watch @@@ -1,0 -1,0 +1,3 @@@ ++version=3 ++https://llvm.org/releases/download.html .*/llvm-([\d\.\-]+).src.tar.xz ++