diff --git a/debian/changelog b/debian/changelog index adc21dff..62030bed 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,17 @@ +llvm-toolchain-snapshot (1:3.8~svn243884-1~exp2) UNRELEASED; urgency=medium + + * Team upload + * Fix VCS fields. + * d/p/bug783205.patch rebase s390x patch to apply to snapshot + * d/p/CVE-2015-2305.patch, fix security issue on regcomp.c + * Fix many lintian warning/errors + - copyright fixes + - updated overrides for v5 switch + - control files + - disabled ocaml documentation + + -- Gianfranco Costamagna Tue, 18 Aug 2015 13:48:28 +0200 + llvm-toolchain-snapshot (1:3.8~svn243884-1~exp1) experimental; urgency=medium * New snapshot release diff --git a/debian/control b/debian/control index 42c6b97b..a0ff4828 100644 --- a/debian/control +++ b/debian/control @@ -6,7 +6,7 @@ Uploaders: Sylvestre Ledru Build-Depends: debhelper (>= 9.0), flex, bison, dejagnu, tcl, expect, autoconf, automake, perl, libtool, chrpath, texinfo, sharutils, autotools-dev (>= 20060702.1), libffi-dev (>= 3.0.9), - lsb-release, patchutils, diffstat, xz-utils, chrpath, python-dev, + lsb-release, patchutils, diffstat, xz-utils, python-dev, libedit-dev, swig, python-sphinx, ocaml-nox, binutils-dev, libjsoncpp-dev, lcov, procps, help2man, dh-ocaml, zlib1g-dev @@ -14,7 +14,7 @@ Build-Conflicts: oprofile, ocaml, libllvm-3.4-ocaml-dev, libllvm-3.5-ocaml-dev, libllvm-3.8-ocaml-dev Standards-Version: 3.9.6 Homepage: http://www.llvm.org/ -Vcs-Svn: svn://svn.debian.org/svn/pkg-llvm/llvm-toolchain/branches/snapshot/ +Vcs-Svn: svn://anonscm.debian.org/svn/pkg-llvm/llvm-toolchain/branches/snapshot/ Vcs-Browser: http://svn.debian.org/viewsvn/pkg-llvm/llvm-toolchain/branches/snapshot/ # ------------- clang ------------- @@ -122,6 +122,7 @@ Description: C interface to the clang library Package: libclang1-3.8-dbg Architecture: any +Multi-Arch: same Section: debug Priority: extra Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs}, libclang1-3.8 diff --git a/debian/copyright b/debian/copyright index 5abf09ce..a50dd550 100644 --- a/debian/copyright +++ b/debian/copyright @@ -8,7 +8,7 @@ License: U-OF-I-BSD-LIKE Files: */install-sh Copyright: 1994 X Consortium -License: +License: LLVM This script is licensed under the LLVM license, with the following additional copyrights and restrictions: . @@ -106,19 +106,19 @@ Copyright: 2009-2013 Craig van Vliet 2009-2013 Howard Hinnant License: U-OF-I-BSD-LIKE or MIT -Files: compiler-rt/BlocksRuntime/Block.h +Files: compiler-rt/lib/BlocksRuntime/Block.h Copyright: 2008-2010 Apple, Inc. License: MIT -Files: compiler-rt/BlocksRuntime/Block_private.h +Files: compiler-rt/lib/BlocksRuntime/Block_private.h Copyright: 2008-2010 Apple, Inc. License: MIT -Files: compiler-rt/BlocksRuntime/data.c +Files: compiler-rt/lib/BlocksRuntime/data.c Copyright: 2008-2010 Apple, Inc. License: MIT -Files: compiler-rt/BlocksRuntime/runtime.c +Files: compiler-rt/lib/BlocksRuntime/runtime.c Copyright: 2008-2010 Apple, Inc. License: MIT @@ -134,7 +134,7 @@ License: BSD-3-clause Files: lib/Target/ARM/* Copyright: ARM Limited -License: +License: ARM ARM Limited . Software Grant License Agreement ("Agreement") @@ -185,7 +185,7 @@ License: Files: lldb/* Copyright: 2010, 2012 Apple Inc. -License: +License: NCSA University of Illinois/NCSA Open Source License . @@ -225,10 +225,10 @@ License: SOFTWARE. Files: lldb/test/pexpect-2.4/* -Copyright: -License: - Free, open source, and all that good stuff. - Pexpect Copyright (c) 2008 Noah Spurrier +Copyright: 2008 Noah Spurrier +License: Expat + +License: Expat . Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -251,7 +251,7 @@ License: Files: lldb/test/unittest2/* Copyright: 1999-2003 Steve Purcell 2003-2010 Python Software Foundation -License: +License: Python This module is free software, and you may redistribute it and/or modify it under the same terms as Python itself, so long as this copyright message and disclaimer are retained in their original form. @@ -269,7 +269,7 @@ License: Files: polly/* Copyright: 2009-2013 Polly Team -License: +License: Polly ============================================================================== Polly Release License ============================================================================== @@ -324,9 +324,9 @@ Files: test/YAMLParser/* Copyright: 2006 Kirill Simonov License: MIT -Files: tools/debugserver/source/MacOSX/stack_logging.h +Files: lldb/tools/debugserver/source/MacOSX/stack_logging.h Copyright: 1999-2007 Apple Inc. -License: +License: Apple This file contains Original Code and/or Modifications of Original Code as defined in and that are subject to the Apple Public Source License Version 2.0 (the 'License'). You may not use this file except in @@ -346,6 +346,23 @@ Files: utils/unittest/googletest/* Copyright: 2006-2008, Google Inc. License: BSD-3-Clause +License: BSD-3-Clause + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + . + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + . + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + License: U-OF-I-BSD-LIKE ============================================================================== LLVM Release License diff --git a/debian/libllvm-X.Y-ocaml-dev.doc-base.in b/debian/libllvm-X.Y-ocaml-dev.doc-base.in index a5dc5fad..287b9c1e 100644 --- a/debian/libllvm-X.Y-ocaml-dev.doc-base.in +++ b/debian/libllvm-X.Y-ocaml-dev.doc-base.in @@ -1,8 +1,8 @@ -Document: libllvm-@LLVM_VERSION@-ocaml-dev-ocamldoc-api-reference -Title: Llvm OCamldoc API Reference -Abstract: API reference manual for libllvm-ocaml-dev (generated via OCamldoc) -Section: Programming/OCaml - -Format: HTML -Index: /usr/share/doc/libllvm-@LLVM_VERSION@-ocaml-dev/html/index.html -Files: /usr/share/doc/libllvm-@LLVM_VERSION@-ocaml-dev/html/* +#Document: libllvm-@LLVM_VERSION@-ocaml-dev-ocamldoc-api-reference +#Title: Llvm OCamldoc API Reference +#Abstract: API reference manual for libllvm-ocaml-dev (generated via OCamldoc) +#Section: Programming/OCaml +# +#Format: HTML +#Index: /usr/share/doc/libllvm-@LLVM_VERSION@-ocaml-dev/html/index.html +#Files: /usr/share/doc/libllvm-@LLVM_VERSION@-ocaml-dev/html/* diff --git a/debian/llvm-X.Y-runtime.postinst.in b/debian/llvm-X.Y-runtime.postinst.in index 68300326..987b3ea2 100644 --- a/debian/llvm-X.Y-runtime.postinst.in +++ b/debian/llvm-X.Y-runtime.postinst.in @@ -1,4 +1,6 @@ -#!/bin/sh -e +#!/bin/sh + +set -e if test "$1" = "configure"; then if test -x /usr/sbin/update-binfmts; then diff --git a/debian/llvm-X.Y-runtime.prerm.in b/debian/llvm-X.Y-runtime.prerm.in index 09f96cc5..3f16015a 100644 --- a/debian/llvm-X.Y-runtime.prerm.in +++ b/debian/llvm-X.Y-runtime.prerm.in @@ -1,4 +1,6 @@ -#!/bin/sh -e +#!/bin/sh + +set -e if test "$1" = "remove"; then if test -x /usr/sbin/update-binfmts; then diff --git a/debian/patches/CVE-2015-2305.patch b/debian/patches/CVE-2015-2305.patch new file mode 100644 index 00000000..7d5964e9 --- /dev/null +++ b/debian/patches/CVE-2015-2305.patch @@ -0,0 +1,35 @@ +Description: Taken from http://gitweb.dragonflybsd.org/dragonfly.git/blobdiff/4d133046c59a851141519d03553a70e903b3eefc..2841837793bd095a82f477e9c370cfe6cfb3862c:/lib/libc/regex/regcomp.c +--- llvm-toolchain-3.5-3.5.2.orig/lib/Support/regcomp.c ++++ llvm-toolchain-3.5-3.5.2/lib/Support/regcomp.c +@@ -169,6 +169,7 @@ llvm_regcomp(llvm_regex_t *preg, const c + struct parse *p = &pa; + int i; + size_t len; ++ size_t maxlen; + #ifdef REDEBUG + # define GOODFLAGS(f) (f) + #else +@@ -191,7 +192,23 @@ llvm_regcomp(llvm_regex_t *preg, const c + (NC-1)*sizeof(cat_t)); + if (g == NULL) + return(REG_ESPACE); ++ /* ++ * Limit the pattern space to avoid a 32-bit overflow on buffer ++ * extension. Also avoid any signed overflow in case of conversion ++ * so make the real limit based on a 31-bit overflow. ++ * ++ * Likely not applicable on 64-bit systems but handle the case ++ * generically (who are we to stop people from using ~715MB+ ++ * patterns?). ++ */ ++ maxlen = ((size_t)-1 >> 1) / sizeof(sop) * 2 / 3; ++ if (len >= maxlen) { ++ free((char *)g); ++ return(REG_ESPACE); ++ } + p->ssize = len/(size_t)2*(size_t)3 + (size_t)1; /* ugh */ ++ assert(p->ssize >= len); ++ + p->strip = (sop *)calloc(p->ssize, sizeof(sop)); + p->slen = 0; + if (p->strip == NULL) { diff --git a/debian/patches/bug783205.patch b/debian/patches/bug783205.patch new file mode 100644 index 00000000..18725ea5 --- /dev/null +++ b/debian/patches/bug783205.patch @@ -0,0 +1,47 @@ +From: Steven Chamberlain +Date: Sun, 10 May 2015 19:46:59 +0100 +Subject: support Debian s390x multiarch paths + +--- llvm-toolchain-3.7-3.7~+rc2.orig/clang/lib/Driver/ToolChains.cpp ++++ llvm-toolchain-3.7-3.7~+rc2/clang/lib/Driver/ToolChains.cpp +@@ -3081,6 +3081,10 @@ static std::string getMultiarchTriple(co + if (llvm::sys::fs::exists(SysRoot + "/lib/sparc64-linux-gnu")) + return "sparc64-linux-gnu"; + break; ++ case llvm::Triple::systemz: ++ if (llvm::sys::fs::exists(SysRoot + "/lib/s390x-linux-gnu")) ++ return "s390x-linux-gnu"; ++ break; + } + return TargetTriple.str(); + } +@@ -3424,6 +3428,8 @@ void Linux::AddClangSystemIncludeArgs(co + "/usr/include/sparc-linux-gnu"}; + const StringRef Sparc64MultiarchIncludeDirs[] = { + "/usr/include/sparc64-linux-gnu"}; ++ const StringRef SYSTEMZMultiarchIncludeDirs[] = { ++ "/usr/include/s390x-linux-gnu"}; + ArrayRef MultiarchIncludeDirs; + switch (getTriple().getArch()) { + case llvm::Triple::x86_64: +@@ -3469,6 +3475,9 @@ void Linux::AddClangSystemIncludeArgs(co + case llvm::Triple::sparcv9: + MultiarchIncludeDirs = Sparc64MultiarchIncludeDirs; + break; ++ case llvm::Triple::systemz: ++ MultiarchIncludeDirs = SYSTEMZMultiarchIncludeDirs; ++ break; + default: + break; + } +--- llvm-toolchain-3.7-3.7~+rc2.orig/clang/lib/Driver/Tools.cpp ++++ llvm-toolchain-3.7-3.7~+rc2/clang/lib/Driver/Tools.cpp +@@ -8008,7 +8008,7 @@ static std::string getLinuxDynamicLinker + return "/lib64/ld64.so.1"; + return "/lib64/ld64.so.2"; + } else if (Arch == llvm::Triple::systemz) +- return "/lib64/ld64.so.1"; ++ return "/lib/ld64.so.1"; + else if (Arch == llvm::Triple::sparcv9) + return "/lib64/ld-linux.so.2"; + else if (Arch == llvm::Triple::x86_64 && diff --git a/debian/patches/series b/debian/patches/series index d7771d5e..5c54de9e 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -40,3 +40,5 @@ compiler-rt-i586.diff clang-analyzer-force-version.diff locale-issue-ld.diff +#bug783205.patch +CVE-2015-2305.patch