From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 2E68F138AE9 for ; Thu, 28 Dec 2017 17:47:31 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 20368E0C5F; Thu, 28 Dec 2017 17:47:27 +0000 (UTC) Received: from smtp.gentoo.org (dev.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id F2650E0C5F for ; Thu, 28 Dec 2017 17:47:26 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id B85C9341650 for ; Thu, 28 Dec 2017 17:47:25 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 42436AFD4 for ; Thu, 28 Dec 2017 17:47:24 +0000 (UTC) From: "Sergei Trofimovich" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Sergei Trofimovich" Message-ID: <1514483087.eedf77d75e5c31e21ec249ba7d4341c32e3ae84f.slyfox@gentoo> Subject: [gentoo-commits] proj/crossdev:master commit in: / X-VCS-Repository: proj/crossdev X-VCS-Files: crossdev X-VCS-Directories: / X-VCS-Committer: slyfox X-VCS-Committer-Name: Sergei Trofimovich X-VCS-Revision: eedf77d75e5c31e21ec249ba7d4341c32e3ae84f X-VCS-Branch: master Date: Thu, 28 Dec 2017 17:47:24 +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: f3dd1989-2f26-4219-afcc-b37b0b5fb06b X-Archives-Hash: aab3cd1dd36021a7606498d60f57b2f7 commit: eedf77d75e5c31e21ec249ba7d4341c32e3ae84f Author: Sergei Trofimovich gentoo org> AuthorDate: Thu Dec 28 17:44:47 2017 +0000 Commit: Sergei Trofimovich gentoo org> CommitDate: Thu Dec 28 17:44:47 2017 +0000 URL: https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=eedf77d7 crossdev: change USE=sanitize to whitelist asan needs explicit support code for every arch/OS. Currently the following seem to have support: - amd64-glibc - x86-glibc - arm-glibc - aarch64-glibc - powerpc64-glibc - mips-glibc - mips64-glibc (n32 ABI, fails to build) Signed-off-by: Sergei Trofimovich gentoo.org> crossdev | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/crossdev b/crossdev index 1cd59fb..76f9a06 100755 --- a/crossdev +++ b/crossdev @@ -323,8 +323,6 @@ parse_target() { KPKG="[none]" STAGE_DEFAULT=${STAGE_LIBC} GUSE+=" cxx -openmp" #489798 - # asan needs OS support to implement sanitizers - GUSE+=" -sanitize" MULTILIB_USE="yes" #407275 WITH_DEF_HEADERS="no" ;; @@ -335,6 +333,30 @@ parse_target() { KPKG="[none]" ;; esac + + local sanitizer_support=no + # Whitelist asan on explicitly supported arches fo linux. + # Broken examples: + # - musl libc + # - bare metal targets + # Untested examples: + # - *BSD + case ${CTARGET} in + # glibc targets + *-gnu*) + case ${CTARGET} in + mips64*) + # has some support code, fails to build + ;; + x86_64*|i?86*|arm*|aarch64|powerpc64) + sanitizer_support=yes + ;; + esac + ;; + esac + if [[ $sanitizer_support = "no" ]]; then + GUSE+=" -sanitize" + fi } parse_repo_config() {