diff --git a/debian/changelog b/debian/changelog index eda29c05..697a7b97 100644 --- a/debian/changelog +++ b/debian/changelog @@ -9,6 +9,8 @@ llvm-toolchain-snapshot (1:7~svn323616-1~exp2) UNRELEASED; urgency=medium - clang_getCursorPrettyPrinted - clang_getCursorPrintingPolicy * Use upstream ld.lld manpage instead of help2man + * Move the VCS to git. + Many thanks to James Clarke for doing the conversion -- Sylvestre Ledru Mon, 12 Feb 2018 17:32:45 +0100 diff --git a/debian/control b/debian/control index 3ad4a92f..f384c05d 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/snapshot/ -Vcs-Browser: https://svn.debian.org/viewsvn/pkg-llvm/llvm-toolchain/branches/snapshot/ +Vcs-Git: https://salsa.debian.org/pkg-llvm-team/llvm-toolchain.git -b snapshot +Vcs-Browser: https://salsa.debian.org/pkg-llvm-team/llvm-toolchain/tree/snapshot # ------------- clang ------------- @@ -41,7 +41,7 @@ Description: C, C++ and Objective-C compiler Package: clang-tools-7 Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, clang-7 (= ${binary:Version}) -Description: clang-based tools +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). @@ -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-7 (= ${binary:Version}) Pre-Depends: ${misc:Pre-Depends} +Conflicts: liblldb-7-dbg Section: debug Priority: optional Description: Next generation, high-performance debugger, debugging libraries diff --git a/debian/libclang1-X.Y.symbols.in b/debian/libclang1-X.Y.symbols.in index 98e3e362..ddae06b1 100644 --- a/debian/libclang1-X.Y.symbols.in +++ b/debian/libclang1-X.Y.symbols.in @@ -266,7 +266,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:7~svn321385-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~ diff --git a/debian/patches/libfuzzer-path.diff b/debian/patches/libfuzzer-path.diff new file mode 100644 index 00000000..6b2c7ef4 --- /dev/null +++ b/debian/patches/libfuzzer-path.diff @@ -0,0 +1,16 @@ +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 +@@ -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); +- llvm::sys::path::append(P, "lib", "libLLVMFuzzer.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); + } diff --git a/debian/patches/series b/debian/patches/series index c77aa6e9..8336ae6a 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -8,6 +8,7 @@ declare_clear_cache.diff clang-format-version.diff unwind-chain-inclusion.diff hurd-pathmax.diff +use-deb-json.diff silent-gold-test.diff atomic_library_1.diff python-clangpath.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: