Merge branch '10' of salsa.debian.org:pkg-llvm-team/llvm-toolchain into 10

This commit is contained in:
Sylvestre Ledru 2020-02-08 17:51:29 +01:00
commit d285842a59
14 changed files with 120 additions and 68 deletions

8
debian/README vendored
View File

@ -9,7 +9,7 @@ The current snapshot release is maintained in the "snapshot" branch.
The easiest way to get all branches is probably to have one The easiest way to get all branches is probably to have one
clone per version: clone per version:
for f in 8 9 snapshot; do for f in 8 9 10 snapshot; do
git clone git@salsa.debian.org:pkg-llvm-team/llvm-toolchain.git -b $f $f git clone git@salsa.debian.org:pkg-llvm-team/llvm-toolchain.git -b $f $f
done done
@ -57,7 +57,7 @@ branch at
https://github.com/llvm/llvm-project/branches https://github.com/llvm/llvm-project/branches
you should use, you should use,
$ sh 9/debian/orig-tar.sh release/9.x $ sh 10/debian/orig-tar.sh release/10.x
To retrieve a specific release candidate, you can pass the branch name as the To retrieve a specific release candidate, you can pass the branch name as the
first argument, and the tag rc number as the second argument. For example, to first argument, and the tag rc number as the second argument. For example, to
@ -65,11 +65,11 @@ get the 9.0.1 release candidate rc3 at
https://github.com/llvm/llvm-project/tags https://github.com/llvm/llvm-project/tags
you should use, you should use,
$ sh 9/debian/orig-tar.sh 9.0.1 rc3 $ sh 10/debian/orig-tar.sh 10.0.1 rc3
For a stable release, the syntax is: For a stable release, the syntax is:
$ sh 9/debian/orig-tar.sh 9.0.0 $ sh 10/debian/orig-tar.sh 10.0.0
Additional maintainer scripts Additional maintainer scripts

54
debian/changelog vendored
View File

@ -1,11 +1,43 @@
llvm-toolchain-10 (1:10~++20200104105135+2306f43ccb4-1~exp1) experimental; urgency=medium llvm-toolchain-10 (1:10.0.0~+rc1-1~exp2) experimental; urgency=medium
[ Sylvestre Ledru ]
* Do not try to install hwasan_symbolize on armhf ppc64el
as it isn't built
[ Samuel Thibault ]
* hurd/hurd-cxx-paths.diff: Fix patch so it can be applied.
* clang-tools-X.Y.install.in: Do not try to install hwasan_symbolize on
hurd-any.
-- Sylvestre Ledru <sylvestre@debian.org> Thu, 06 Feb 2020 10:37:39 +0100
llvm-toolchain-10 (1:10.0.0~+rc1-1~exp1) experimental; urgency=medium
[ Gianfranco Costamagna ]
* fix lldb-10 -P path print (Closes: #945445)
* Fix lldb python installation path and symlinks
* Drop version constraint from libffi-dev library, satisfied since
old-old-stable
[ Sylvestre Ledru ]
* First RC release
* For now, disable ThinLTO usage because:
- LLVM_ENABLE_LTO doesn't work with gcc >= 9 (option not accepted)
- BOOTSTRAP_LLVM_ENABLE_LTO is producing some large binary
(uses llvm ir instead of binary code)
See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=943623
* Thanks to this previous change, don't hardcode gcc 8
-- Sylvestre Ledru <sylvestre@debian.org> Mon, 03 Feb 2020 10:30:50 +0100
llvm-toolchain-10 (1:10~++20200121023453+de4b2a7fad6-1~exp1) experimental; urgency=medium
* Branch llvm-toolchain-10 into its own branch * Branch llvm-toolchain-10 into its own branch
* Merge recent 9 changes (python 3 and testsuite mostly) * Merge recent 9 changes (python 3 and testsuite mostly)
-- Sylvestre Ledru <sylvestre@debian.org> Sat, 04 Jan 2020 10:56:15 +0100 -- Sylvestre Ledru <sylvestre@debian.org> Tue, 21 Jan 2020 14:38:02 +0100
llvm-toolchain-snapshot (1:10~++20191229111838+6991d5728f1-1~exp1) experimental; urgency=medium llvm-toolchain-snapshot (1:10~+20191229111838+6991d5728f1-1~exp1) experimental; urgency=medium
* experimental New snapshot release * experimental New snapshot release
* Add a '+' in the version (as the old upload is high than the one without) * Add a '+' in the version (as the old upload is high than the one without)
@ -155,6 +187,20 @@ llvm-toolchain-snapshot (1:10~svn366440-1~exp1) experimental; urgency=medium
-- Sylvestre Ledru <sylvestre@debian.org> Thu, 18 Jul 2019 18:58:32 +0200 -- Sylvestre Ledru <sylvestre@debian.org> Thu, 18 Jul 2019 18:58:32 +0200
llvm-toolchain-9 (1:9.0.1-8) unstable; urgency=medium
* Add two new python autopkgtests to avoid regressions in the future
-- Gianfranco Costamagna <locutusofborg@debian.org> Thu, 23 Jan 2020 10:08:27 +0100
llvm-toolchain-9 (1:9.0.1-7) unstable; urgency=medium
* Add dependency on libclang-cpp-9 from llvm-9-dev (Closes: #946761)
* fix lldb-9 -P path print (Closes: #945445)
* Fix lldb python installation path and symlinks
-- Gianfranco Costamagna <locutusofborg@debian.org> Tue, 21 Jan 2020 13:05:06 +0100
llvm-toolchain-9 (1:9.0.1-6) unstable; urgency=medium llvm-toolchain-9 (1:9.0.1-6) unstable; urgency=medium
* Team upload. * Team upload.
@ -304,7 +350,7 @@ llvm-toolchain-9 (1:9.0.0-3~exp2) experimental; urgency=medium
Disable fuzzer only for i386 Disable fuzzer only for i386
* Use stage2 files to build the doc. For some reasons, clang-tools-extra * Use stage2 files to build the doc. For some reasons, clang-tools-extra
html generation stopped working html generation stopped working
* Disable z3 when the version is tool old * Disable z3 when the version is too old
-- Sylvestre Ledru <sylvestre@debian.org> Thu, 31 Oct 2019 00:29:09 +0100 -- Sylvestre Ledru <sylvestre@debian.org> Thu, 31 Oct 2019 00:29:09 +0100

View File

@ -31,7 +31,7 @@ usr/lib/llvm-@LLVM_VERSION@/bin/pp-trace
usr/lib/llvm-@LLVM_VERSION@/bin/clang-move usr/lib/llvm-@LLVM_VERSION@/bin/clang-move
usr/lib/llvm-@LLVM_VERSION@/bin/clang-offload-wrapper usr/lib/llvm-@LLVM_VERSION@/bin/clang-offload-wrapper
usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/bin/hwasan_symbolize [!armhf !ppc64el !hurd-any] usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/bin/hwasan_symbolize
clang/tools/scan-build-@LLVM_VERSION@ usr/share/clang/ clang/tools/scan-build-@LLVM_VERSION@ usr/share/clang/
clang/tools/scan-build-py-@LLVM_VERSION@ usr/share/clang/ clang/tools/scan-build-py-@LLVM_VERSION@ usr/share/clang/

40
debian/control vendored
View File

@ -3,9 +3,9 @@ Section: devel
Priority: optional Priority: optional
Rules-Requires-Root: no Rules-Requires-Root: no
Maintainer: LLVM Packaging Team <pkg-llvm-team@lists.alioth.debian.org> Maintainer: LLVM Packaging Team <pkg-llvm-team@lists.alioth.debian.org>
Uploaders: Sylvestre Ledru <sylvestre@debian.org> Uploaders: Sylvestre Ledru <sylvestre@debian.org>, Gianfranco Costamagna <locutusofborg@debian.org>
Build-Depends: debhelper (>= 9.0), cmake, chrpath, texinfo, sharutils, Build-Depends: debhelper (>= 9.0), cmake, chrpath, texinfo, sharutils,
libffi-dev (>= 3.0.9), libffi-dev,
lsb-release, patchutils, diffstat, xz-utils, python3-dev, lsb-release, patchutils, diffstat, xz-utils, python3-dev,
libedit-dev, libncurses5-dev, swig, python3-six, python3-sphinx (>= 1.3.6), libedit-dev, libncurses5-dev, swig, python3-six, python3-sphinx (>= 1.3.6),
binutils-dev, binutils-dev,
@ -19,7 +19,6 @@ Build-Depends: debhelper (>= 9.0), cmake, chrpath, texinfo, sharutils,
libctypes-ocaml-dev [amd64 arm64 armhf i386 ppc64el s390x], libctypes-ocaml-dev [amd64 arm64 armhf i386 ppc64el s390x],
dh-exec, dh-ocaml [amd64 arm64 armhf i386 ppc64el s390x], dh-exec, dh-ocaml [amd64 arm64 armhf i386 ppc64el s390x],
libpfm4-dev [linux-any], python3-setuptools, libz3-dev, libpfm4-dev [linux-any], python3-setuptools, libz3-dev,
g++-8 | g++-7 | g++-6 | g++-5 | g++-4.7
Build-Conflicts: oprofile, ocaml Build-Conflicts: oprofile, ocaml
Standards-Version: 4.2.1 Standards-Version: 4.2.1
Homepage: https://www.llvm.org/ Homepage: https://www.llvm.org/
@ -166,13 +165,6 @@ Description: Clang library - Common development package
This package contains the Clang generic headers and some libraries This package contains the Clang generic headers and some libraries
(profiling, etc). (profiling, etc).
Package: libclang-cpp1-10
Depends: libclang-cpp10, ${misc:Depends}
Architecture: all
Section: oldlibs
Description: transitional package
This is a transitional package. It can safely be removed.
Package: libclang-cpp10 Package: libclang-cpp10
Section: libs Section: libs
Architecture: any Architecture: any
@ -236,14 +228,6 @@ Description: Clang Python Bindings
. .
This binding package provides access to the Clang compiler and libraries. This binding package provides access to the Clang compiler and libraries.
Package: python-clang-10
Depends: python3-clang-10, ${misc:Depends}
Architecture: any
Priority: optional
Section: oldlibs
Description: transitional package to python3-clang-10
This is a transitional package. It can safely be removed.
Package: clang-10-examples Package: clang-10-examples
Architecture: any Architecture: any
@ -323,9 +307,9 @@ Description: Modular compiler and toolchain technologies, IR interpreter
Package: llvm-10-dev Package: llvm-10-dev
Architecture: any Architecture: any
Depends: ${shlibs:Depends}, libffi-dev (>= 3.0.10), ${misc:Depends}, Depends: ${shlibs:Depends}, libffi-dev, ${misc:Depends},
llvm-10 (= ${binary:Version}), libllvm10 (= ${binary:Version}), libtinfo-dev, llvm-10 (= ${binary:Version}), libllvm10 (= ${binary:Version}), libtinfo-dev,
llvm-10-tools (= ${binary:Version}), libz3-dev llvm-10-tools (= ${binary:Version}), libclang-cpp10 (= ${binary:Version}), libz3-dev
Description: Modular compiler and toolchain technologies, libraries and headers Description: Modular compiler and toolchain technologies, libraries and headers
LLVM is a collection of libraries and tools that make it easy to build LLVM is a collection of libraries and tools that make it easy to build
compilers, optimizers, just-in-time code generators, and many other compilers, optimizers, just-in-time code generators, and many other
@ -430,7 +414,7 @@ Description: Modular compiler and toolchain technologies, examples
# ------------- lld ------------- # ------------- lld -------------
Package: lld-10 Package: lld-10
Architecture: amd64 arm64 armel armhf i386 mips mipsel mips64el ppc64el kfreebsd-amd64 kfreebsd-i386 s390 sparc alpha hppa m610k powerpcspe ppc64 sh4 sparc64 x32 Architecture: amd64 arm64 armel armhf i386 mips mipsel mips64el ppc64el kfreebsd-amd64 kfreebsd-i386 s390 sparc alpha hppa m68k powerpcspe ppc64 sh4 sparc64 x32
# ia64 hurd powerpc have been removed # ia64 hurd powerpc have been removed
Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm10 (= ${binary:Version}) Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm10 (= ${binary:Version})
Pre-Depends: ${misc:Pre-Depends} Pre-Depends: ${misc:Pre-Depends}
@ -440,7 +424,7 @@ Description: LLVM-based linker
Project. Project.
Package: liblld-10 Package: liblld-10
Architecture: amd64 arm64 armel armhf i386 mips mipsel mips64el ppc64el kfreebsd-amd64 kfreebsd-i386 s390 sparc alpha hppa m610k powerpcspe ppc64 sh4 sparc64 x32 Architecture: amd64 arm64 armel armhf i386 mips mipsel mips64el ppc64el kfreebsd-amd64 kfreebsd-i386 s390 sparc alpha hppa m68k powerpcspe ppc64 sh4 sparc64 x32
# ia64 hurd powerpc have been removed # ia64 hurd powerpc have been removed
Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm10 (= ${binary:Version}) Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm10 (= ${binary:Version})
Pre-Depends: ${misc:Pre-Depends} Pre-Depends: ${misc:Pre-Depends}
@ -454,7 +438,7 @@ Description: LLVM-based linker, library
Package: liblld-10-dev Package: liblld-10-dev
Section: libdevel Section: libdevel
Architecture: amd64 arm64 armel armhf i386 mips mipsel mips64el ppc64el kfreebsd-amd64 kfreebsd-i386 s390 sparc alpha hppa m610k powerpcspe ppc64 sh4 sparc64 x32 Architecture: amd64 arm64 armel armhf i386 mips mipsel mips64el ppc64el kfreebsd-amd64 kfreebsd-i386 s390 sparc alpha hppa m68k powerpcspe ppc64 sh4 sparc64 x32
# ia64 hurd powerpc have been removed # ia64 hurd powerpc have been removed
Depends: ${shlibs:Depends}, ${misc:Depends}, lld-10 (= ${binary:Version}), Depends: ${shlibs:Depends}, ${misc:Depends}, lld-10 (= ${binary:Version}),
liblld-10 (= ${binary:Version}) liblld-10 (= ${binary:Version})
@ -470,7 +454,7 @@ Description: LLVM-based linker, header files
# ------------- lldb ------------- # ------------- lldb -------------
Package: lldb-10 Package: lldb-10
Architecture: amd64 arm64 armel armhf i386 mips mipsel mips64el ppc64el kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc hppa m610k sh4 x32 Architecture: amd64 arm64 armel armhf i386 mips mipsel mips64el ppc64el kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc hppa m68k sh4 x32
# ia64 hurd powerpc powerpcspe ppc64 alpha s390x sparc64 have been removed # ia64 hurd powerpc powerpcspe ppc64 alpha s390x sparc64 have been removed
Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm10 (= ${binary:Version}), llvm-10-dev, Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm10 (= ${binary:Version}), llvm-10-dev,
python3-lldb-10 python3-lldb-10
@ -481,7 +465,7 @@ Description: Next generation, high-performance debugger
Project, such as the Clang expression parser and LLVM disassembler. Project, such as the Clang expression parser and LLVM disassembler.
Package: liblldb-10 Package: liblldb-10
Architecture: amd64 arm64 armel armhf i386 mips mipsel mips64el ppc64el kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc hppa m610k sh4 x32 Architecture: amd64 arm64 armel armhf i386 mips mipsel mips64el ppc64el kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc hppa m68k sh4 x32
# ia64 hurd powerpc powerpcspe ppc64 alpha s390x sparc64 have been removed # ia64 hurd powerpc powerpcspe ppc64 alpha s390x sparc64 have been removed
Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm10 (= ${binary:Version}) Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm10 (= ${binary:Version})
Pre-Depends: ${misc:Pre-Depends} Pre-Depends: ${misc:Pre-Depends}
@ -495,9 +479,9 @@ Description: Next generation, high-performance debugger, library
Package: python3-lldb-10 Package: python3-lldb-10
Section: python Section: python
Architecture: amd64 arm64 armel armhf i386 mips mipsel mips64el ppc64el kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc hppa m610k sh4 x32 Architecture: amd64 arm64 armel armhf i386 mips mipsel mips64el ppc64el kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc hppa m68k sh4 x32
# ia64 hurd powerpc powerpcspe ppc64 alpha s390x sparc64 have been removed # ia64 hurd powerpc powerpcspe ppc64 alpha s390x sparc64 have been removed
Depends: ${shlibs:Depends}, ${misc:Depends}, ${python3:Depends}, python3-six Depends: ${shlibs:Depends}, ${misc:Depends}, ${python3:Depends}, liblldb-10 (= ${binary:Version}), python3-six
Conflicts: python3-lldb-x.y Conflicts: python3-lldb-x.y
Replaces: python3-lldb-x.y Replaces: python3-lldb-x.y
Provides: python3-lldb-x.y Provides: python3-lldb-x.y
@ -511,7 +495,7 @@ Description: Next generation, high-performance debugger, python3 lib
Package: liblldb-10-dev Package: liblldb-10-dev
Section: libdevel Section: libdevel
Architecture: amd64 arm64 armel armhf i386 mips mipsel mips64el ppc64el kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc hppa m610k sh4 x32 Architecture: amd64 arm64 armel armhf i386 mips mipsel mips64el ppc64el kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc hppa m68k sh4 x32
# ia64 hurd powerpc powerpcspe ppc64 alpha s390x sparc64 have been removed # ia64 hurd powerpc powerpcspe ppc64 alpha s390x sparc64 have been removed
Depends: ${shlibs:Depends}, ${misc:Depends}, lldb-10 (= ${binary:Version}) Depends: ${shlibs:Depends}, ${misc:Depends}, lldb-10 (= ${binary:Version})
Pre-Depends: ${misc:Pre-Depends} Pre-Depends: ${misc:Pre-Depends}

2
debian/orig-tar.sh vendored
View File

@ -118,7 +118,7 @@ if test -z "$TAG" -a -z "$FINAL_RELEASE"; then
# the + is here to make sure that this version is considered more recent than the svn # the + is here to make sure that this version is considered more recent than the svn
# dpkg --compare-versions 10~svn374977-1~exp1 lt 10~+2019-svn374977-1~exp1 # dpkg --compare-versions 10~svn374977-1~exp1 lt 10~+2019-svn374977-1~exp1
# to verify that # to verify that
VERSION="${VERSION}~+$(date +'%Y%m%d%I%M%S')+$(git log -1 --pretty=format:'%h')" VERSION="${VERSION}~++$(date +'%Y%m%d%I%M%S')+$(git log -1 --pretty=format:'%h')"
else else
if ! echo "$EXACT_VERSION"|grep -q "$MAJOR_VERSION"; then if ! echo "$EXACT_VERSION"|grep -q "$MAJOR_VERSION"; then

View File

@ -6,7 +6,7 @@ Index: llvm-toolchain-9-9.0.0/clang/lib/Driver/ToolChains/Hurd.cpp
=================================================================== ===================================================================
--- llvm-toolchain-9-9.0.0.orig/clang/lib/Driver/ToolChains/Hurd.cpp --- llvm-toolchain-9-9.0.0.orig/clang/lib/Driver/ToolChains/Hurd.cpp
+++ llvm-toolchain-9-9.0.0/clang/lib/Driver/ToolChains/Hurd.cpp +++ llvm-toolchain-9-9.0.0/clang/lib/Driver/ToolChains/Hurd.cpp
@@ -61,17 +61,107 @@ static StringRef getOSLibDir(const llvm: @@ -61,21 +61,107 @@ static StringRef getOSLibDir(const llvm:
return Triple.isArch32Bit() ? "lib" : "lib64"; return Triple.isArch32Bit() ? "lib" : "lib64";
} }
@ -42,10 +42,6 @@ Index: llvm-toolchain-9-9.0.0/clang/lib/Driver/ToolChains/Hurd.cpp
+ .str()); + .str());
+ } + }
+ +
+#ifdef ENABLE_LINKER_BUILD_ID
+ ExtraOpts.push_back("--build-id");
+#endif
+
+ // The selection of paths to try here is designed to match the patterns which + // The selection of paths to try here is designed to match the patterns which
+ // the GCC driver itself uses, as this is part of the GCC-compatible driver. + // the GCC driver itself uses, as this is part of the GCC-compatible driver.
+ // This was determined by running GCC in a fake filesystem, creating all + // This was determined by running GCC in a fake filesystem, creating all
@ -56,6 +52,10 @@ Index: llvm-toolchain-9-9.0.0/clang/lib/Driver/ToolChains/Hurd.cpp
const std::string OSLibDir = getOSLibDir(Triple, Args); const std::string OSLibDir = getOSLibDir(Triple, Args);
const std::string MultiarchTriple = getMultiarchTriple(D, Triple, SysRoot); const std::string MultiarchTriple = getMultiarchTriple(D, Triple, SysRoot);
#ifdef ENABLE_LINKER_BUILD_ID
ExtraOpts.push_back("--build-id");
#endif
- // If we are currently running Clang inside of the requested system root, add - // If we are currently running Clang inside of the requested system root, add
- // its parent library paths to those searched. - // its parent library paths to those searched.
+ // Add the multilib suffixed paths where they are available. + // Add the multilib suffixed paths where they are available.

View File

@ -7,10 +7,10 @@ sure their ABI stays in sync.
No known upstream bug about this. No known upstream bug about this.
Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxxabi/src/cxa_exception.cpp Index: llvm-toolchain-10_10~++20200205105438+211aa5bf59e/libcxxabi/src/cxa_exception.cpp
=================================================================== ===================================================================
--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/libcxxabi/src/cxa_exception.cpp --- llvm-toolchain-10_10~++20200205105438+211aa5bf59e.orig/libcxxabi/src/cxa_exception.cpp
+++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxxabi/src/cxa_exception.cpp +++ llvm-toolchain-10_10~++20200205105438+211aa5bf59e/libcxxabi/src/cxa_exception.cpp
@@ -275,15 +275,16 @@ __cxa_throw(void *thrown_object, std::ty @@ -275,15 +275,16 @@ __cxa_throw(void *thrown_object, std::ty
#ifdef __USING_SJLJ_EXCEPTIONS__ #ifdef __USING_SJLJ_EXCEPTIONS__
@ -66,10 +66,10 @@ Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxxabi/src/cxa_
#endif #endif
// Some sort of unwinding error. Note that terminate is a handler. // Some sort of unwinding error. Note that terminate is a handler.
__cxa_begin_catch(&dep_exception_header->unwindHeader); __cxa_begin_catch(&dep_exception_header->unwindHeader);
Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxxabi/src/cxa_exception.h Index: llvm-toolchain-10_10~++20200205105438+211aa5bf59e/libcxxabi/src/cxa_exception.h
=================================================================== ===================================================================
--- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/libcxxabi/src/cxa_exception.h --- llvm-toolchain-10_10~++20200205105438+211aa5bf59e.orig/libcxxabi/src/cxa_exception.h
+++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxxabi/src/cxa_exception.h +++ llvm-toolchain-10_10~++20200205105438+211aa5bf59e/libcxxabi/src/cxa_exception.h
@@ -27,6 +27,45 @@ _LIBCXXABI_HIDDEN uint64_t __getExceptio @@ -27,6 +27,45 @@ _LIBCXXABI_HIDDEN uint64_t __getExceptio
_LIBCXXABI_HIDDEN void __setExceptionClass ( _Unwind_Exception*, uint64_t); _LIBCXXABI_HIDDEN void __setExceptionClass ( _Unwind_Exception*, uint64_t);
_LIBCXXABI_HIDDEN bool __isOurExceptionClass(const _Unwind_Exception*); _LIBCXXABI_HIDDEN bool __isOurExceptionClass(const _Unwind_Exception*);
@ -114,5 +114,5 @@ Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxxabi/src/cxa_
+#endif +#endif
+ +
struct _LIBCXXABI_HIDDEN __cxa_exception { struct _LIBCXXABI_HIDDEN __cxa_exception {
#if defined(__LP64__) || defined(_LIBCXXABI_ARM_EHABI) #if defined(__LP64__) || defined(_WIN64) || defined(_LIBCXXABI_ARM_EHABI)
// This is a new field to support C++ 0x exception_ptr. // Now _Unwind_Exception is marked with __attribute__((aligned)),

14
debian/patches/print-lldb-path.patch vendored Normal file
View File

@ -0,0 +1,14 @@
Author: Gianfranco Costamagna <locutusofborg@debian.org>
Last-Update: 2020-01-21
--- llvm-toolchain-snapshot-10~++20191229111838+6991d5728f1.orig/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
+++ llvm-toolchain-snapshot-10~++20191229111838+6991d5728f1/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
@@ -353,6 +353,8 @@ void ScriptInterpreterPython::ComputePyt
// x86_64, or bin on Windows).
llvm::sys::path::remove_filename(path);
llvm::sys::path::append(path, LLDB_PYTHON_RELATIVE_LIBDIR);
+ // remove double "lib/lib" statement
+ std::replace(path.begin(), path.end(), '/lib/lib/', '/lib/');
#if defined(_WIN32)
// This will be injected directly through FileSpec.GetDirectory().SetString(),

View File

@ -97,6 +97,7 @@ remove-apple-clang-manpage.diff
0049-Use-Debian-provided-MathJax-everywhere.patch 0049-Use-Debian-provided-MathJax-everywhere.patch
# Hurd port # Hurd port
hurd/hurd-cxx-paths.diff
hurd/hurd-pathmax.diff hurd/hurd-pathmax.diff
# powerpcspe # powerpcspe
@ -136,3 +137,4 @@ disable-fuzzer-compiler-rt.diff
no-z3.patch no-z3.patch
python3-shebang.patch python3-shebang.patch
print-lldb-path.patch

4
debian/python3-lldb-X.Y.links.in vendored Normal file
View File

@ -0,0 +1,4 @@
usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION_FULL@.so.1 usr/lib/llvm-@LLVM_VERSION@/lib/python3/dist-packages/lldb/libLLVM-@LLVM_VERSION_FULL@.so.1
usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION_FULL@.so.1 usr/lib/llvm-@LLVM_VERSION@/lib/python3/dist-packages/lldb/libLLVM-@LLVM_VERSION@.so.1
usr/lib/@DEB_HOST_MULTIARCH@/liblldb-@LLVM_VERSION@.so.1 usr/lib/llvm-@LLVM_VERSION@/lib/python3/dist-packages/lldb/_lldb.so
usr/lib/llvm-@LLVM_VERSION@/lib/python3/dist-packages/lldb/ usr/lib/python3/dist-packages/lldb

View File

@ -9,8 +9,9 @@ VERSION=$(dpkg-parsechangelog | sed -rne "s,^Version: 1:([0-9]+).*,\1,p")
DETAILED_VERSION=$(dpkg-parsechangelog | sed -rne "s,^Version: 1:([0-9.]+)(~|-)(.*),\1\2\3,p") DETAILED_VERSION=$(dpkg-parsechangelog | sed -rne "s,^Version: 1:([0-9.]+)(~|-)(.*),\1\2\3,p")
DEB_HOST_ARCH=$(dpkg-architecture -qDEB_HOST_ARCH) DEB_HOST_ARCH=$(dpkg-architecture -qDEB_HOST_ARCH)
LIST="libomp5-${VERSION}_${DETAILED_VERSION}_amd64.deb libomp-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb lldb-${VERSION}_${DETAILED_VERSION}_amd64.deb python-lldb-${VERSION}_${DETAILED_VERSION}_amd64.deb libllvm${VERSION}_${DETAILED_VERSION}_amd64.deb llvm-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb liblldb-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libclang1-${VERSION}_${DETAILED_VERSION}_amd64.deb libclang-common-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb llvm-${VERSION}_${DETAILED_VERSION}_amd64.deb liblldb-${VERSION}_${DETAILED_VERSION}_amd64.deb llvm-${VERSION}-runtime_${DETAILED_VERSION}_amd64.deb lld-${VERSION}_${DETAILED_VERSION}_amd64.deb libfuzzer-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libclang-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libc++-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libc++abi-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libc++1-${VERSION}_${DETAILED_VERSION}_amd64.deb libc++abi1-${VERSION}_${DETAILED_VERSION}_amd64.deb clang-${VERSION}_${DETAILED_VERSION}_amd64.deb llvm-${VERSION}-tools_${DETAILED_VERSION}_amd64.deb clang-tools-${VERSION}_${DETAILED_VERSION}_amd64.deb clangd-${VERSION}_${DETAILED_VERSION}_amd64.deb clang-${VERSION}-dbgsym_${DETAILED_VERSION}_amd64.deb libclang1-${VERSION}-dbgsym_${DETAILED_VERSION}_amd64.deb libclang-cpp${VERSION}_${DETAILED_VERSION}_amd64.deb" LIST="libomp5-${VERSION}_${DETAILED_VERSION}_amd64.deb libomp-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb lldb-${VERSION}_${DETAILED_VERSION}_amd64.deb python3-lldb-${VERSION}_${DETAILED_VERSION}_amd64.deb libllvm${VERSION}_${DETAILED_VERSION}_amd64.deb llvm-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb liblldb-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libclang1-${VERSION}_${DETAILED_VERSION}_amd64.deb libclang-common-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb llvm-${VERSION}_${DETAILED_VERSION}_amd64.deb liblldb-${VERSION}_${DETAILED_VERSION}_amd64.deb llvm-${VERSION}-runtime_${DETAILED_VERSION}_amd64.deb lld-${VERSION}_${DETAILED_VERSION}_amd64.deb libfuzzer-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libclang-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libc++-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libc++abi-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libc++1-${VERSION}_${DETAILED_VERSION}_amd64.deb libc++abi1-${VERSION}_${DETAILED_VERSION}_amd64.deb clang-${VERSION}_${DETAILED_VERSION}_amd64.deb llvm-${VERSION}-tools_${DETAILED_VERSION}_amd64.deb clang-tools-${VERSION}_${DETAILED_VERSION}_amd64.deb clangd-${VERSION}_${DETAILED_VERSION}_amd64.deb clang-${VERSION}-dbgsym_${DETAILED_VERSION}_amd64.deb libclang1-${VERSION}-dbgsym_${DETAILED_VERSION}_amd64.deb libclang-cpp${VERSION}_${DETAILED_VERSION}_amd64.deb"
echo "To install everything:" echo "To install everything:"
echo "sudo apt --purge remove 'libomp5-*' 'libc++*dev' 'libc++*'"
echo "sudo dpkg -i $LIST" echo "sudo dpkg -i $LIST"
L="" L=""
for f in $LIST; do for f in $LIST; do

22
debian/rules vendored
View File

@ -75,15 +75,6 @@ ifneq ($(shell dpkg-vendor --derives-from Ubuntu && echo yes),yes)
endif endif
endif endif
FORCE_NOT_GCC_9_DISTRO := eoan focal bullseye sid
ifneq (,$(filter $(DISTRO),$(FORCE_NOT_GCC_9_DISTRO)))
# Force gcc before 9 (gcc 8 on Debian unstable) because it causes
# huge increase of the size of the .deb (because of .a and .so) and issues in the libs
GCC_VERSION := 8
endif
export CC=gcc-$(GCC_VERSION) export CC=gcc-$(GCC_VERSION)
export CXX=g++-$(GCC_VERSION) export CXX=g++-$(GCC_VERSION)
@ -244,7 +235,13 @@ ifneq (,$(filter $(DEB_HOST_ARCH),$(BINUTILS_GOLD_ARCHS)))
# armhf is not yet quite ready for Thin, it FTBFS # armhf is not yet quite ready for Thin, it FTBFS
# see https://buildd.debian.org/status/fetch.php?pkg=llvm-toolchain-8&arch=armhf&ver=1%3A8.0.1%7E%2Brc2-1%7Eexp1&stamp=1560334266&raw=0 # see https://buildd.debian.org/status/fetch.php?pkg=llvm-toolchain-8&arch=armhf&ver=1%3A8.0.1%7E%2Brc2-1%7Eexp1&stamp=1560334266&raw=0
ifeq (,$(filter $(DEB_HOST_ARCH), armhf)) ifeq (,$(filter $(DEB_HOST_ARCH), armhf))
CMAKE_EXTRA += -DLLVM_ENABLE_LTO="Thin" # Use BOOTSTRAP_LLVM_ENABLE_LTO to make sure that it isn't used
# when running stage1 with gcc
# For now, disable ThinLTO usage because:
# * LLVM_ENABLE_LTO doesn't work with gcc >= 9 (option not accepted)
# * BOOTSTRAP_LLVM_ENABLE_LTO is producing some large binary
# See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=943623
# CMAKE_EXTRA += -DBOOTSTRAP_LLVM_ENABLE_LTO="Thin"
endif endif
endif endif
endif endif
@ -299,7 +296,7 @@ preconfigure:
done done
# Make install file executable for dh-exec # Make install file executable for dh-exec
chmod +x debian/llvm-$(LLVM_VERSION)-dev.install chmod +x debian/llvm-$(LLVM_VERSION)-dev.install debian/clang-tools-$(LLVM_VERSION).install
# DH doesn't support the [power ...] in install on Ubuntu trusty # DH doesn't support the [power ...] in install on Ubuntu trusty
# fails with cp: cannot stat 'debian/tmp/[!powerpc': No such file or directory # fails with cp: cannot stat 'debian/tmp/[!powerpc': No such file or directory
@ -596,9 +593,6 @@ endif
# Path changed. Make a copy of it # Path changed. Make a copy of it
cp $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/clang/$(LLVM_VERSION_FULL)/README.txt $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/clang/$(LLVM_VERSION_FULL)/share/README.txt cp $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/clang/$(LLVM_VERSION_FULL)/README.txt $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/clang/$(LLVM_VERSION_FULL)/share/README.txt
# idem for the lldb python binding
mkdir -p $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/python3/dist-packages/lldb/
# Remove things that CMake install but which aren't packaged yet, # Remove things that CMake install but which aren't packaged yet,
# or are packaged from the source or build tree. # or are packaged from the source or build tree.
mv $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/bin/clang-$(LLVM_VERSION) \ mv $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/bin/clang-$(LLVM_VERSION) \

View File

@ -8,3 +8,9 @@ Restrictions: allow-stderr
Tests: cmake-test Tests: cmake-test
Depends: gcc, build-essential, cmake, llvm-10-dev, libclang-common-10-dev Depends: gcc, build-essential, cmake, llvm-10-dev, libclang-common-10-dev
Test-Command: python3 -c "import lldb; print(lldb.__file__); print(lldb)"
Depends: python3-lldb-10
Test-Command: python3 -c "import clang; print(clang.__file__); print(clang)"
Depends: python3-clang-10

5
debian/unpack.sh vendored
View File

@ -1,8 +1,9 @@
set -e set -e
ORIG_VERSION=snapshot ORIG_VERSION=10
MAJOR_VERSION=10 # 8.0.1 MAJOR_VERSION=10 # 8.0.1
REV=`ls -1 *${ORIG_VERSION}_${MAJOR_VERSION}*~+*xz | tail -1|perl -ne 'print "$1\n" if /~\+(.*)\.orig/;' | sort -ru` REV=`ls -1 *$ORIG_VERSION_$MAJOR_VERSION*~+*xz | tail -1|perl -ne 'print "$1\n" if /~\+(.*)\.orig/;' | sort -ru`
#SVN_REV=347285
VERSION=$REV VERSION=$REV
#VERSION=+rc3 #VERSION=+rc3