From a3ea521aec9f1be0694961a54213083dbdcbf8c0 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Wed, 30 Jan 2019 10:01:48 +0100 Subject: [PATCH] * 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.0.1 As I kept the ABI, I reverted this patch (revert-change-soname.diff) More info on https://bugs.llvm.org/show_bug.cgi?id=39427 and https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=913271 --- debian/changelog | 18 +++++-- debian/orig-tar.sh | 2 +- debian/patches/revert-change-soname.diff | 65 ++++++++++++++++++++++++ debian/patches/series | 4 ++ 4 files changed, 85 insertions(+), 4 deletions(-) create mode 100644 debian/patches/revert-change-soname.diff diff --git a/debian/changelog b/debian/changelog index 4b46fe27..0ce89263 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,7 +1,19 @@ -llvm-toolchain-7 (1:7.0.1~svn352582-1~exp1) UNRELEASED; urgency=medium +llvm-toolchain-7 (1:7.1.0~svn352582-1~exp1) UNRELEASED; urgency=medium - * experimental New snapshot release - * Remove pr39427-misscompile.diff as it has been applied upstream + * 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.0.1 + As I kept the ABI, I reverted this patch (revert-change-soname.diff) + 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 Wed, 30 Jan 2019 08:53:14 +0100 diff --git a/debian/orig-tar.sh b/debian/orig-tar.sh index fa726547..7b7fc805 100755 --- a/debian/orig-tar.sh +++ b/debian/orig-tar.sh @@ -20,7 +20,7 @@ set -e SVN_BASE_URL=http://llvm.org/svn/llvm-project/ MAJOR_VERSION=7 -CURRENT_VERSION=7.0.1 # Should be changed to 3.5.1 later +CURRENT_VERSION=7.1.0 # 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/ 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 be214d4e..b3ae4b64 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -134,3 +134,7 @@ D54409-powerpcspe-register-spilling.diff D54584-powerpcspe-double-parameter.diff D52340-rustc-debuginfo.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 +revert-change-soname.diff