diff --git a/debian/changelog b/debian/changelog index 11cca2a1..eeb82815 100644 --- a/debian/changelog +++ b/debian/changelog @@ -6,11 +6,16 @@ llvm-toolchain-7 (1:7~+rc3-4) unstable; urgency=medium [ Gianfranco Costamagna ] * Force polly cmake removal on arch:all because of --fail-missing - [ John Paul Adrian Glaubitz ] - * debian/patches/powerpcspe.patch: - - fix build on powerpcspe target + [ Reshabh Sharma ] + * Make OpenMP packages coinstallable from version 7 + * Make libc++ packages coinstallable from version 7 - -- Gianfranco Costamagna Thu, 13 Sep 2018 23:18:22 +0200 + [ 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 diff --git a/debian/control b/debian/control index 3c791506..a1fe6a67 100644 --- a/debian/control +++ b/debian/control @@ -484,9 +484,6 @@ Section: libdevel Architecture: amd64 arm64 armhf i386 mips64el ppc64el ppc64 Depends: libomp5-7 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} Suggests: libomp-7-doc -Replaces: libiomp-dev (<< 3.7-1), libomp-dev (<< 7~+rc1-1~exp1) -Breaks: libiomp-dev (<< 3.7-1), libomp-dev (<< 7~+rc1-1~exp1) -Provides: libomp-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 @@ -496,10 +493,6 @@ Package: libomp5-7 Multi-Arch: same Architecture: amd64 arm64 armhf i386 mips64el ppc64el ppc64 Depends: ${shlibs:Depends}, ${misc:Depends} -Replaces: libomp5 (<< 7~+rc1-1~exp1) -Breaks: libomp5 (<< 7~+rc1-1~exp1) -Provides: libomp5 -# TODO add the break depends 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 @@ -527,9 +520,6 @@ Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends} Suggests: clang -Replaces: libc++1 (<< 7~+rc1-1~exp1) -Breaks: libc++1 (<< 7~+rc1-1~exp1) -Provides: libc++1 Description: LLVM C++ Standard library libc++ is another implementation of the C++ standard library. . @@ -548,9 +538,6 @@ Section: libdevel Architecture: any Multi-Arch: same Depends: libc++1-7 (= ${binary:Version}), ${misc:Depends} -Provides: libc++-dev -Breaks: libc++-dev (<< 7~+rc1-1~exp1) -Replaces: libc++-dev (<< 7~+rc1-1~exp1) Description: LLVM C++ Standard library (development files) libc++ is another implementation of the C++ standard library . @@ -572,9 +559,6 @@ Architecture: any Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends} -Breaks: libc++abi1 (<< 7~+rc1-1~exp1) -Provides: libc++abi1 -Replaces: libc++abi1 (<< 7~+rc1-1~exp1) Description: LLVM low level support for a standard C++ library libc++abi is another implementation of low level support for a standard C++ library. @@ -589,9 +573,6 @@ Section: libdevel Architecture: any Multi-Arch: same Depends: libc++abi1-7 (= ${binary:Version}), ${misc:Depends} -Replaces: libc++-dev (<= 6.0.1-1), libc++abi-dev (<= 6.0.1-1) -Breaks: libc++-dev (<= 6.0.1-1), libc++abi-dev (<= 6.0.1-1) -Provides: libc++abi-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. diff --git a/debian/libc++-X.Y-dev.install.in b/debian/libc++-X.Y-dev.install.in index d14e68c7..54a7a7e3 100644 --- a/debian/libc++-X.Y-dev.install.in +++ b/debian/libc++-X.Y-dev.install.in @@ -1,5 +1,5 @@ -usr/lib/llvm-@LLVM_VERSION@/lib/libc++.so -usr/lib/llvm-@LLVM_VERSION@/lib/libc++.a +usr/lib/llvm-@LLVM_VERSION@/lib/libc++-@LLVM_VERSION@.so usr/lib/@DEB_HOST_MULTIARCH@/ +usr/lib/llvm-@LLVM_VERSION@/lib/libc++-@LLVM_VERSION@.a usr/lib/@DEB_HOST_MULTIARCH@/ usr/lib/llvm-@LLVM_VERSION@/lib/libc++fs.a usr/lib/llvm-@LLVM_VERSION@/lib/libc++experimental.a usr/lib/llvm-@LLVM_VERSION@/include/c++/ diff --git a/debian/libc++-X.Y-dev.links.in b/debian/libc++-X.Y-dev.links.in index 4fa1b52e..a28d4dc8 100644 --- a/debian/libc++-X.Y-dev.links.in +++ b/debian/libc++-X.Y-dev.links.in @@ -1,3 +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 -usr/lib/llvm-@LLVM_VERSION@/include/c++ /usr/include/c++ +/usr/lib/@DEB_HOST_MULTIARCH@/libc++-@LLVM_VERSION@.so /usr/lib/llvm-@LLVM_VERSION@/lib/libc++.so +/usr/lib/@DEB_HOST_MULTIARCH@/libc++-@LLVM_VERSION@.a /usr/lib/llvm-@LLVM_VERSION@/lib/libc++.a diff --git a/debian/libc++1-X.Y.install.in b/debian/libc++1-X.Y.install.in index 78e2cd3b..4bf1b027 100644 --- a/debian/libc++1-X.Y.install.in +++ b/debian/libc++1-X.Y.install.in @@ -1 +1 @@ -usr/lib/llvm-@LLVM_VERSION@/lib/libc++.so.* +usr/lib/llvm-@LLVM_VERSION@/lib/libc++-@LLVM_VERSION@.so.* usr/lib/@DEB_HOST_MULTIARCH@ diff --git a/debian/libc++1-X.Y.links.in b/debian/libc++1-X.Y.links.in index 4d1955c5..27a103af 100644 --- a/debian/libc++1-X.Y.links.in +++ b/debian/libc++1-X.Y.links.in @@ -1,2 +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 +/usr/lib/@DEB_HOST_MULTIARCH@/libc++-@LLVM_VERSION@.so.1.0 /usr/lib/llvm-@LLVM_VERSION@/lib/libc++.so.1.0 +/usr/lib/@DEB_HOST_MULTIARCH@/libc++-@LLVM_VERSION@.so.1 /usr/lib/llvm-@LLVM_VERSION@/lib/libc++.so.1 diff --git a/debian/libc++1-X.Y.lintian-overrides.in b/debian/libc++1-X.Y.lintian-overrides.in index d8d46f92..107251a3 100644 --- a/debian/libc++1-X.Y.lintian-overrides.in +++ b/debian/libc++1-X.Y.lintian-overrides.in @@ -1 +1,2 @@ libc++1-@LLVM_VERSION@: arch-dependent-file-not-in-arch-specific-directory usr/lib/llvm-@LLVM_VERSION@/lib/libc++.so.1.0 +libc++1-@LLVM_VERSION@: ldconfig-symlink-missing-for-shlib usr/lib/*/libc++.so.1 usr/lib/*/libc++-@LLVM_VERSION@.so.1.0 libc++.so.1 diff --git a/debian/libc++abi-X.Y-dev.install.in b/debian/libc++abi-X.Y-dev.install.in index 8774c6ae..6a04f813 100644 --- a/debian/libc++abi-X.Y-dev.install.in +++ b/debian/libc++abi-X.Y-dev.install.in @@ -1,3 +1,3 @@ -usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi*so -usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi.a +usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi-@LLVM_VERSION@*so usr/lib/@DEB_HOST_MULTIARCH@/ +usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi-@LLVM_VERSION@.a usr/lib/@DEB_HOST_MULTIARCH@/ libcxxabi/include/* usr/lib/llvm-@LLVM_VERSION@/include/ diff --git a/debian/libc++abi-X.Y-dev.links.in b/debian/libc++abi-X.Y-dev.links.in index 6dd5f555..eb8f0ffa 100644 --- a/debian/libc++abi-X.Y-dev.links.in +++ b/debian/libc++abi-X.Y-dev.links.in @@ -1 +1,2 @@ -usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi.so /usr/lib/@DEB_HOST_MULTIARCH@/libc++abi.so +usr/lib/@DEB_HOST_MULTIARCH@/libc++abi-@LLVM_VERSION@.so usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi.so +usr/lib/@DEB_HOST_MULTIARCH@/libc++abi-@LLVM_VERSION@.a usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi.a diff --git a/debian/libc++abi1-X.Y.install.in b/debian/libc++abi1-X.Y.install.in index 6e27733d..7940a51b 100644 --- a/debian/libc++abi1-X.Y.install.in +++ b/debian/libc++abi1-X.Y.install.in @@ -1 +1,2 @@ -usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi.so.* +usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi-@LLVM_VERSION@.so.* usr/lib/@DEB_HOST_MULTIARCH@/ +usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi.so.1 diff --git a/debian/libc++abi1-X.Y.links.in b/debian/libc++abi1-X.Y.links.in index a57ef065..754f4d59 100644 --- a/debian/libc++abi1-X.Y.links.in +++ b/debian/libc++abi1-X.Y.links.in @@ -1,2 +1 @@ -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 +/usr/lib/@DEB_HOST_MULTIARCH@/libc++abi-@LLVM_VERSION@.so.1.0 /usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi.so.1.0 diff --git a/debian/libc++abi1-X.Y.lintian-overrides.in b/debian/libc++abi1-X.Y.lintian-overrides.in index f51d4b1e..7dd1f22f 100644 --- a/debian/libc++abi1-X.Y.lintian-overrides.in +++ b/debian/libc++abi1-X.Y.lintian-overrides.in @@ -1 +1,2 @@ libc++abi1-@LLVM_VERSION@: arch-dependent-file-not-in-arch-specific-directory usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi.so.1.0 +libc++abi1-@LLVM_VERSION@: ldconfig-symlink-missing-for-shlib usr/lib/*/libc++abi.so.1 usr/lib/*/libc++abi-@LLVM_VERSION@.so.1.0 libc++abi.so.1 diff --git a/debian/libomp-X.Y-dev.links.in b/debian/libomp-X.Y-dev.links.in new file mode 100644 index 00000000..c80fc42e --- /dev/null +++ b/debian/libomp-X.Y-dev.links.in @@ -0,0 +1,5 @@ +/usr/lib/llvm-@LLVM_VERSION@/lib/libgomp.so /usr/lib/@DEB_HOST_MULTIARCH@/libgomp-@LLVM_VERSION@.so +/usr/lib/llvm-@LLVM_VERSION@/lib/libiomp5.so /usr/lib/@DEB_HOST_MULTIARCH@/libiomp5-@LLVM_VERSION@.so +/usr/lib/llvm-@LLVM_VERSION@/lib/libomp.so.5 /usr/lib/llvm-@LLVM_VERSION@/lib/libomp.so +/usr/lib/llvm-@LLVM_VERSION@/lib/libomp.so /usr/lib/llvm-@LLVM_VERSION@/lib/libomp-@LLVM_VERSION@.so +/usr/lib/llvm-@LLVM_VERSION@/lib/libomp-@LLVM_VERSION@.so /usr/lib/@DEB_HOST_MULTIARCH@/libomp-@LLVM_VERSION@.so diff --git a/debian/libomp5-X.Y.install.in b/debian/libomp5-X.Y.install.in index 19af41ce..da0e4b23 100644 --- a/debian/libomp5-X.Y.install.in +++ b/debian/libomp5-X.Y.install.in @@ -1 +1,3 @@ -usr/lib/llvm-@LLVM_VERSION@/lib/libomp.so.5 +usr/lib/llvm-@LLVM_VERSION@/lib/libomp-@LLVM_VERSION@.so.5 /usr/lib/@DEB_HOST_MULTIARCH@/ +usr/lib/llvm-@LLVM_VERSION@/lib/libomp.so.5 +usr/lib/llvm-@LLVM_VERSION@/lib/libomp-@LLVM_VERSION@.so.5 diff --git a/debian/libomp5-X.Y.links.in b/debian/libomp5-X.Y.links.in index cd9227f0..9f83f576 100644 --- a/debian/libomp5-X.Y.links.in +++ b/debian/libomp5-X.Y.links.in @@ -1,3 +1,2 @@ -usr/lib/llvm-@LLVM_VERSION@/lib/libomp.so.5 /usr/lib/@DEB_HOST_MULTIARCH@/libomp.so.5 - - +/usr/lib/@DEB_HOST_MULTIARCH@/libomp-@LLVM_VERSION@.so.5 /usr/lib/llvm-@LLVM_VERSION@/lib/libomp-@LLVM_VERSION@.so.5 +/usr/lib/llvm-@LLVM_VERSION@/lib/libomp-@LLVM_VERSION@.so.5 /usr/lib/llvm-@LLVM_VERSION@/lib/libomp.so.5 diff --git a/debian/libomp5-X.Y.lintian-overrides.in b/debian/libomp5-X.Y.lintian-overrides.in index 201d42dc..fc7612b7 100644 --- a/debian/libomp5-X.Y.lintian-overrides.in +++ b/debian/libomp5-X.Y.lintian-overrides.in @@ -1 +1,2 @@ libomp5-@LLVM_VERSION@: arch-dependent-file-not-in-arch-specific-directory usr/lib/llvm-@LLVM_VERSION@/lib/libomp.so.5 +libomp5-@LLVM_VERSION@: ldconfig-symlink-missing-for-shlib usr/lib/*/libomp.so.5 usr/lib/*/libomp-@LLVM_VERSION@.so.5 libomp.so.5 diff --git a/debian/patches/powerpcspe-add-missing-include-path.diff b/debian/patches/powerpcspe-add-missing-include-path.diff new file mode 100644 index 00000000..c3a0b532 --- /dev/null +++ b/debian/patches/powerpcspe-add-missing-include-path.diff @@ -0,0 +1,18 @@ +Description: Fix missing include paths on powerpcspe +Author: John Paul Adrian Glaubitz +Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=908791 +Forwarded: https://reviews.llvm.org/D52066 +Last-Update: 2018-09-13 + +--- llvm-toolchain-7-7~+rc3.orig/clang/lib/Driver/ToolChains/Linux.cpp ++++ llvm-toolchain-7-7~+rc3/clang/lib/Driver/ToolChains/Linux.cpp +@@ -700,7 +700,8 @@ void Linux::AddClangSystemIncludeArgs(co + "/usr/include/mips64el-linux-gnu", + "/usr/include/mips64el-linux-gnuabi64"}; + const StringRef PPCMultiarchIncludeDirs[] = { +- "/usr/include/powerpc-linux-gnu"}; ++ "/usr/include/powerpc-linux-gnu", ++ "/usr/include/powerpc-linux-gnuspe"}; + const StringRef PPC64MultiarchIncludeDirs[] = { + "/usr/include/powerpc64-linux-gnu"}; + const StringRef PPC64LEMultiarchIncludeDirs[] = { diff --git a/debian/patches/series b/debian/patches/series index 733736a6..e192eb8f 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -52,6 +52,7 @@ remove-test-freezing.diff 0048-Set-html_static_path-_static-everywhere.patch 0049-Use-Debian-provided-MathJax-everywhere.patch impl-path-hurd.diff +powerpcspe-add-missing-include-path.diff # OpenMP diff --git a/debian/qualify-clang.sh b/debian/qualify-clang.sh index 8dcbb7af..a417f391 100644 --- a/debian/qualify-clang.sh +++ b/debian/qualify-clang.sh @@ -260,12 +260,6 @@ int main() { clang++-$VERSION -std=c++17 -stdlib=libc++ foo.cpp -lc++experimental -lc++fs -o o ./o > /dev/null -/usr/lib/llvm-7/bin/clang++-libc++ -std=c++17 foo.cpp -lc++experimental -lc++fs -o o - -./o > /dev/null -clang++-libc++-$VERSION -std=c++17 foo.cpp -lc++experimental -lc++fs -o o -./o > /dev/null - 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 ./o > /dev/null diff --git a/debian/rules b/debian/rules index 577eb804..9bedbf40 100755 --- a/debian/rules +++ b/debian/rules @@ -163,7 +163,7 @@ else endif LLDB_ENABLE=yes -LLDB_DISABLE_ARCHS := hurd-i386 ia64 powerpc powerpcspe ppc64 s390x sparc64 +LLDB_DISABLE_ARCHS := hurd-i386 ia64 powerpc powerpcspe ppc64 riscv64 s390x sparc64 # hurd has threading issues ifeq (,$(filter-out $(LLDB_DISABLE_ARCHS), $(DEB_HOST_ARCH))) # Disable LLDB for this arch. @@ -463,8 +463,7 @@ override_dh_auto_install: 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) - cd debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib && rm -f libomp.so; \ - ln -s libomp.so.$(SONAME_OPENMP) libomp.so + cd debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib && cp libomp.so.$(SONAME_OPENMP) libomp-$(LLVM_VERSION).so.$(SONAME_OPENMP); if test "$(OPENMP_ENABLE)" = yes; then \ mkdir -p debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/include/openmp; \ @@ -513,6 +512,17 @@ endif $(MAKE) -C libcxxabi/build install DESTDIR=$(DEB_INST) $(MAKE) -C libcxx/build install DESTDIR=$(DEB_INST) + + cd debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib/ && mv libc++.so.1.0 libc++-$(LLVM_VERSION).so.1.0; \ + mv libc++.so libc++-$(LLVM_VERSION).so; \ + mv libc++.a libc++-$(LLVM_VERSION).a; \ + mv libc++abi.so.1.0 libc++abi-$(LLVM_VERSION).so.1.0; \ + mv libc++abi.a libc++abi-$(LLVM_VERSION).a; \ + rm libc++.so.1 libc++abi.so libc++abi.so.1; \ + ln -s libc++-$(LLVM_VERSION).so.1.0 libc++-$(LLVM_VERSION).so.1; \ + ln -s libc++abi-$(LLVM_VERSION).so.1.0 libc++abi-$(LLVM_VERSION).so.1; \ + ln -s libc++abi-$(LLVM_VERSION).so.1 libc++abi-$(LLVM_VERSION).so; \ + ln -s libc++abi-$(LLVM_VERSION).so.1 libc++abi.so.1 # Rename binaries mkdir -p $(DEB_INST)/usr/bin/ @@ -626,7 +636,7 @@ endif # endif ifeq ($(shell dpkg --compare-versions $(shell dpkg-query -W -f '$${Version}' binutils) ge 2.28 ; echo $$?),0) # strip segfaults on libFuzzer.a - dh_strip -a -v -XlibFuzzer.a -Xlibc++.a -Xlibc++abi.a -Xlibc++experimental.a + dh_strip -a -v -XlibFuzzer.a -Xlibc++-$(LLVM_VERSION).a -Xlibc++abi-$(LLVM_VERSION).a -Xlibc++experimental.a else dh_strip -a -v endif