Merge with 3.6 branch

This commit is contained in:
Gianfranco Costamagna 2015-08-18 12:23:07 +00:00
parent 92e1b56fd4
commit 06b22862cd
9 changed files with 147 additions and 27 deletions

14
debian/changelog vendored
View File

@ -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 <locutusofborg@debian.org> Tue, 18 Aug 2015 13:48:28 +0200
llvm-toolchain-snapshot (1:3.8~svn243884-1~exp1) experimental; urgency=medium
* New snapshot release

5
debian/control vendored
View File

@ -6,7 +6,7 @@ Uploaders: Sylvestre Ledru <sylvestre@debian.org>
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

47
debian/copyright vendored
View File

@ -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

View File

@ -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/*

View File

@ -1,4 +1,6 @@
#!/bin/sh -e
#!/bin/sh
set -e
if test "$1" = "configure"; then
if test -x /usr/sbin/update-binfmts; then

View File

@ -1,4 +1,6 @@
#!/bin/sh -e
#!/bin/sh
set -e
if test "$1" = "remove"; then
if test -x /usr/sbin/update-binfmts; then

35
debian/patches/CVE-2015-2305.patch vendored Normal file
View File

@ -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) {

47
debian/patches/bug783205.patch vendored Normal file
View File

@ -0,0 +1,47 @@
From: Steven Chamberlain <steven@pyro.eu.org>
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<StringRef> 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 &&

View File

@ -40,3 +40,5 @@ compiler-rt-i586.diff
clang-analyzer-force-version.diff
locale-issue-ld.diff
#bug783205.patch
CVE-2015-2305.patch