From patchwork Thu Sep 7 10:42:11 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: "ashish.is--- via Guix-patches\" via" X-Patchwork-Id: 53626 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 457C827BBE9; Thu, 7 Sep 2023 11:43:10 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 3DEC927BBE2 for ; Thu, 7 Sep 2023 11:43:08 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qeCTW-0004mS-Db; Thu, 07 Sep 2023 06:43:02 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qeCTT-0004jN-U7 for guix-patches@gnu.org; Thu, 07 Sep 2023 06:42:59 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qeCTT-0003Fc-Gx for guix-patches@gnu.org; Thu, 07 Sep 2023 06:42:59 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qeCTV-0005zG-2P for guix-patches@gnu.org; Thu, 07 Sep 2023 06:43:01 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#62438] [PATCH v2] gnu: llvm: Fix riscv64 cross-compilation. References: In-Reply-To: Resent-From: iyzsong@envs.net Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 07 Sep 2023 10:43:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62438 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 62438@debbugs.gnu.org Cc: Z572 <873216071@qq.com>, =?utf-8?b?5a6L5paH5q2m?= Received: via spool by 62438-submit@debbugs.gnu.org id=B62438.169408333822955 (code B ref 62438); Thu, 07 Sep 2023 10:43:01 +0000 Received: (at 62438) by debbugs.gnu.org; 7 Sep 2023 10:42:18 +0000 Received: from localhost ([127.0.0.1]:38723 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qeCSZ-0005xv-0Y for submit@debbugs.gnu.org; Thu, 07 Sep 2023 06:42:18 -0400 Received: from mail.envs.net ([5.199.136.28]:43530) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qeCST-0005xS-Ir for 62438@debbugs.gnu.org; Thu, 07 Sep 2023 06:42:01 -0400 Received: from localhost (mail.envs.net [127.0.0.1]) by mail.envs.net (Postfix) with ESMTP id F29FC38A0132; Thu, 7 Sep 2023 10:41:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=envs.net; s=modoboa; t=1694083314; bh=gnoHH0NT1aicr7uBce7euJlwj0OhuDaPdXTb+eXr4Fg=; h=From:To:Cc:Subject:Date:From; b=BVC0POb6eKgf0iiRGNP915nglRsQiknd/4O6bRrjnJ6OXp3YRujmpXJjuYKinHY2h LXgoX4R5NfcptWye9d7qJAAEK9MpsDTEgaOBedyOmqLkR12XTIAZEubOUdyRvfO7fG Z8QP2fmoMDlnjy+IESzkYcjSpUt7EDvdV2n6j2UjfWtWz9GdMVKLARumTZH2ppVwrr XFfxa+UE3iqN3sabhpbv+A2yzpp5QFxhD9u5EbtrlUmPUe7hl1gJOTybkf/ZSwVRGV toiK3D5DrRMlaYvfrFq71E54xuXU9xefeLvUCN3VkgUnWZhXg5i6FFUVxmWaaZFKR2 3kmTQmYx4fpTzrDbsKbRPFDwdy1B+pbCbDTr3fmpGR0QqN2yoIkWe9Bb/VuZXF/0zC Ul/HE1Z9CpCwODRBw6QDBl13I3HtpRvP51E65uws8iKDYii/4DcoE9fQZwvQYjxZC2 fSaxKkUwFu82rtIOJNI9YwIFhl5ZErLASthaPZM5rCsiqVNyTcQZTHc+OE8ONmmDWF Wmg3b7VKFjqNDn3pdGBckTloBtvTdwOsngm0R6sjShOCC0ZH3c0cPxkl90/wydHuJY OJmJYt97eHjgpaaHnZYwdpuQdt2gzWXh+xBnFIrNdjFjqfdtr80B/ugSYcQ3+wp46z GvYblsDMTacSt/dAS5K14UmQ= X-Virus-Scanned: Debian amavisd-new at mail.envs.net Received: from mail.envs.net ([127.0.0.1]) by localhost (mail.envs.net [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id dZqL3NPjEroz; Thu, 7 Sep 2023 10:41:48 +0000 (UTC) Received: from localhost (unknown [117.174.235.153]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mail.envs.net (Postfix) with ESMTPSA; Thu, 7 Sep 2023 10:41:47 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by localhost (OpenSMTPD) with ESMTP id d32332de; Thu, 7 Sep 2023 10:42:17 +0000 (UTC) Date: Thu, 7 Sep 2023 18:42:11 +0800 Message-ID: <60563288b330dca2f53335fe7e385420666fb04f.1694083301.git.iyzsong@member.fsf.org> X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: iyzsong@envs.net X-ACL-Warn: , iyzsong--- via Guix-patches X-Patchwork-Original-From: iyzsong--- via Guix-patches via From: "ashish.is--- via Guix-patches\" via" Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches From: Z572 <873216071@qq.com> * gnu/packages/llvm.scm (system->llvm-target-arch): New procedure. (llvm-15,llvm-14,llvm-12): Use It. (system->llvm-target): Rewrite in terms of 'system->llvm-target-arch'. Co-authored-by: 宋文武 --- gnu/packages/llvm.scm | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) base-commit: 5ef28595e9dff8b88ec3fcb4d887fbc380c9a8b8 diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index daff67f7f2..cd551f4e02 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -85,19 +85,32 @@ (define* (system->llvm-target #:optional "Return the LLVM target name that corresponds to SYSTEM, a system type such as \"x86_64-linux\"." ;; See the 'lib/Target' directory of LLVM for a list of supported targets. + (match (system->llvm-target-arch system) + ("RISCV64" "RISCV") + ("X86_64" "X86") + (x x))) + +(define* (system->llvm-target-arch #:optional + (system (or (and=> (%current-target-system) + gnu-triplet->nix-system) + (%current-system)))) + "Return the LLVM target arch name that corresponds to SYSTEM, a system type such +as \"x86_64-linux\"." + ;; See the 'cmake/config-ix.cmake' file of LLVM for a list of supported targets arch. + ;; start with # Determine the native architecture. (letrec-syntax ((matches (syntax-rules (=>) ((_ (system-prefix => target) rest ...) (if (string-prefix? system-prefix system) target (matches rest ...))) ((_) - (error "LLVM target for system is unknown" system))))) + (error "LLVM target arch for system is unknown" system))))) (matches ("aarch64" => "AArch64") ("armhf" => "ARM") ("mips64el" => "Mips") ("powerpc" => "PowerPC") - ("riscv" => "RISCV") - ("x86_64" => "X86") + ("riscv64" => "RISCV64") + ("x86_64" => "X86_64") ("i686" => "X86") ("i586" => "X86")))) @@ -598,7 +611,7 @@ (define-public llvm-15 #$(string-append "-DLLVM_DEFAULT_TARGET_TRIPLE=" (%current-target-system)) #$(string-append "-DLLVM_TARGET_ARCH=" - (system->llvm-target)) + (system->llvm-target-arch)) #$(string-append "-DLLVM_TARGETS_TO_BUILD=" (system->llvm-target))) '()) @@ -658,7 +671,7 @@ (define-public llvm-14 #$(string-append "-DLLVM_DEFAULT_TARGET_TRIPLE=" (%current-target-system)) #$(string-append "-DLLVM_TARGET_ARCH=" - (system->llvm-target)) + (system->llvm-target-arch)) #$(string-append "-DLLVM_TARGETS_TO_BUILD=" (system->llvm-target))) '()) @@ -901,7 +914,7 @@ (define-public llvm-12 #$(string-append "-DLLVM_DEFAULT_TARGET_TRIPLE=" (%current-target-system)) #$(string-append "-DLLVM_TARGET_ARCH=" - (system->llvm-target)) + (system->llvm-target-arch)) #$(string-append "-DLLVM_TARGETS_TO_BUILD=" (system->llvm-target))) #~())