From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 52D0613829C for ; Mon, 13 Jun 2016 18:13:37 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id C50B6E0968; Mon, 13 Jun 2016 18:13:36 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 4C1FBE0968 for ; Mon, 13 Jun 2016 18:13:36 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 3622B33BF0B for ; Mon, 13 Jun 2016 18:13:35 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 1E7CE97B for ; Mon, 13 Jun 2016 18:13:31 +0000 (UTC) From: "Mike Frysinger" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Mike Frysinger" Message-ID: <1465841604.c16a9a7ccf4b0e56ca6481852cf6fce826c90ba0.vapier@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: sys-libs/libunwind/, sys-libs/libunwind/files/ X-VCS-Repository: repo/gentoo X-VCS-Files: sys-libs/libunwind/files/libunwind-1.1-fix-CVE-2015-3239.patch sys-libs/libunwind/libunwind-1.1-r1.ebuild X-VCS-Directories: sys-libs/libunwind/files/ sys-libs/libunwind/ X-VCS-Committer: vapier X-VCS-Committer-Name: Mike Frysinger X-VCS-Revision: c16a9a7ccf4b0e56ca6481852cf6fce826c90ba0 X-VCS-Branch: master Date: Mon, 13 Jun 2016 18:13:31 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: 431a8a53-88c9-410a-b114-a734f6f2f37b X-Archives-Hash: 5c2d5179b6b100b3f302b0f57fea1de4 commit: c16a9a7ccf4b0e56ca6481852cf6fce826c90ba0 Author: Mike Frysinger gentoo org> AuthorDate: Mon Jun 13 18:11:52 2016 +0000 Commit: Mike Frysinger gentoo org> CommitDate: Mon Jun 13 18:13:24 2016 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c16a9a7c sys-libs/libunwind: add fix from Fedora for CVE-2015-3239 #585830 .../files/libunwind-1.1-fix-CVE-2015-3239.patch | 15 +++++ sys-libs/libunwind/libunwind-1.1-r1.ebuild | 75 ++++++++++++++++++++++ 2 files changed, 90 insertions(+) diff --git a/sys-libs/libunwind/files/libunwind-1.1-fix-CVE-2015-3239.patch b/sys-libs/libunwind/files/libunwind-1.1-fix-CVE-2015-3239.patch new file mode 100644 index 0000000..153108b --- /dev/null +++ b/sys-libs/libunwind/files/libunwind-1.1-fix-CVE-2015-3239.patch @@ -0,0 +1,15 @@ +taken from Fedora + +https://bugs.gentoo.org/585830 + +--- libunwind-1.1/include/dwarf_i.h.CVE20153239 ++++ libunwind-1.1/include/dwarf_i.h +@@ -20,7 +20,7 @@ + extern const uint8_t dwarf_to_unw_regnum_map[DWARF_REGNUM_MAP_LENGTH]; + /* REG is evaluated multiple times; it better be side-effects free! */ + # define dwarf_to_unw_regnum(reg) \ +- (((reg) <= DWARF_REGNUM_MAP_LENGTH) ? dwarf_to_unw_regnum_map[reg] : 0) ++ (((reg) < DWARF_REGNUM_MAP_LENGTH) ? dwarf_to_unw_regnum_map[reg] : 0) + #endif + + #ifdef UNW_LOCAL_ONLY diff --git a/sys-libs/libunwind/libunwind-1.1-r1.ebuild b/sys-libs/libunwind/libunwind-1.1-r1.ebuild new file mode 100644 index 0000000..5403e33 --- /dev/null +++ b/sys-libs/libunwind/libunwind-1.1-r1.ebuild @@ -0,0 +1,75 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +inherit eutils libtool + +DESCRIPTION="Portable and efficient API to determine the call-chain of a program" +HOMEPAGE="https://savannah.nongnu.org/projects/libunwind" +SRC_URI="http://download.savannah.nongnu.org/releases/libunwind/${P}.tar.gz" + +LICENSE="MIT" +SLOT="7" +KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux" +IUSE="debug debug-frame libatomic lzma static-libs" + +RESTRICT="test" #461958 -- re-enable tests with >1.1 again for retesting, this is here for #461394 + +# We just use the header from libatomic. +RDEPEND="lzma? ( app-arch/xz-utils )" +DEPEND="${RDEPEND} + libatomic? ( dev-libs/libatomic_ops )" + +DOCS=( AUTHORS ChangeLog NEWS README TODO ) + +QA_DT_NEEDED_x86_fbsd="usr/lib/libunwind.so.7.0.0" + +src_prepare() { + # These tests like to fail. bleh. + echo 'int main(){return 0;}' > tests/Gtest-dyn1.c + echo 'int main(){return 0;}' > tests/Ltest-dyn1.c + + # Since we have tests disabled via RESTRICT, disable building in the subdir + # entirely. This worksaround some build errors too. #484846 + sed -i -e '/^SUBDIRS/s:tests::' Makefile.in || die + + sed -i -e '/LIBLZMA/s:-lzma:-llzma:' configure{.ac,} || die #444050 + epatch "${FILESDIR}"/${P}-lzma.patch #444050 + epatch "${FILESDIR}"/${P}-fix-CVE-2015-3239.patch #585830 + elibtoolize +} + +src_configure() { + # do not $(use_enable) because the configure.in is broken and parses + # --disable-debug the same as --enable-debug. + # https://savannah.nongnu.org/bugs/index.php?34324 + # --enable-cxx-exceptions: always enable it, headers provide the interface + # and on some archs it is disabled by default causing a mismatch between the + # API and the ABI, bug #418253 + # conservative-checks: validate memory addresses before use; as of 1.0.1, + # only x86_64 supports this, yet may be useful for debugging, couple it with + # debug useflag. + ac_cv_header_atomic_ops_h=$(usex libatomic) \ + econf \ + --enable-cxx-exceptions \ + $(use_enable debug-frame) \ + $(use_enable lzma minidebuginfo) \ + $(use_enable static-libs static) \ + $(use_enable debug conservative_checks) \ + $(use debug && echo --enable-debug) +} + +src_test() { + # Explicitly allow parallel build of tests. + # Sandbox causes some tests to freak out. + SANDBOX_ON=0 emake check +} + +src_install() { + default + # libunwind-ptrace.a (and libunwind-ptrace.h) is separate API and without + # shared library, so we keep it in any case + use static-libs || find "${ED}"usr '(' -name 'libunwind-generic.a' -o -name 'libunwind*.la' ')' -delete +}