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 645421382C5 for ; Tue, 3 Apr 2018 20:21:29 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 8DB3AE0C4D; Tue, 3 Apr 2018 20:21:28 +0000 (UTC) Received: from smtp.gentoo.org (smtp.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 692BAE0C4D for ; Tue, 3 Apr 2018 20:21:28 +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 EB994335D5A for ; Tue, 3 Apr 2018 20:21:25 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 3689F25A for ; Tue, 3 Apr 2018 20:21: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: <1522786878.ad34d5e17e56a4a446402185cd67d7b920edf28f.slyfox@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: sys-libs/glibc/ X-VCS-Repository: repo/gentoo X-VCS-Files: sys-libs/glibc/glibc-2.27-r1.ebuild X-VCS-Directories: sys-libs/glibc/ X-VCS-Committer: slyfox X-VCS-Committer-Name: Sergei Trofimovich X-VCS-Revision: ad34d5e17e56a4a446402185cd67d7b920edf28f X-VCS-Branch: master Date: Tue, 3 Apr 2018 20:21: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: 3f9cd1f4-bbd2-47ee-924f-d0624e8987d8 X-Archives-Hash: 08da825517a6ddfc803183f5244d88b1 commit: ad34d5e17e56a4a446402185cd67d7b920edf28f Author: Palmer Dabbelt dabbelt com> AuthorDate: Tue Apr 3 20:10:41 2018 +0000 Commit: Sergei Trofimovich gentoo org> CommitDate: Tue Apr 3 20:21:18 2018 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ad34d5e1 sys-libs/glibc: Add support for building RISC-V headers The RISC-V GCC port defines some extra preprocessor macros that glibc uses to determine which RISC-V target is being compiled for. Since crossdev doesn't use a RISC-V compiler to build the headers, this blows up. These checks don't matter for building the headers because they're the same on all RISC-V targets, so we just hack up the glibc build to elide the check. sys-libs/glibc/glibc-2.27-r1.ebuild | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/sys-libs/glibc/glibc-2.27-r1.ebuild b/sys-libs/glibc/glibc-2.27-r1.ebuild index b281c00fac3..588eebae7f2 100644 --- a/sys-libs/glibc/glibc-2.27-r1.ebuild +++ b/sys-libs/glibc/glibc-2.27-r1.ebuild @@ -762,6 +762,23 @@ src_prepare() { sed -i '/CPPFLAGS=.*-mabi/s|.*|:|' ports/sysdeps/mips/preconfigure || die find ports/sysdeps/mips/ -name Makefile -exec sed -i '/^CC.*-mabi=/s:-mabi=.*:-D_MIPS_SZPTR=32:' {} + fi + if [[ -e sysdeps/riscv/preconfigure ]] ; then + # RISC-V interrogates the compiler to determine which target to + # build. If building the headers then we don't strictly need a + # RISC-V compiler, so the built-in definitions that are provided + # along with all RISC-V compiler might not exist. This causes + # glibc's RISC-V preconfigure script to blow up. Since we're just + # building the headers any value will actually work here, so just + # pick the standard one (rv64g/lp64d) to make the build scripts + # happy for now -- the headers are all the same anyway so it + # doesn't matter. + sed -i 's/^ xlen=.*/ xlen=64/g' sysdeps/riscv/preconfigure || die + sed -i 's/^ flen=.*/ flen=64/g' sysdeps/riscv/preconfigure || die + sed -i 's/^ float_abi=.*/ float_abi=double/g' sysdeps/riscv/preconfigure || die + sed -i 's/^ atomic=.*/ atomic=__riscv_atomic/g' sysdeps/riscv/preconfigure || die + sed -i 's/^libc_cv_riscv_float_abi=no/libc_cv_riscv_float_abi=d/g' sysdeps/unix/sysv/linux/riscv/configure.ac || die + sed -i 's/^libc_cv_riscv_float_abi=no/libc_cv_riscv_float_abi=d/g' sysdeps/unix/sysv/linux/riscv/configure || die + fi fi default