From db619b155843227bde85560fb73f526bfaea3680 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Sat, 25 Nov 2017 09:26:58 +0000 Subject: [PATCH 01/36] add the lp bug --- debian/changelog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 9c55bba2..5e93a057 100644 --- a/debian/changelog +++ b/debian/changelog @@ -15,7 +15,7 @@ llvm-toolchain-4.0 (1:4.0.1-9) unstable; urgency=medium * 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) + Thanks to Andreas Beckmann for the patch (Closes: #882505) (LP: #1706326) -- Sylvestre Ledru Mon, 30 Oct 2017 19:41:20 +0100 From 61262488beeace4913f406331d019d3f99def5e8 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Sat, 25 Nov 2017 14:18:02 +0000 Subject: [PATCH 02/36] Fix the fix-scan-view-path.diff path --- debian/changelog | 1 + debian/patches/fix-scan-view-path.diff | 2 +- debian/prepare-new-release.sh | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index 5e93a057..fce98acd 100644 --- a/debian/changelog +++ b/debian/changelog @@ -16,6 +16,7 @@ llvm-toolchain-4.0 (1:4.0.1-9) unstable; urgency=medium * 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 -- Sylvestre Ledru Mon, 30 Oct 2017 19:41:20 +0100 diff --git a/debian/patches/fix-scan-view-path.diff b/debian/patches/fix-scan-view-path.diff index d9fa6c81..9ce0cc8e 100644 --- a/debian/patches/fix-scan-view-path.diff +++ b/debian/patches/fix-scan-view-path.diff @@ -6,7 +6,7 @@ Index: llvm-toolchain-3.9-3.9/clang/tools/scan-view/bin/scan-view kMaxPortsToTry = 100 ### -+BASE_DIR = '/usr/share/clang/scan-view-3.9' ++BASE_DIR = '/usr/share/clang/scan-view-4.0' def url_is_up(url): diff --git a/debian/prepare-new-release.sh b/debian/prepare-new-release.sh index 93696b25..b56b4b71 100644 --- a/debian/prepare-new-release.sh +++ b/debian/prepare-new-release.sh @@ -9,7 +9,7 @@ for F in $LIST; do TARGET=`echo $F|sed -e "s|$ORIG_VERSION|$TARGET_VERSION|g"` svn mv $F $TARGET done -LIST=`ls debian/*$TARGET_VERSION* debian/control debian/*.install debian/*.links 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-addversion-suffix-to-llvm-server-exec.patch` +LIST=`ls debian/*$TARGET_VERSION* debian/control debian/*.install debian/*.links 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-addversion-suffix-to-llvm-server-exec.patch debian/patches/fix-scan-view-path.diff` for F in $LIST; do sed -i -e "s|$ORIG_VERSION_2|$TARGET_VERSION_2|g" $F sed -i -e "s|$ORIG_VERSION|$TARGET_VERSION|g" $F From 2ee853f9b73c6513a7bef9d74ff2946de024e2a6 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Sun, 26 Nov 2017 22:52:27 +0000 Subject: [PATCH 03/36] Move libomp-dev from Suggests to Recommends (Closes: #882781) --- debian/changelog | 1 + debian/control | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index fce98acd..da47f781 100644 --- a/debian/changelog +++ b/debian/changelog @@ -17,6 +17,7 @@ llvm-toolchain-4.0 (1:4.0.1-9) unstable; urgency=medium * 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) -- Sylvestre Ledru Mon, 30 Oct 2017 19:41:20 +0100 diff --git a/debian/control b/debian/control index 3546b0a1..d0eec55e 100644 --- a/debian/control +++ b/debian/control @@ -28,8 +28,8 @@ Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs}, ${dep:devlibs-objc}, libclang-common-4.0-dev (= ${binary:Version}), libclang1-4.0 (= ${binary:Version}), libc6-dev, binutils Provides: c-compiler, objc-compiler, c++-compiler -Recommends: llvm-4.0-dev, python -Suggests: gnustep, gnustep-devel, clang-4.0-doc, libomp-dev +Recommends: llvm-4.0-dev, python, libomp-dev +Suggests: gnustep, gnustep-devel, clang-4.0-doc Replaces: clang-include-fixer-4.0 Breaks: clang-include-fixer-4.0 Description: C, C++ and Objective-C compiler From 0cce7de091fc41a0cda558274e8729c57aaf0b32 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Thu, 30 Nov 2017 08:25:20 +0000 Subject: [PATCH 04/36] New testing release --- debian/changelog | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index 752d3536..b464e2c4 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,8 +1,9 @@ -llvm-toolchain-5.0 (1:5.0.1~+rc1-1~exp3) UNRELEASED; urgency=medium +llvm-toolchain-5.0 (1:5.0.1~+rc2-1~exp1) experimental; urgency=medium + * New testing release * Add a symlink to fix lldb-X.Y (Closes: #881993) - -- Sylvestre Ledru Wed, 29 Nov 2017 16:46:58 +0100 + -- Sylvestre Ledru Thu, 30 Nov 2017 09:02:28 +0100 llvm-toolchain-5.0 (1:5.0.1~+rc1-1~exp2) experimental; urgency=medium From 43680ec6bdfba12eac2a27086e41a80ac17f8019 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Mon, 4 Dec 2017 13:45:34 +0000 Subject: [PATCH 05/36] liblld-4.0-dev depends on liblld-4.0 (Closes: #856545) --- debian/changelog | 1 + debian/control | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index da47f781..0a053bc0 100644 --- a/debian/changelog +++ b/debian/changelog @@ -12,6 +12,7 @@ llvm-toolchain-4.0 (1:4.0.1-9) unstable; urgency=medium * Remove some old breaks/replaces/conflicts (<3.8) * Fix some wrong-section-according-to-package-name and priority-extra-is-replaced-by-priority-optional issues + * liblld-4.0-dev depends on liblld-4.0 (Closes: #856545) * 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 diff --git a/debian/control b/debian/control index d0eec55e..0dd7d062 100644 --- a/debian/control +++ b/debian/control @@ -43,7 +43,7 @@ Description: C, C++ and Objective-C compiler Package: clang-tools-4.0 Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, clang-4.0 (= ${binary:Version}) -Description: C, C++ and Objective-C compiler +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). @@ -449,7 +449,8 @@ Package: liblld-4.0-dev Section: libdevel Architecture: amd64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 s390 sparc alpha hppa m68k powerpcspe ppc64 sh4 sparc64 x32 mips mipsel # ia64 mips mipsel hurd powerpc ppc64el have been removed -Depends: ${shlibs:Depends}, ${misc:Depends}, lld-4.0 (= ${binary:Version}) +Depends: ${shlibs:Depends}, ${misc:Depends}, lld-4.0 (= ${binary:Version}), + liblld-4.0 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 From 5584a9b586753c7529ec11465e3ba66511c41306 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Mon, 4 Dec 2017 16:15:42 +0000 Subject: [PATCH 06/36] update the version of 5.0 in the repack script --- debian/orig-tar.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/orig-tar.sh b/debian/orig-tar.sh index 59bcbad5..e8b792e4 100755 --- a/debian/orig-tar.sh +++ b/debian/orig-tar.sh @@ -16,7 +16,7 @@ set -e SVN_BASE_URL=http://llvm.org/svn/llvm-project/ MAJOR_VERSION=5.0 -CURRENT_VERSION=5.0 # Should be changed to 3.5.1 later +CURRENT_VERSION=5.0.1 # 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/ From 975e896b4d9b7a334fa63911dd55d1901a0b305c Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Tue, 5 Dec 2017 14:46:53 +0000 Subject: [PATCH 07/36] liblld-5.0-dev depends on liblld-5.0 (Closes: #856545) --- debian/changelog | 1 + debian/control | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index b464e2c4..db936f2c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,7 @@ llvm-toolchain-5.0 (1:5.0.1~+rc2-1~exp1) experimental; urgency=medium * New testing release * Add a symlink to fix lldb-X.Y (Closes: #881993) + * liblld-5.0-dev depends on liblld-5.0 (Closes: #856545) -- Sylvestre Ledru Thu, 30 Nov 2017 09:02:28 +0100 diff --git a/debian/control b/debian/control index 58d6d978..91088960 100644 --- a/debian/control +++ b/debian/control @@ -449,7 +449,8 @@ Package: liblld-5.0-dev Section: libdevel Architecture: amd64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 s390 sparc alpha hppa m68k powerpcspe ppc64 sh4 sparc64 x32 mips mipsel # ia64 mips mipsel hurd powerpc ppc64el have been removed -Depends: ${shlibs:Depends}, ${misc:Depends}, lld-5.0 (= ${binary:Version}) +Depends: ${shlibs:Depends}, ${misc:Depends}, lld-5.0 (= ${binary:Version}), + liblld-5.0 (= ${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 From c30e7c7981e7d8e5f7259a8361ebec4807fda5ad Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Tue, 5 Dec 2017 14:47:05 +0000 Subject: [PATCH 08/36] Add the exact version --- debian/control | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/control b/debian/control index 0dd7d062..4d5cdbb6 100644 --- a/debian/control +++ b/debian/control @@ -450,7 +450,7 @@ Section: libdevel Architecture: amd64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 s390 sparc alpha hppa m68k powerpcspe ppc64 sh4 sparc64 x32 mips mipsel # ia64 mips mipsel hurd powerpc ppc64el have been removed Depends: ${shlibs:Depends}, ${misc:Depends}, lld-4.0 (= ${binary:Version}), - liblld-4.0 + liblld-4.0 (= ${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 From dbdbc15aa1f45304f4663903e3798c37bd79da13 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Fri, 8 Dec 2017 11:13:23 +0000 Subject: [PATCH 09/36] New testing release --- debian/changelog | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/debian/changelog b/debian/changelog index db936f2c..37ce6e4e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +llvm-toolchain-5.0 (1:5.0.1~+rc3-1~exp1) experimental; urgency=medium + + * New testing release + + -- Sylvestre Ledru Fri, 08 Dec 2017 10:10:53 +0100 + llvm-toolchain-5.0 (1:5.0.1~+rc2-1~exp1) experimental; urgency=medium * New testing release From cbd409d384d0311aac54c9b308bc02e84315a502 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Sat, 9 Dec 2017 18:56:55 +0000 Subject: [PATCH 10/36] test-keep-alive.diff: Display more information during the test suite run to avoid the FTBFS on mips* --- debian/changelog | 7 +++++++ debian/patches/series | 1 + 2 files changed, 8 insertions(+) diff --git a/debian/changelog b/debian/changelog index 37ce6e4e..bd503670 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +llvm-toolchain-5.0 (1:5.0.1~+rc3-1~exp2) experimental; urgency=medium + + * test-keep-alive.diff: Display more information during the test suite run + to avoid the FTBFS on mips* + + -- Sylvestre Ledru Sat, 09 Dec 2017 19:56:52 +0100 + llvm-toolchain-5.0 (1:5.0.1~+rc3-1~exp1) experimental; urgency=medium * New testing release diff --git a/debian/patches/series b/debian/patches/series index 835559ad..a908b833 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -47,3 +47,4 @@ disable-error-xray.diff lldb-disable-swig-error.diff update-cuda-search-path.patch +test-keep-alive.diff From a2c190d780fa403183cf072b6f84ec1cbb4a33c8 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Sat, 16 Dec 2017 15:22:29 +0000 Subject: [PATCH 11/36] New stable release --- debian/changelog | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index bd503670..53bb8bbf 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,5 +1,6 @@ -llvm-toolchain-5.0 (1:5.0.1~+rc3-1~exp2) experimental; urgency=medium +llvm-toolchain-5.0 (1:5.0.1-1) unstable; urgency=medium + * New stable release * test-keep-alive.diff: Display more information during the test suite run to avoid the FTBFS on mips* From 9e711d0143c76ee350da4744180c8c6ce889790d Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Mon, 18 Dec 2017 12:58:50 +0000 Subject: [PATCH 12/36] add missing patch --- debian/patches/test-keep-alive.diff | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 debian/patches/test-keep-alive.diff diff --git a/debian/patches/test-keep-alive.diff b/debian/patches/test-keep-alive.diff new file mode 100644 index 00000000..f22c66f7 --- /dev/null +++ b/debian/patches/test-keep-alive.diff @@ -0,0 +1,21 @@ +Index: llvm-toolchain-5.0-5.0.1~+rc1/utils/lit/lit/ProgressBar.py +=================================================================== +--- llvm-toolchain-5.0-5.0.1~+rc1.orig/utils/lit/lit/ProgressBar.py ++++ llvm-toolchain-5.0-5.0.1~+rc1/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 + From b919d9f7466eb6e39f557b19d9cb76a9ff75d894 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Fri, 22 Dec 2017 10:42:59 +0000 Subject: [PATCH 13/36] Bring back the libedit support in lldb Fix upstream bug https://bugs.llvm.org/show_bug.cgi?id=35291 --- debian/changelog | 7 +++++++ debian/rules | 3 ++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 53bb8bbf..a07ae5aa 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +llvm-toolchain-5.0 (1:5.0.1-2) unstable; urgency=medium + + * Bring back the libedit support in lldb + Fix upstream bug https://bugs.llvm.org/show_bug.cgi?id=35291 + + -- Sylvestre Ledru Fri, 22 Dec 2017 11:42:46 +0100 + llvm-toolchain-5.0 (1:5.0.1-1) unstable; urgency=medium * New stable release diff --git a/debian/rules b/debian/rules index 9681c267..74a56572 100755 --- a/debian/rules +++ b/debian/rules @@ -152,7 +152,8 @@ ifeq (,$(filter-out $(LLDB_DISABLE_ARCHS), $(DEB_HOST_ARCH))) LLDB_ENABLE=no else # See https://llvm.org/bugs/show_bug.cgi?id=28898 - CMAKE_EXTRA += -DLLDB_DISABLE_LIBEDIT=ON +# 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 endif LLD_ENABLE=yes From 9707a19639978edc3ba963a4a9453c8822f81bf0 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Fri, 22 Dec 2017 14:15:59 +0000 Subject: [PATCH 14/36] Fix the path detection to lib fuzzer https://bugs.llvm.org/show_bug.cgi?id=33248 --- debian/changelog | 2 ++ debian/patches/libfuzzer-path.diff | 14 ++++++++++++++ debian/patches/series | 1 + 3 files changed, 17 insertions(+) create mode 100644 debian/patches/libfuzzer-path.diff diff --git a/debian/changelog b/debian/changelog index a07ae5aa..5e19be9e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,8 @@ llvm-toolchain-5.0 (1:5.0.1-2) unstable; urgency=medium * Bring back the libedit support in lldb Fix upstream bug https://bugs.llvm.org/show_bug.cgi?id=35291 + * Fix the path detection to lib fuzzer + https://bugs.llvm.org/show_bug.cgi?id=33248 -- Sylvestre Ledru Fri, 22 Dec 2017 11:42:46 +0100 diff --git a/debian/patches/libfuzzer-path.diff b/debian/patches/libfuzzer-path.diff new file mode 100644 index 00000000..96c18a35 --- /dev/null +++ b/debian/patches/libfuzzer-path.diff @@ -0,0 +1,14 @@ +Index: llvm-toolchain-5.0-5.0.1/clang/lib/Driver/ToolChains/CommonArgs.cpp +=================================================================== +--- llvm-toolchain-5.0-5.0.1.orig/clang/lib/Driver/ToolChains/CommonArgs.cpp ++++ llvm-toolchain-5.0-5.0.1/clang/lib/Driver/ToolChains/CommonArgs.cpp +@@ -602,7 +602,8 @@ static void addLibFuzzerRuntime(const To + ArgStringList &CmdArgs) { + StringRef ParentDir = llvm::sys::path::parent_path(TC.getDriver().InstalledDir); + SmallString<128> P(ParentDir); +- llvm::sys::path::append(P, "lib", "libLLVMFuzzer.a"); ++ SmallString<128> P(ToolChain.getDriver().Dir); ++ llvm::sys::path::append(P, + "/../lib" CLANG_LIBDIR_SUFFIX, "libfuzzer.a"); + CmdArgs.push_back(Args.MakeArgString(P)); + TC.AddCXXStdlibLibArgs(Args, CmdArgs); + } diff --git a/debian/patches/series b/debian/patches/series index a908b833..df49ba03 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -48,3 +48,4 @@ lldb-disable-swig-error.diff update-cuda-search-path.patch test-keep-alive.diff +libfuzzer-path.diff From fd40b6607b2351a2cc8761721bae45cac040940c Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Fri, 22 Dec 2017 14:16:54 +0000 Subject: [PATCH 15/36] Add a symlink to fix lldb-X.Y - for real (Closes: #881993) --- debian/changelog | 1 + debian/lldb-X.Y.links.in | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 5e19be9e..a8b77022 100644 --- a/debian/changelog +++ b/debian/changelog @@ -4,6 +4,7 @@ llvm-toolchain-5.0 (1:5.0.1-2) unstable; urgency=medium Fix upstream bug https://bugs.llvm.org/show_bug.cgi?id=35291 * Fix the path detection to lib fuzzer https://bugs.llvm.org/show_bug.cgi?id=33248 + * Add a symlink to fix lldb-X.Y - for real (Closes: #881993) -- Sylvestre Ledru Fri, 22 Dec 2017 11:42:46 +0100 diff --git a/debian/lldb-X.Y.links.in b/debian/lldb-X.Y.links.in index 1c56bf30..d30a5f69 100644 --- a/debian/lldb-X.Y.links.in +++ b/debian/lldb-X.Y.links.in @@ -1 +1,2 @@ -usr/lib/llvm-@LLVM_VERSION@/bin/lldb-server-@LLVM_VERSION@ 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_FULL@ +usr/lib/llvm-@LLVM_VERSION@/bin/lldb-server usr/lib/llvm-@LLVM_VERSION@/bin/lldb-server-@LLVM_VERSION@ From 4dac68ac24f66dea1dcfd64135989c86bd6532a6 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Fri, 22 Dec 2017 17:32:18 +0000 Subject: [PATCH 16/36] fix the fuzzer patch --- debian/patches/libfuzzer-path.diff | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/debian/patches/libfuzzer-path.diff b/debian/patches/libfuzzer-path.diff index 96c18a35..6b2c7ef4 100644 --- a/debian/patches/libfuzzer-path.diff +++ b/debian/patches/libfuzzer-path.diff @@ -2,13 +2,15 @@ Index: llvm-toolchain-5.0-5.0.1/clang/lib/Driver/ToolChains/CommonArgs.cpp =================================================================== --- llvm-toolchain-5.0-5.0.1.orig/clang/lib/Driver/ToolChains/CommonArgs.cpp +++ llvm-toolchain-5.0-5.0.1/clang/lib/Driver/ToolChains/CommonArgs.cpp -@@ -602,7 +602,8 @@ static void addLibFuzzerRuntime(const To +@@ -600,9 +600,8 @@ collectSanitizerRuntimes(const ToolChain + static void addLibFuzzerRuntime(const ToolChain &TC, + const ArgList &Args, ArgStringList &CmdArgs) { - StringRef ParentDir = llvm::sys::path::parent_path(TC.getDriver().InstalledDir); - SmallString<128> P(ParentDir); +- StringRef ParentDir = llvm::sys::path::parent_path(TC.getDriver().InstalledDir); +- SmallString<128> P(ParentDir); - llvm::sys::path::append(P, "lib", "libLLVMFuzzer.a"); -+ SmallString<128> P(ToolChain.getDriver().Dir); -+ llvm::sys::path::append(P, + "/../lib" CLANG_LIBDIR_SUFFIX, "libfuzzer.a"); ++ SmallString<128> P; ++ llvm::sys::path::append(P, TC.getDriver().Dir, "/../lib" CLANG_LIBDIR_SUFFIX, "libFuzzer.a"); CmdArgs.push_back(Args.MakeArgString(P)); TC.AddCXXStdlibLibArgs(Args, CmdArgs); } From ca63a0b5478dea4b5fd47dd0da60a975e8a71629 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Wed, 3 Jan 2018 19:03:35 +0000 Subject: [PATCH 17/36] Upload the new package (upstream just branched) --- debian/changelog | 6 ++++++ debian/control | 6 +++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/debian/changelog b/debian/changelog index e075d80b..d5ddd4a9 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +llvm-toolchain-6.0 (1:6.0~svn321385-2) unstable; urgency=medium + + * Upload the new package (upstream just branched) + + -- Sylvestre Ledru Wed, 03 Jan 2018 20:03:12 +0100 + llvm-toolchain-snapshot (1:6.0~svn321385-1) unstable; urgency=medium * Snapshot upload before rc1 (January) diff --git a/debian/control b/debian/control index 2a9aa55e..0321eb5a 100644 --- a/debian/control +++ b/debian/control @@ -1,4 +1,4 @@ -Source: llvm-toolchain-snapshot +Source: llvm-toolchain-6.0 Section: devel Priority: optional Maintainer: LLVM Packaging Team @@ -17,8 +17,8 @@ Build-Depends: debhelper (>= 9.0), flex, bison, dejagnu, tcl, expect, Build-Conflicts: oprofile, ocaml, libllvm-3.8-ocaml-dev, libllvm-3.9-ocaml-dev Standards-Version: 4.1.1 Homepage: http://www.llvm.org/ -Vcs-Svn: svn://anonscm.debian.org/svn/pkg-llvm/llvm-toolchain/branches/5.0/ -Vcs-Browser: https://svn.debian.org/viewsvn/pkg-llvm/llvm-toolchain/branches/5.0/ +Vcs-Svn: svn://anonscm.debian.org/svn/pkg-llvm/llvm-toolchain/branches/6.0/ +Vcs-Browser: https://svn.debian.org/viewsvn/pkg-llvm/llvm-toolchain/branches/6.0/ # ------------- clang ------------- From aa481a47eeb4927109555d650fa051f37ffcc88d Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Wed, 3 Jan 2018 19:18:47 +0000 Subject: [PATCH 18/36] update of the version --- debian/changelog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index d5ddd4a9..804ec41c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -llvm-toolchain-6.0 (1:6.0~svn321385-2) unstable; urgency=medium +llvm-toolchain-6.0 (1:6.0~svn321745-1~exp1) experimental; urgency=medium * Upload the new package (upstream just branched) From a26b6701d5828d4e0363afa04f58b01e2377ee95 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Wed, 3 Jan 2018 20:25:06 +0000 Subject: [PATCH 19/36] add clang_getFileContents@LLVM_ as a new symbol --- debian/libclang1-X.Y.symbols.in | 1 + 1 file changed, 1 insertion(+) diff --git a/debian/libclang1-X.Y.symbols.in b/debian/libclang1-X.Y.symbols.in index 17f60084..a50eb655 100644 --- a/debian/libclang1-X.Y.symbols.in +++ b/debian/libclang1-X.Y.symbols.in @@ -261,6 +261,7 @@ libclang-@LLVM_VERSION@.so.1 libclang1-@LLVM_VERSION@ #MINVER# 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~ From d326d10c86bf8b43160c98d2893f1f9833ba5f92 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Sun, 7 Jan 2018 15:11:35 +0000 Subject: [PATCH 20/36] add the bug number --- debian/changelog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 0a053bc0..ed83b46b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -17,7 +17,7 @@ llvm-toolchain-4.0 (1:4.0.1-9) unstable; urgency=medium * 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 + * Fix the fix-scan-view-path.diff path (Closes: #885827) * Move libomp-dev from Suggests to Recommends (Closes: #882781) -- Sylvestre Ledru Mon, 30 Oct 2017 19:41:20 +0100 From b09d0b5ffbafb7539fe08e4d52553d63e54976d1 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Sun, 7 Jan 2018 15:18:24 +0000 Subject: [PATCH 21/36] Fix a typo --- debian/rules | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/debian/rules b/debian/rules index 3b290406..1674fbc6 100755 --- a/debian/rules +++ b/debian/rules @@ -8,8 +8,7 @@ GXX_VERSIONED_PACKAGE := $(shell dpkg-query -W -f '$${Depends}' g++ | grep -o 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]+).([0-9]+).*,\1.\2,p" -) +LLVM_VERSION := $(shell dpkg-parsechangelog | sed -rne "s,^Version: 1:([0-9]+).([0-9]+).*,\1.\2,p") LLVM_VERSION_FULL := $(shell dpkg-parsechangelog | sed -rne "s,^Version: 1:([0-9.]+)(~|-)(.*),\1,p") SONAME_EXT := 1 From 76dff14842352e030fb6daefec46a33ef39cf514 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Thu, 18 Jan 2018 13:50:46 +0000 Subject: [PATCH 22/36] New snapshot release --- debian/changelog | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/debian/changelog b/debian/changelog index 804ec41c..607683a1 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +llvm-toolchain-6.0 (1:6.0~+rc1-1) unstable; urgency=medium + + * New snapshot release + + -- Sylvestre Ledru Thu, 18 Jan 2018 09:26:04 +0100 + llvm-toolchain-6.0 (1:6.0~svn321745-1~exp1) experimental; urgency=medium * Upload the new package (upstream just branched) From 01ba6803ff0e16c3b0e11d72669924134cb596e9 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Wed, 24 Jan 2018 08:58:47 +0000 Subject: [PATCH 23/36] Update of the clang-tools-X.Y description --- debian/changelog | 6 ++++++ debian/control | 5 +++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index a8b77022..26d24abb 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +llvm-toolchain-5.0 (1:5.0.1-3) unstable; urgency=medium + + * Update of the clang-tools-X.Y description + + -- + llvm-toolchain-5.0 (1:5.0.1-2) unstable; urgency=medium * Bring back the libedit support in lldb diff --git a/debian/control b/debian/control index 91088960..c6fd4a79 100644 --- a/debian/control +++ b/debian/control @@ -43,7 +43,7 @@ Description: C, C++ and Objective-C compiler Package: clang-tools-5.0 Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, clang-5.0 (= ${binary:Version}) -Description: C, C++ and Objective-C compiler +Description: clang-based tools 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). @@ -51,7 +51,8 @@ Description: C, C++ and Objective-C compiler Clang implements all of the ISO C++ 1998, 11 and 14 standards and also provides most of the support of C++17. . - This package contains some clang-based tools. + This package contains some clang-based tools like scan-build, clangd, + clang-cl, etc. Package: clang-format-5.0 Architecture: any From 33a771c92aa82f1e54a4c052c99d2f15f63987ac Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Wed, 24 Jan 2018 08:58:50 +0000 Subject: [PATCH 24/36] Update of the clang-tools-X.Y description --- debian/changelog | 1 + debian/control | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index 607683a1..4c6cdfb3 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,7 @@ llvm-toolchain-6.0 (1:6.0~+rc1-1) unstable; urgency=medium * New snapshot release + * Update of the clang-tools-X.Y description -- Sylvestre Ledru Thu, 18 Jan 2018 09:26:04 +0100 diff --git a/debian/control b/debian/control index 0321eb5a..5c4b4bd7 100644 --- a/debian/control +++ b/debian/control @@ -41,7 +41,7 @@ Description: C, C++ and Objective-C compiler Package: clang-tools-6.0 Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, clang-6.0 (= ${binary:Version}) -Description: C, C++ and Objective-C compiler +Description: clang-based tools 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). @@ -49,7 +49,8 @@ Description: C, C++ and Objective-C compiler Clang implements all of the ISO C++ 1998, 11 and 14 standards and also provides most of the support of C++17. . - This package contains some clang-based tools. + This package contains some clang-based tools like scan-build, clangd, + clang-cl, etc. Package: clang-format-6.0 Architecture: any From f1cd665a4f64b27dca03bb4e4a53ea949c5077f0 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Wed, 31 Jan 2018 12:50:07 +0000 Subject: [PATCH 25/36] Also ignore comdat.ll test failure in silent-gold-test.diff. see https://bugs.llvm.org/show_bug.cgi?id=36166 --- debian/changelog | 7 +++++++ debian/patches/silent-gold-test.diff | 18 +++++++++++++++--- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/debian/changelog b/debian/changelog index 4c6cdfb3..b1ef1572 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +llvm-toolchain-6.0 (1:6.0~+rc1-2) UNRELEASED; urgency=medium + + * Also ignore comdat.ll test failure in silent-gold-test.diff. see + https://bugs.llvm.org/show_bug.cgi?id=36166 + + -- Sylvestre Ledru Wed, 31 Jan 2018 13:49:35 +0100 + llvm-toolchain-6.0 (1:6.0~+rc1-1) unstable; urgency=medium * New snapshot release diff --git a/debian/patches/silent-gold-test.diff b/debian/patches/silent-gold-test.diff index fe6828df..5cf60a2a 100644 --- a/debian/patches/silent-gold-test.diff +++ b/debian/patches/silent-gold-test.diff @@ -12,10 +12,10 @@ Description: fails on debian unstable amd64 ^ -Index: llvm-toolchain-snapshot_4.0~svn289826/test/tools/gold/X86/start-lib-common.ll +Index: llvm-toolchain-snapshot_7~svn323434/test/tools/gold/X86/start-lib-common.ll =================================================================== ---- llvm-toolchain-snapshot_4.0~svn289826.orig/test/tools/gold/X86/start-lib-common.ll -+++ llvm-toolchain-snapshot_4.0~svn289826/test/tools/gold/X86/start-lib-common.ll +--- llvm-toolchain-snapshot_7~svn323434.orig/test/tools/gold/X86/start-lib-common.ll ++++ llvm-toolchain-snapshot_7~svn323434/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 @@ -24,3 +24,15 @@ Index: llvm-toolchain-snapshot_4.0~svn289826/test/tools/gold/X86/start-lib-commo 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_7~svn323434/test/tools/gold/X86/comdat.ll +=================================================================== +--- llvm-toolchain-snapshot_7~svn323434.orig/test/tools/gold/X86/comdat.ll ++++ llvm-toolchain-snapshot_7~svn323434/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 -t %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" From 7d0880617705a9758f5b80078c08784ad8783b5f Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Thu, 8 Feb 2018 09:14:57 +0000 Subject: [PATCH 26/36] * New snapshot release - should fix the FTBFS on arm64 (Closes: #888877) * Remove the python-lldb-6.0 dep to liblldb-6.0-dev to remove the circular dependency (Closes: #876015) --- debian/changelog | 8 ++++++-- debian/control | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/debian/changelog b/debian/changelog index b1ef1572..067c909f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,9 +1,13 @@ -llvm-toolchain-6.0 (1:6.0~+rc1-2) UNRELEASED; urgency=medium +llvm-toolchain-6.0 (1:6.0~+rc2-1) unstable; urgency=medium + * New snapshot release + - should fix the FTBFS on arm64 (Closes: #888877) * Also ignore comdat.ll test failure in silent-gold-test.diff. see https://bugs.llvm.org/show_bug.cgi?id=36166 + * Remove the python-lldb-6.0 dep to liblldb-6.0-dev to remove the + circular dependency (Closes: #876015) - -- Sylvestre Ledru Wed, 31 Jan 2018 13:49:35 +0100 + -- Sylvestre Ledru Wed, 07 Feb 2018 23:13:54 +0100 llvm-toolchain-6.0 (1:6.0~+rc1-1) unstable; urgency=medium diff --git a/debian/control b/debian/control index 5c4b4bd7..fbae5e10 100644 --- a/debian/control +++ b/debian/control @@ -506,7 +506,7 @@ Package: python-lldb-6.0 Section: python Architecture: amd64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 s390 sparc hppa m68k powerpcspe sh4 x32 mips mipsel arm64 # ia64 mips mipsel hurd ppc64 ppc64el alpha s390x powerpc sparc64 have been removed -Depends: ${shlibs:Depends}, ${misc:Depends}, liblldb-6.0-dev, python, python-six +Depends: ${shlibs:Depends}, ${misc:Depends}, python, python-six Conflicts: python-lldb-3.8, python-lldb-3.9, python-lldb-x.y Replaces: python-lldb-x.y Provides: python-lldb-x.y From 77b8bc857532de10bc861f95f84e281aa8b5d699 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Thu, 8 Feb 2018 09:16:39 +0000 Subject: [PATCH 27/36] Mark liblldb-6.0-dbg conflict with liblldb-7-dbg (Closes: #888057) --- debian/changelog | 2 ++ debian/control | 1 + 2 files changed, 3 insertions(+) diff --git a/debian/changelog b/debian/changelog index 067c909f..1693b230 100644 --- a/debian/changelog +++ b/debian/changelog @@ -6,6 +6,8 @@ llvm-toolchain-6.0 (1:6.0~+rc2-1) unstable; urgency=medium https://bugs.llvm.org/show_bug.cgi?id=36166 * Remove the python-lldb-6.0 dep to liblldb-6.0-dev to remove the circular dependency (Closes: #876015) + * Mark liblldb-6.0-dbg conflict with liblldb-7-dbg + (Closes: #888057) -- Sylvestre Ledru Wed, 07 Feb 2018 23:13:54 +0100 diff --git a/debian/control b/debian/control index fbae5e10..2212bfe5 100644 --- a/debian/control +++ b/debian/control @@ -492,6 +492,7 @@ Architecture: amd64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 s390 sparc hp # ia64 mips mipsel hurd ppc64el alpha s390x sparc64 powerpc ppc64 have been removed Depends: ${shlibs:Depends}, ${misc:Depends}, liblldb-6.0 (= ${binary:Version}) Pre-Depends: ${misc:Pre-Depends} +Conflicts: liblldb-7-dbg Section: debug Priority: optional Description: Next generation, high-performance debugger, debugging libraries From c534fae9582f74bb6d5239b6d67c70c1d116f6d9 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Sat, 10 Feb 2018 23:02:01 +0000 Subject: [PATCH 28/36] fix the date --- debian/changelog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index ed83b46b..b7dc1ef9 100644 --- a/debian/changelog +++ b/debian/changelog @@ -20,7 +20,7 @@ llvm-toolchain-4.0 (1:4.0.1-9) unstable; urgency=medium * Fix the fix-scan-view-path.diff path (Closes: #885827) * Move libomp-dev from Suggests to Recommends (Closes: #882781) - -- Sylvestre Ledru Mon, 30 Oct 2017 19:41:20 +0100 + -- Sylvestre Ledru Sun, 11 Feb 2018 00:01:50 +0100 llvm-toolchain-4.0 (1:4.0.1-8) unstable; urgency=medium From a189c570821669749002c2273b79582c143191cc Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Sun, 11 Feb 2018 11:24:01 +0000 Subject: [PATCH 29/36] Do not ship liblld-4.0-dbg for now (Closes: #889269) --- debian/changelog | 1 + debian/control | 26 +++++++++++++------------- debian/rules | 6 +++--- 3 files changed, 17 insertions(+), 16 deletions(-) diff --git a/debian/changelog b/debian/changelog index b7dc1ef9..e4dc52ed 100644 --- a/debian/changelog +++ b/debian/changelog @@ -19,6 +19,7 @@ llvm-toolchain-4.0 (1:4.0.1-9) unstable; urgency=medium Thanks to Andreas Beckmann for the patch (Closes: #882505) (LP: #1706326) * Fix the fix-scan-view-path.diff path (Closes: #885827) * Move libomp-dev from Suggests to Recommends (Closes: #882781) + * Do not ship liblld-4.0-dbg for now (Closes: #889269) -- Sylvestre Ledru Sun, 11 Feb 2018 00:01:50 +0100 diff --git a/debian/control b/debian/control index 4d5cdbb6..303e57c3 100644 --- a/debian/control +++ b/debian/control @@ -430,19 +430,19 @@ Description: LLVM-based linker, library . This package contains the LLD runtime library. -Package: liblld-4.0-dbg -Architecture: amd64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 s390 sparc hppa m68k powerpcspe ppc64 sh4 sparc64 x32 mips mipsel -# ia64 mips mipsel hurd ppc64el alpha s390x powerpc have been removed -Depends: ${shlibs:Depends}, ${misc:Depends}, liblld-4.0 (= ${binary:Version}) -Pre-Depends: ${misc:Pre-Depends} -Section: debug -Priority: optional -Description: LLVM-based linker, debugging libraries - 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 debug symbols. +# Package: liblld-4.0-dbg +# Architecture: amd64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 s390 sparc hppa m68k powerpcspe ppc64 sh4 sparc64 x32 mips mipsel +# # ia64 mips mipsel hurd ppc64el alpha s390x powerpc have been removed +# Depends: ${shlibs:Depends}, ${misc:Depends}, liblld-4.0 (= ${binary:Version}) +# Pre-Depends: ${misc:Pre-Depends} +# Section: debug +# Priority: optional +# Description: LLVM-based linker, debugging libraries +# 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 debug symbols. Package: liblld-4.0-dev diff --git a/debian/rules b/debian/rules index 1674fbc6..cb274da9 100755 --- a/debian/rules +++ b/debian/rules @@ -500,9 +500,9 @@ override_dh_strip: dh_strip -p libclang$(SONAME_EXT)-$(LLVM_VERSION) --dbg-package=libclang$(SONAME_EXT)-$(LLVM_VERSION)-dbg dh_strip -p libllvm$(LLVM_VERSION) --dbg-package=libllvm$(LLVM_VERSION)-dbg dh_strip -p liblldb-$(LLVM_VERSION) --dbg-package=liblldb-$(LLVM_VERSION)-dbg -ifeq (${LLD_ENABLE},yes) - dh_strip -p liblld-$(LLVM_VERSION) --dbg-package=liblld-$(LLVM_VERSION)-dbg -endif +# ifeq (${LLD_ENABLE},yes) +# dh_strip -p liblld-$(LLVM_VERSION) --dbg-package=liblld-$(LLVM_VERSION)-dbg +# endif dh_strip -a From 115a5adf01dad0b984c75f8ac5f706ee56d722f1 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Mon, 12 Feb 2018 16:50:35 +0000 Subject: [PATCH 30/36] Fix the libclang1-X.Y.symbols.in file (two spaces) (Closes: #889035) --- debian/changelog | 2 ++ debian/libclang1-X.Y.symbols.in | 14 +++++++------- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/debian/changelog b/debian/changelog index 26d24abb..b6beb0ab 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,8 @@ llvm-toolchain-5.0 (1:5.0.1-3) unstable; urgency=medium * Update of the clang-tools-X.Y description + * Fix the libclang1-X.Y.symbols.in file (two spaces) + (Closes: #889035) -- diff --git a/debian/libclang1-X.Y.symbols.in b/debian/libclang1-X.Y.symbols.in index 88eded48..d7b55dfe 100644 --- a/debian/libclang1-X.Y.symbols.in +++ b/debian/libclang1-X.Y.symbols.in @@ -62,14 +62,14 @@ libclang-@LLVM_VERSION@.so.1 libclang1-@LLVM_VERSION@ #MINVER# clang_Cursor_isAnonymous@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-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_isExternalSymbol@LLVM_@LLVM_VERSION@ 1:5.0~+rc1~ clang_Cursor_isFunctionInlined@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-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_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~ @@ -189,7 +189,7 @@ libclang-@LLVM_VERSION@.so.1 libclang1-@LLVM_VERSION@ #MINVER# 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_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~ @@ -216,7 +216,7 @@ libclang-@LLVM_VERSION@.so.1 libclang1-@LLVM_VERSION@ #MINVER# 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_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~ @@ -253,7 +253,7 @@ libclang-@LLVM_VERSION@.so.1 libclang1-@LLVM_VERSION@ #MINVER# 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_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~ @@ -304,7 +304,7 @@ libclang-@LLVM_VERSION@.so.1 libclang1-@LLVM_VERSION@ #MINVER# 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_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~ @@ -350,7 +350,7 @@ libclang-@LLVM_VERSION@.so.1 libclang1-@LLVM_VERSION@ #MINVER# 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_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_visitChildren@LLVM_@LLVM_VERSION@ 1:5.0~svn298832-1~ From 81afee585413f19576a7976e474a599d24c139b8 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Wed, 14 Feb 2018 12:11:41 +0000 Subject: [PATCH 31/36] Ignore the test tools/gold/X86/comdat.ll until https://bugs.llvm.org/show_bug.cgi?id=36166 is fixed. Will fix the ftbfs on x86 --- debian/changelog | 9 +++++++++ debian/patches/silent-gold-test.diff | 18 +++++++++++++++--- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/debian/changelog b/debian/changelog index e4dc52ed..2ae17cb4 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,12 @@ +llvm-toolchain-4.0 (1:4.0.1-10) unstable; urgency=medium + + * Ignore the test tools/gold/X86/comdat.ll + until https://bugs.llvm.org/show_bug.cgi?id=36166 + is fixed. + Will fix the ftbfs on x86 + + -- Sylvestre Ledru Tue, 13 Feb 2018 09:26:55 +0100 + llvm-toolchain-4.0 (1:4.0.1-9) unstable; urgency=medium * Create clang-tools-4.0 and move the various clang tools into it diff --git a/debian/patches/silent-gold-test.diff b/debian/patches/silent-gold-test.diff index fe6828df..2242bbbc 100644 --- a/debian/patches/silent-gold-test.diff +++ b/debian/patches/silent-gold-test.diff @@ -12,10 +12,10 @@ Description: fails on debian unstable amd64 ^ -Index: llvm-toolchain-snapshot_4.0~svn289826/test/tools/gold/X86/start-lib-common.ll +Index: llvm-toolchain-4.0-4.0.1/test/tools/gold/X86/start-lib-common.ll =================================================================== ---- llvm-toolchain-snapshot_4.0~svn289826.orig/test/tools/gold/X86/start-lib-common.ll -+++ llvm-toolchain-snapshot_4.0~svn289826/test/tools/gold/X86/start-lib-common.ll +--- llvm-toolchain-4.0-4.0.1.orig/test/tools/gold/X86/start-lib-common.ll ++++ llvm-toolchain-4.0-4.0.1/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 @@ -24,3 +24,15 @@ Index: llvm-toolchain-snapshot_4.0~svn289826/test/tools/gold/X86/start-lib-commo target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" @x = common global i32 0, align 4 +Index: llvm-toolchain-4.0-4.0.1/test/tools/gold/X86/comdat.ll +=================================================================== +--- llvm-toolchain-4.0-4.0.1.orig/test/tools/gold/X86/comdat.ll ++++ llvm-toolchain-4.0-4.0.1/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 -t %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" From 54d2f6d28866327b6e505c13cacc323ac74db7ad Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Wed, 14 Feb 2018 12:12:28 +0000 Subject: [PATCH 32/36] Ignore the test tools/gold/X86/comdat.ll until https://bugs.llvm.org/show_bug.cgi?id=36166 is fixed. Will fix the ftbfs on x86 --- debian/changelog | 9 +++++++++ debian/patches/silent-gold-test.diff | 18 +++++++++++++++--- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/debian/changelog b/debian/changelog index b6beb0ab..c44fe357 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,12 @@ +llvm-toolchain-5.0 (1:5.0.1-4) UNRELEASED; urgency=medium + + * Ignore the test tools/gold/X86/comdat.ll + until https://bugs.llvm.org/show_bug.cgi?id=36166 + is fixed. + Will fix the ftbfs on x86 + + -- Sylvestre Ledru Wed, 14 Feb 2018 13:12:18 +0100 + llvm-toolchain-5.0 (1:5.0.1-3) unstable; urgency=medium * Update of the clang-tools-X.Y description diff --git a/debian/patches/silent-gold-test.diff b/debian/patches/silent-gold-test.diff index fe6828df..2242bbbc 100644 --- a/debian/patches/silent-gold-test.diff +++ b/debian/patches/silent-gold-test.diff @@ -12,10 +12,10 @@ Description: fails on debian unstable amd64 ^ -Index: llvm-toolchain-snapshot_4.0~svn289826/test/tools/gold/X86/start-lib-common.ll +Index: llvm-toolchain-4.0-4.0.1/test/tools/gold/X86/start-lib-common.ll =================================================================== ---- llvm-toolchain-snapshot_4.0~svn289826.orig/test/tools/gold/X86/start-lib-common.ll -+++ llvm-toolchain-snapshot_4.0~svn289826/test/tools/gold/X86/start-lib-common.ll +--- llvm-toolchain-4.0-4.0.1.orig/test/tools/gold/X86/start-lib-common.ll ++++ llvm-toolchain-4.0-4.0.1/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 @@ -24,3 +24,15 @@ Index: llvm-toolchain-snapshot_4.0~svn289826/test/tools/gold/X86/start-lib-commo target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" @x = common global i32 0, align 4 +Index: llvm-toolchain-4.0-4.0.1/test/tools/gold/X86/comdat.ll +=================================================================== +--- llvm-toolchain-4.0-4.0.1.orig/test/tools/gold/X86/comdat.ll ++++ llvm-toolchain-4.0-4.0.1/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 -t %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" From b42af651833516be29bc1b8d7e75ba2accd4c3b9 Mon Sep 17 00:00:00 2001 From: John Paul Adrian Glaubitz Date: Wed, 14 Feb 2018 18:42:35 +0000 Subject: [PATCH 33/36] Add proposed upstream patch by James Clarke to add the missing __tls_get_addr symbol to the symbol table for TLS calls on SPARC (Closes: #890401) --- debian/changelog | 9 ++++ debian/patches/series | 1 + .../sparc64-add-missing-tls-get-addr.diff | 43 +++++++++++++++++++ 3 files changed, 53 insertions(+) create mode 100644 debian/patches/sparc64-add-missing-tls-get-addr.diff diff --git a/debian/changelog b/debian/changelog index 2ae17cb4..057724db 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,12 @@ +llvm-toolchain-4.0 (1:4.0.1-11) UNRELEASED; urgency=medium + + [ John Paul Adrian Glaubitz ] + * Add proposed upstream patch by James Clarke to add the + missing __tls_get_addr symbol to the symbol table for + TLS calls on SPARC (Closes: #890401) + + -- John Paul Adrian Glaubitz Wed, 14 Feb 2018 19:25:54 +0100 + llvm-toolchain-4.0 (1:4.0.1-10) unstable; urgency=medium * Ignore the test tools/gold/X86/comdat.ll diff --git a/debian/patches/series b/debian/patches/series index 27600578..8901ea8b 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -60,3 +60,4 @@ rL306358.diff rL306379.diff sparc64-fix-stack-alignment.diff update-cuda-search-path.patch +sparc64-add-missing-tls-get-addr.diff diff --git a/debian/patches/sparc64-add-missing-tls-get-addr.diff b/debian/patches/sparc64-add-missing-tls-get-addr.diff new file mode 100644 index 00000000..3f4413d6 --- /dev/null +++ b/debian/patches/sparc64-add-missing-tls-get-addr.diff @@ -0,0 +1,43 @@ +Description: [Sparc] Include __tls_get_addr in symbol table for TLS calls to it + Global Dynamic and Local Dynamic call relocations only implicitly + reference __tls_get_addr, but it still needs to be in the symbol table + to be bound at link time otherwise it fails to link. For details, see + https://sourceware.org/bugzilla/show_bug.cgi?id=22832. +Author: James Clarke +Last-Update: 2018-02-14 + +--- llvm-toolchain-4.0-4.0.1.orig/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp ++++ llvm-toolchain-4.0-4.0.1/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp +@@ -194,14 +194,30 @@ static void fixELFSymbolsInTLSFixupsImpl + void SparcMCExpr::fixELFSymbolsInTLSFixups(MCAssembler &Asm) const { + switch(getKind()) { + default: return; ++ case VK_Sparc_TLS_GD_CALL: ++ case VK_Sparc_TLS_LDM_CALL: { ++ // The corresponding relocations reference __tls_get_addr, as they call it, ++ // but this is only implicit; there is no connection in the ELF file ++ // between the relocation and the symbol, other than the specification for ++ // the semantics of the relocations. However, the symbol must be included ++ // in our symbol table despite the lack of references to it, since it needs ++ // to be bound during linking for these relocations. For details see ++ // https://sourceware.org/bugzilla/show_bug.cgi?id=22832. ++ MCSymbol *Symbol = Asm.getContext().getOrCreateSymbol("__tls_get_addr"); ++ Asm.registerSymbol(*Symbol); ++ auto ELFSymbol = cast(Symbol); ++ if (!ELFSymbol->isBindingSet()) { ++ ELFSymbol->setBinding(ELF::STB_GLOBAL); ++ ELFSymbol->setExternal(true); ++ } ++ LLVM_FALLTHROUGH; ++ } + case VK_Sparc_TLS_GD_HI22: + case VK_Sparc_TLS_GD_LO10: + case VK_Sparc_TLS_GD_ADD: +- case VK_Sparc_TLS_GD_CALL: + case VK_Sparc_TLS_LDM_HI22: + case VK_Sparc_TLS_LDM_LO10: + case VK_Sparc_TLS_LDM_ADD: +- case VK_Sparc_TLS_LDM_CALL: + case VK_Sparc_TLS_LDO_HIX22: + case VK_Sparc_TLS_LDO_LOX10: + case VK_Sparc_TLS_LDO_ADD: From ae9c6b6c71ae39a8a9b73c86e8376a2e76afd9fb Mon Sep 17 00:00:00 2001 From: John Paul Adrian Glaubitz Date: Wed, 14 Feb 2018 19:30:01 +0000 Subject: [PATCH 34/36] Add proposed upstream patch by James Clarke to add the missing __tls_get_addr symbol to the symbol table for TLS calls on SPARC (Closes: #890401) --- debian/changelog | 6 +++ debian/patches/series | 1 + .../sparc64-add-missing-tls-get-addr.diff | 43 +++++++++++++++++++ 3 files changed, 50 insertions(+) create mode 100644 debian/patches/sparc64-add-missing-tls-get-addr.diff diff --git a/debian/changelog b/debian/changelog index c44fe357..ee50013d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,10 +1,16 @@ llvm-toolchain-5.0 (1:5.0.1-4) UNRELEASED; urgency=medium + [ Sylvestre Ledru ] * Ignore the test tools/gold/X86/comdat.ll until https://bugs.llvm.org/show_bug.cgi?id=36166 is fixed. Will fix the ftbfs on x86 + [ John Paul Adrian Glaubitz ] + * Add proposed upstream patch by James Clarke to add the + missing __tls_get_addr symbol to the symbol table for + TLS calls on SPARC (Closes: #890401) + -- Sylvestre Ledru Wed, 14 Feb 2018 13:12:18 +0100 llvm-toolchain-5.0 (1:5.0.1-3) unstable; urgency=medium diff --git a/debian/patches/series b/debian/patches/series index df49ba03..7f58c36b 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -49,3 +49,4 @@ update-cuda-search-path.patch test-keep-alive.diff libfuzzer-path.diff +sparc64-add-missing-tls-get-addr.diff diff --git a/debian/patches/sparc64-add-missing-tls-get-addr.diff b/debian/patches/sparc64-add-missing-tls-get-addr.diff new file mode 100644 index 00000000..3f4413d6 --- /dev/null +++ b/debian/patches/sparc64-add-missing-tls-get-addr.diff @@ -0,0 +1,43 @@ +Description: [Sparc] Include __tls_get_addr in symbol table for TLS calls to it + Global Dynamic and Local Dynamic call relocations only implicitly + reference __tls_get_addr, but it still needs to be in the symbol table + to be bound at link time otherwise it fails to link. For details, see + https://sourceware.org/bugzilla/show_bug.cgi?id=22832. +Author: James Clarke +Last-Update: 2018-02-14 + +--- llvm-toolchain-4.0-4.0.1.orig/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp ++++ llvm-toolchain-4.0-4.0.1/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp +@@ -194,14 +194,30 @@ static void fixELFSymbolsInTLSFixupsImpl + void SparcMCExpr::fixELFSymbolsInTLSFixups(MCAssembler &Asm) const { + switch(getKind()) { + default: return; ++ case VK_Sparc_TLS_GD_CALL: ++ case VK_Sparc_TLS_LDM_CALL: { ++ // The corresponding relocations reference __tls_get_addr, as they call it, ++ // but this is only implicit; there is no connection in the ELF file ++ // between the relocation and the symbol, other than the specification for ++ // the semantics of the relocations. However, the symbol must be included ++ // in our symbol table despite the lack of references to it, since it needs ++ // to be bound during linking for these relocations. For details see ++ // https://sourceware.org/bugzilla/show_bug.cgi?id=22832. ++ MCSymbol *Symbol = Asm.getContext().getOrCreateSymbol("__tls_get_addr"); ++ Asm.registerSymbol(*Symbol); ++ auto ELFSymbol = cast(Symbol); ++ if (!ELFSymbol->isBindingSet()) { ++ ELFSymbol->setBinding(ELF::STB_GLOBAL); ++ ELFSymbol->setExternal(true); ++ } ++ LLVM_FALLTHROUGH; ++ } + case VK_Sparc_TLS_GD_HI22: + case VK_Sparc_TLS_GD_LO10: + case VK_Sparc_TLS_GD_ADD: +- case VK_Sparc_TLS_GD_CALL: + case VK_Sparc_TLS_LDM_HI22: + case VK_Sparc_TLS_LDM_LO10: + case VK_Sparc_TLS_LDM_ADD: +- case VK_Sparc_TLS_LDM_CALL: + case VK_Sparc_TLS_LDO_HIX22: + case VK_Sparc_TLS_LDO_LOX10: + case VK_Sparc_TLS_LDO_ADD: From 6f2f69cc4ea141d10c21d46074d315e049617426 Mon Sep 17 00:00:00 2001 From: John Paul Adrian Glaubitz Date: Wed, 14 Feb 2018 20:26:06 +0000 Subject: [PATCH 35/36] Add proposed upstream patch by James Clarke to add the missing __tls_get_addr symbol to the symbol table for TLS calls on SPARC (Closes: #890401) --- debian/changelog | 9 ++++ debian/patches/series | 1 + .../sparc64-add-missing-tls-get-addr.diff | 43 +++++++++++++++++++ 3 files changed, 53 insertions(+) create mode 100644 debian/patches/sparc64-add-missing-tls-get-addr.diff diff --git a/debian/changelog b/debian/changelog index 1693b230..61a04990 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,12 @@ +llvm-toolchain-6.0 (1:6.0~+rc2-2) UNRELEASED; urgency=medium + + [ John Paul Adrian Glaubitz ] + * Add proposed upstream patch by James Clarke to add the + missing __tls_get_addr symbol to the symbol table for + TLS calls on SPARC (Closes: #890401) + + -- John Paul Adrian Glaubitz Wed, 14 Feb 2018 21:23:31 +0100 + llvm-toolchain-6.0 (1:6.0~+rc2-1) unstable; urgency=medium * New snapshot release diff --git a/debian/patches/series b/debian/patches/series index fa0b226f..9970a8d4 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -46,3 +46,4 @@ lldb-disable-swig-error.diff silent-test-macho.diff silent-llvm-isel-fuzzer.diff test-keep-alive.diff +sparc64-add-missing-tls-get-addr.diff diff --git a/debian/patches/sparc64-add-missing-tls-get-addr.diff b/debian/patches/sparc64-add-missing-tls-get-addr.diff new file mode 100644 index 00000000..3f4413d6 --- /dev/null +++ b/debian/patches/sparc64-add-missing-tls-get-addr.diff @@ -0,0 +1,43 @@ +Description: [Sparc] Include __tls_get_addr in symbol table for TLS calls to it + Global Dynamic and Local Dynamic call relocations only implicitly + reference __tls_get_addr, but it still needs to be in the symbol table + to be bound at link time otherwise it fails to link. For details, see + https://sourceware.org/bugzilla/show_bug.cgi?id=22832. +Author: James Clarke +Last-Update: 2018-02-14 + +--- llvm-toolchain-4.0-4.0.1.orig/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp ++++ llvm-toolchain-4.0-4.0.1/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp +@@ -194,14 +194,30 @@ static void fixELFSymbolsInTLSFixupsImpl + void SparcMCExpr::fixELFSymbolsInTLSFixups(MCAssembler &Asm) const { + switch(getKind()) { + default: return; ++ case VK_Sparc_TLS_GD_CALL: ++ case VK_Sparc_TLS_LDM_CALL: { ++ // The corresponding relocations reference __tls_get_addr, as they call it, ++ // but this is only implicit; there is no connection in the ELF file ++ // between the relocation and the symbol, other than the specification for ++ // the semantics of the relocations. However, the symbol must be included ++ // in our symbol table despite the lack of references to it, since it needs ++ // to be bound during linking for these relocations. For details see ++ // https://sourceware.org/bugzilla/show_bug.cgi?id=22832. ++ MCSymbol *Symbol = Asm.getContext().getOrCreateSymbol("__tls_get_addr"); ++ Asm.registerSymbol(*Symbol); ++ auto ELFSymbol = cast(Symbol); ++ if (!ELFSymbol->isBindingSet()) { ++ ELFSymbol->setBinding(ELF::STB_GLOBAL); ++ ELFSymbol->setExternal(true); ++ } ++ LLVM_FALLTHROUGH; ++ } + case VK_Sparc_TLS_GD_HI22: + case VK_Sparc_TLS_GD_LO10: + case VK_Sparc_TLS_GD_ADD: +- case VK_Sparc_TLS_GD_CALL: + case VK_Sparc_TLS_LDM_HI22: + case VK_Sparc_TLS_LDM_LO10: + case VK_Sparc_TLS_LDM_ADD: +- case VK_Sparc_TLS_LDM_CALL: + case VK_Sparc_TLS_LDO_HIX22: + case VK_Sparc_TLS_LDO_LOX10: + case VK_Sparc_TLS_LDO_ADD: From 4f6bd52e571d17c03a994674eccbd8a108d2b0d6 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Fri, 23 Feb 2018 19:43:55 +0100 Subject: [PATCH 36/36] Move the VCS to git. Many thanks to James Clarke for doing the conversion --- debian/changelog | 7 ++++++- debian/control | 4 ++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/debian/changelog b/debian/changelog index 057724db..f25a3ea6 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,11 +1,16 @@ llvm-toolchain-4.0 (1:4.0.1-11) UNRELEASED; urgency=medium + * Move the VCS to git. + Many thanks to James Clarke for doing the conversion + [ John Paul Adrian Glaubitz ] * Add proposed upstream patch by James Clarke to add the missing __tls_get_addr symbol to the symbol table for TLS calls on SPARC (Closes: #890401) - -- John Paul Adrian Glaubitz Wed, 14 Feb 2018 19:25:54 +0100 + [ Sylvestre Ledru ] + + -- Sylvestre Ledru Fri, 23 Feb 2018 19:43:43 +0100 llvm-toolchain-4.0 (1:4.0.1-10) unstable; urgency=medium diff --git a/debian/control b/debian/control index 303e57c3..dd78f5e7 100644 --- a/debian/control +++ b/debian/control @@ -17,8 +17,8 @@ Build-Depends: debhelper (>= 9.0), flex, bison, dejagnu, tcl, expect, Build-Conflicts: oprofile, ocaml, libllvm-3.8-ocaml-dev, libllvm-3.9-ocaml-dev Standards-Version: 4.1.1 Homepage: http://www.llvm.org/ -Vcs-Svn: svn://anonscm.debian.org/svn/pkg-llvm/llvm-toolchain/branches/4.0/ -Vcs-Browser: https://svn.debian.org/viewsvn/pkg-llvm/llvm-toolchain/branches/4.0/ +Vcs-Git: https://salsa.debian.org/pkg-llvm-team/llvm-toolchain.git -b 4.0 +Vcs-Browser: https://salsa.debian.org/pkg-llvm-team/llvm-toolchain/tree/4.0 # ------------- clang -------------