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 3EB231388C1 for ; Sat, 19 Dec 2015 23:29:21 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id C231621C003; Sat, 19 Dec 2015 23:29:18 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 26D5321C003 for ; Sat, 19 Dec 2015 23:29:18 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id C6B4534069A for ; Sat, 19 Dec 2015 23:29:16 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id BCD0CB05 for ; Sat, 19 Dec 2015 23:29:14 +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: <1450567739.dc95bdeba8feeaefea57bc1c81f5473415616e1a.vapier@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: sys-devel/gcc/, eclass/ X-VCS-Repository: repo/gentoo X-VCS-Files: eclass/toolchain.eclass sys-devel/gcc/metadata.xml X-VCS-Directories: eclass/ sys-devel/gcc/ X-VCS-Committer: vapier X-VCS-Committer-Name: Mike Frysinger X-VCS-Revision: dc95bdeba8feeaefea57bc1c81f5473415616e1a X-VCS-Branch: master Date: Sat, 19 Dec 2015 23:29:14 +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: 1624b603-936d-474c-8f1d-85d353ea97a5 X-Archives-Hash: 3eb5f45ea979e6b2a7cc8096efc34fb6 commit: dc95bdeba8feeaefea57bc1c81f5473415616e1a Author: Mike Frysinger gentoo org> AuthorDate: Sat Dec 19 21:36:18 2015 +0000 Commit: Mike Frysinger gentoo org> CommitDate: Sat Dec 19 23:28:59 2015 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dc95bdeb sys-devel/gcc: add support for USE=jit #568834 eclass/toolchain.eclass | 10 ++++++++++ sys-devel/gcc/metadata.xml | 2 ++ 2 files changed, 12 insertions(+) diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass index 43fa8bf..b18d418 100644 --- a/eclass/toolchain.eclass +++ b/eclass/toolchain.eclass @@ -152,6 +152,7 @@ if [[ ${PN} != "kgcc64" && ${PN} != gcc-* ]] ; then # the older versions, we don't want to bother supporting it. #448024 tc_version_is_at_least 4.8 && IUSE+=" graphite" IUSE_DEF+=( sanitize ) tc_version_is_at_least 4.9 && IUSE+=" cilk" + tc_version_is_at_least 5.0 && IUSE+=" jit" tc_version_is_at_least 6.0 && IUSE+=" pie +ssp" fi @@ -841,6 +842,7 @@ toolchain_src_configure() { is_d && GCC_LANG+=",d" is_gcj && GCC_LANG+=",java" is_go && GCC_LANG+=",go" + is_jit && GCC_LANG+=",jit" if is_objc || is_objcxx ; then GCC_LANG+=",objc" if tc_version_is_at_least 4 ; then @@ -904,6 +906,9 @@ toolchain_src_configure() { confgcc+=( --enable-libstdcxx-time ) fi + # The jit language requires this. + is_jit && confgcc+=( --enable-host-shared ) + # # Turn on the -Wl,--build-id flag by default for ELF targets. #525942 # # This helps with locating debug files. # case ${CTARGET} in @@ -2155,6 +2160,11 @@ is_go() { use cxx && use_if_iuse go } +is_jit() { + gcc-lang-supported jit || return 1 + use_if_iuse jit +} + is_multilib() { tc_version_is_at_least 3 || return 1 use multilib diff --git a/sys-devel/gcc/metadata.xml b/sys-devel/gcc/metadata.xml index 29330fe..2e74979 100644 --- a/sys-devel/gcc/metadata.xml +++ b/sys-devel/gcc/metadata.xml @@ -12,6 +12,8 @@ Build the GCC Go language frontend. Add support for the framework for loop optimizations based on a polyhedral intermediate representation + Enable libgccjit so other applications can embed gcc for Just-In-Time compilation. + This will slow down the compiler a bit as it forces all of the toolchain to be shared libs. Build SSP support into a dedicated library rather than use the code in the C library (DO NOT ENABLE THIS IF YOU DON'T KNOW WHAT IT DOES) Add support for mudflap, a pointer use checking library