diff --git a/debian/changelog b/debian/changelog index 0636c16c..9214f93c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -562,6 +562,34 @@ llvm-toolchain-snapshot (1:8~svn340819-1) unstable; urgency=medium -- 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) @@ -893,6 +921,15 @@ llvm-toolchain-snapshot (1:7~svn322880-1) unstable; urgency=medium -- 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) diff --git a/debian/orig-tar.sh b/debian/orig-tar.sh index 4d2efcd7..f1b9ecef 100755 --- a/debian/orig-tar.sh +++ b/debian/orig-tar.sh @@ -18,18 +18,18 @@ set -e # To create an rc1 release: # sh 4.0/debian/orig-tar.sh RELEASE_40 rc1 -SVN_BASE_URL=http://llvm.org/svn/llvm-project/ +SVN_BASE_URL=https://llvm.org/svn/llvm-project/ MAJOR_VERSION=9 CURRENT_VERSION=9 # Should be changed to 3.5.1 later if test -n "$1"; then -# http://llvm.org/svn/llvm-project/{cfe,llvm,compiler-rt,...}/branches/google/stable/ +# https://llvm.org/svn/llvm-project/{cfe,llvm,compiler-rt,...}/branches/google/stable/ # For example: sh 4.0/debian/orig-tar.sh release_400 BRANCH=$1 fi if test -n "$1" -a -n "$2"; then -# http://llvm.org/svn/llvm-project/{cfe,llvm,compiler-rt,...}/tags/RELEASE_34/rc1/ +# https://llvm.org/svn/llvm-project/{cfe,llvm,compiler-rt,...}/tags/RELEASE_34/rc1/ # For example: sh 4.0/debian/orig-tar.sh RELEASE_401 rc3 4.0.1 BRANCH=$1 TAG=$2 diff --git a/debian/patches/7.1.0/revert-change-soname-2.diff b/debian/patches/7.1.0/revert-change-soname-2.diff new file mode 100644 index 00000000..527e57d8 --- /dev/null +++ b/debian/patches/7.1.0/revert-change-soname-2.diff @@ -0,0 +1,19 @@ +Index: llvm-toolchain-7_7.1.0~svn353565/cmake/modules/AddLLVM.cmake +=================================================================== +--- llvm-toolchain-7_7.1.0~svn353565.orig/cmake/modules/AddLLVM.cmake ++++ llvm-toolchain-7_7.1.0~svn353565/cmake/modules/AddLLVM.cmake +@@ -498,11 +498,9 @@ function(llvm_add_library name) + if(UNIX AND NOT APPLE AND NOT ARG_SONAME) + set_target_properties(${name} + PROPERTIES +- # Concatenate the version numbers since ldconfig expects exactly +- # one component indicating the ABI version, while LLVM uses +- # major+minor for that. +- SOVERSION ${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR} +- VERSION ${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}${LLVM_VERSION_SUFFIX}) ++ # Since 4.0.0, the ABI version is indicated by the major version ++ SOVERSION ${LLVM_VERSION_MAJOR}${LLVM_VERSION_SUFFIX} ++ VERSION ${LLVM_VERSION_MAJOR}${LLVM_VERSION_SUFFIX}) + endif() + endif() + diff --git a/debian/patches/7.1.0/revert-change-soname.diff b/debian/patches/7.1.0/revert-change-soname.diff new file mode 100644 index 00000000..d9912798 --- /dev/null +++ b/debian/patches/7.1.0/revert-change-soname.diff @@ -0,0 +1,56 @@ +Index: llvm-toolchain-7_7.1.0~svn353565/docs/ReleaseNotes.rst +=================================================================== +--- llvm-toolchain-7_7.1.0~svn353565.orig/docs/ReleaseNotes.rst ++++ llvm-toolchain-7_7.1.0~svn353565/docs/ReleaseNotes.rst +@@ -30,6 +30,9 @@ Non-comprehensive list of changes in thi + is available on the Visual Studio Marketplace. The new integration + supports Visual Studio 2017. + ++* Libraries have been renamed from 7.0 to 7. This change also impacts ++ downstream libraries like lldb. ++ + * The LoopInstSimplify pass (``-loop-instsimplify``) has been removed. + + * Symbols starting with ``?`` are no longer mangled by LLVM when using the +Index: llvm-toolchain-7_7.1.0~svn353565/tools/llvm-config/CMakeLists.txt +=================================================================== +--- llvm-toolchain-7_7.1.0~svn353565.orig/tools/llvm-config/CMakeLists.txt ++++ llvm-toolchain-7_7.1.0~svn353565/tools/llvm-config/CMakeLists.txt +@@ -37,7 +37,7 @@ set(LLVM_CFLAGS "${LLVM_DEFINITIONS}") + set(LLVM_CXXFLAGS "${COMPILE_FLAGS} ${LLVM_DEFINITIONS}") + set(LLVM_BUILD_SYSTEM cmake) + set(LLVM_HAS_RTTI ${LLVM_CONFIG_HAS_RTTI}) +-set(LLVM_DYLIB_VERSION "${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}${LLVM_VERSION_SUFFIX}") ++set(LLVM_DYLIB_VERSION "${LLVM_VERSION_MAJOR}${LLVM_VERSION_SUFFIX}") + set(LLVM_HAS_GLOBAL_ISEL "ON") + + # Use the C++ link flags, since they should be a superset of C link flags. +Index: llvm-toolchain-7_7.1.0~svn353565/tools/llvm-shlib/simple_version_script.map.in +=================================================================== +--- llvm-toolchain-7_7.1.0~svn353565.orig/tools/llvm-shlib/simple_version_script.map.in ++++ llvm-toolchain-7_7.1.0~svn353565/tools/llvm-shlib/simple_version_script.map.in +@@ -1 +1 @@ +-LLVM_@LLVM_VERSION_MAJOR@.@LLVM_VERSION_MINOR@ { global: *; }; ++LLVM_@LLVM_VERSION_MAJOR@ { global: *; }; +Index: llvm-toolchain-7_7.1.0~svn353565/cmake/modules/AddLLVM.cmake +=================================================================== +--- llvm-toolchain-7_7.1.0~svn353565.orig/cmake/modules/AddLLVM.cmake ++++ llvm-toolchain-7_7.1.0~svn353565/cmake/modules/AddLLVM.cmake +@@ -83,7 +83,7 @@ function(add_llvm_symbol_exports target_ + # FIXME: Don't write the "local:" line on OpenBSD. + # in the export file, also add a linker script to version LLVM symbols (form: LLVM_N.M) + add_custom_command(OUTPUT ${native_export_file} +- COMMAND echo "LLVM_${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR} {" > ${native_export_file} ++ COMMAND echo "LLVM_${LLVM_VERSION_MAJOR} {" > ${native_export_file} + COMMAND grep -q "[[:alnum:]]" ${export_file} && echo " global:" >> ${native_export_file} || : + COMMAND sed -e "s/$/;/" -e "s/^/ /" < ${export_file} >> ${native_export_file} + COMMAND echo " local: *;" >> ${native_export_file} +@@ -522,7 +522,7 @@ function(llvm_add_library name) + if(${output_name} STREQUAL "output_name-NOTFOUND") + set(output_name ${name}) + endif() +- set(library_name ${output_name}-${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}${LLVM_VERSION_SUFFIX}) ++ set(library_name ${output_name}-${LLVM_VERSION_MAJOR}${LLVM_VERSION_SUFFIX}) + set(api_name ${output_name}-${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}${LLVM_VERSION_SUFFIX}) + set_target_properties(${name} PROPERTIES OUTPUT_NAME ${library_name}) + llvm_install_library_symlink(${api_name} ${library_name} SHARED diff --git a/debian/patches/revert-change-soname.diff b/debian/patches/revert-change-soname.diff new file mode 100644 index 00000000..24cca1ed --- /dev/null +++ b/debian/patches/revert-change-soname.diff @@ -0,0 +1,65 @@ +Index: tools/llvm-shlib/simple_version_script.map.in +=================================================================== +--- tools/llvm-shlib/simple_version_script.map.in (revision 352580) ++++ tools/llvm-shlib/simple_version_script.map.in (revision 352579) +@@ -1 +1 @@ +-LLVM_@LLVM_VERSION_MAJOR@.@LLVM_VERSION_MINOR@ { global: *; }; ++LLVM_@LLVM_VERSION_MAJOR@ { global: *; }; +Index: tools/llvm-config/CMakeLists.txt +=================================================================== +--- tools/llvm-config/CMakeLists.txt (revision 352580) ++++ tools/llvm-config/CMakeLists.txt (revision 352579) +@@ -37,7 +37,7 @@ + set(LLVM_CXXFLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${uppercase_CMAKE_BUILD_TYPE}} ${COMPILE_FLAGS} ${LLVM_DEFINITIONS}") + set(LLVM_BUILD_SYSTEM cmake) + set(LLVM_HAS_RTTI ${LLVM_CONFIG_HAS_RTTI}) +-set(LLVM_DYLIB_VERSION "${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}${LLVM_VERSION_SUFFIX}") ++set(LLVM_DYLIB_VERSION "${LLVM_VERSION_MAJOR}${LLVM_VERSION_SUFFIX}") + set(LLVM_HAS_GLOBAL_ISEL "ON") + + # Use the C++ link flags, since they should be a superset of C link flags. +Index: cmake/modules/AddLLVM.cmake +=================================================================== +--- cmake/modules/AddLLVM.cmake (revision 352580) ++++ cmake/modules/AddLLVM.cmake (revision 352579) +@@ -83,7 +83,7 @@ + # FIXME: Don't write the "local:" line on OpenBSD. + # in the export file, also add a linker script to version LLVM symbols (form: LLVM_N.M) + add_custom_command(OUTPUT ${native_export_file} +- COMMAND echo "LLVM_${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR} {" > ${native_export_file} ++ COMMAND echo "LLVM_${LLVM_VERSION_MAJOR} {" > ${native_export_file} + COMMAND grep -q "[[:alnum:]]" ${export_file} && echo " global:" >> ${native_export_file} || : + COMMAND sed -e "s/$/;/" -e "s/^/ /" < ${export_file} >> ${native_export_file} + COMMAND echo " local: *;" >> ${native_export_file} +@@ -500,7 +500,7 @@ + PROPERTIES + # Since 4.0.0, the ABI version is indicated by the major version + SOVERSION ${LLVM_VERSION_MAJOR} +- VERSION ${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}${LLVM_VERSION_SUFFIX}) ++ VERSION ${LLVM_VERSION_MAJOR}${LLVM_VERSION_SUFFIX}) + endif() + endif() + +@@ -522,7 +522,7 @@ + if(${output_name} STREQUAL "output_name-NOTFOUND") + set(output_name ${name}) + endif() +- set(library_name ${output_name}-${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}${LLVM_VERSION_SUFFIX}) ++ set(library_name ${output_name}-${LLVM_VERSION_MAJOR}${LLVM_VERSION_SUFFIX}) + set(api_name ${output_name}-${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}${LLVM_VERSION_SUFFIX}) + set_target_properties(${name} PROPERTIES OUTPUT_NAME ${library_name}) + llvm_install_library_symlink(${api_name} ${library_name} SHARED +Index: docs/ReleaseNotes.rst +=================================================================== +--- docs/ReleaseNotes.rst (revision 352580) ++++ docs/ReleaseNotes.rst (revision 352579) +@@ -30,6 +30,9 @@ + is available on the Visual Studio Marketplace. The new integration + supports Visual Studio 2017. + ++* Libraries have been renamed from 7.0 to 7. This change also impacts ++ downstream libraries like lldb. ++ + * The LoopInstSimplify pass (``-loop-instsimplify``) has been removed. + + * Symbols starting with ``?`` are no longer mangled by LLVM when using the diff --git a/debian/patches/series b/debian/patches/series index 421d9de7..9beaab80 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -94,6 +94,9 @@ clang-arm-default-vfp3-on-armv7a.patch bootstrap-fix-include-next.diff clangd-atomic-cmake.patch +# Rustc +rustc-aarch64-test-failure.diff + # Fix docs remove-apple-clang-manpage.diff 0049-Use-Debian-provided-MathJax-everywhere.patch @@ -111,6 +114,13 @@ D49754-powerpcspe-clang.diff D54409-powerpcspe-register-spilling.diff D54584-powerpcspe-double-parameter.diff +# Disable https://llvm.org/viewvc/llvm-project?view=revision&revision=352580 +# 7.0.1 was always abi compatible with 7.0 +# Therefor, the libraries are still compatible with the 7.1.0 version +7.1.0/revert-change-soname-2.diff +7.1.0/revert-change-soname.diff + + # kfreebsd kfreebsd/clang_lib_Basic_Targets.diff kfreebsd/CMakeLists.txt.diff diff --git a/debian/rules b/debian/rules index 7b816c7f..22a619bc 100755 --- a/debian/rules +++ b/debian/rules @@ -113,7 +113,7 @@ endif # CMAKE_EXTRA += -DLLVM_ENABLE_LLD=ON # endif -BINUTILS_GOLD_ARCHS := amd64 arm64 armhf i386 ppc64 ppc64el x32 s390x hurd-i386 +BINUTILS_GOLD_ARCHS := amd64 arm64 armhf i386 ppc64 ppc64el x32 s390x hurd-i386 kfreebsd-amd64 kfreebsd-i386 ifeq ($(shell dpkg --compare-versions $(shell dpkg-query -W -f '$${Version}' binutils) ge 2.23.1-1~exp3 ; echo $$?),0) ifneq (,$(filter $(DEB_HOST_ARCH),$(BINUTILS_GOLD_ARCHS))) # -fused-ld=gold enables the gold linker (but is not supported by all archs / distro) diff --git a/debian/unpack.sh b/debian/unpack.sh index 89775b05..a17af182 100644 --- a/debian/unpack.sh +++ b/debian/unpack.sh @@ -1,14 +1,17 @@ set -e -VERSION=9 +ORIG_VERSION=snapshot MAJOR_VERSION=9 # 8.0.1 SVN_REV=`ls -1 *snapshot_$MAJOR_VERSION*svn*bz2 | tail -1|perl -ne 'print "$1\n" if /svn(\d+)/;' | sort -ru` #SVN_REV=347285 VERSION=svn$SVN_REV #VERSION=+rc3 -tar jxvf llvm-toolchain-snapshot_$MAJOR_VERSION~$VERSION.orig.tar.bz2 +LLVM_ARCHIVE=llvm-toolchain-snapshot_$MAJOR_VERSION~$VERSION.orig.tar.bz2 +echo "unpack of $LLVM_ARCHIVE" +tar jxf $LLVM_ARCHIVE cd llvm-toolchain-snapshot_$MAJOR_VERSION~$VERSION/ || ( echo "Bad SVN_REV:\"$SVN_REV\"" && exit 1 ) for f in ../llvm-toolchain-snapshot_$MAJOR_VERSION~$VERSION.orig-clang.tar.bz2 ../llvm-toolchain-snapshot_$MAJOR_VERSION~$VERSION.orig-clang-tools-extra.tar.bz2 ../llvm-toolchain-snapshot_$MAJOR_VERSION~$VERSION.orig-compiler-rt.tar.bz2 ../llvm-toolchain-snapshot_$MAJOR_VERSION~$VERSION.orig-lldb.tar.bz2 ../llvm-toolchain-snapshot_$MAJOR_VERSION~$VERSION.orig-polly.tar.bz2 ../llvm-toolchain-snapshot_$MAJOR_VERSION~$VERSION.orig-libcxxabi.tar.bz2 ../llvm-toolchain-snapshot_$MAJOR_VERSION~$VERSION.orig-libcxx.tar.bz2 ../llvm-toolchain-snapshot_$MAJOR_VERSION~$VERSION.orig-openmp.tar.bz2; do - tar jxvf $f + echo "Unpack of $f" + tar jxf $f done ln -s clang_$MAJOR_VERSION~$VERSION clang