From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms9.migadu.com with LMTPS id wBl2CqLsKmSn8QAASxT56A (envelope-from ) for ; Mon, 03 Apr 2023 17:11:30 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id AOhECqLsKmRUCwEAauVa8A (envelope-from ) for ; Mon, 03 Apr 2023 17:11:30 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id C75B911AC6 for ; Mon, 3 Apr 2023 17:11:29 +0200 (CEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pjLpp-0001AP-61; Mon, 03 Apr 2023 11:11:05 -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 1pjLpn-00017h-Fz for guix-patches@gnu.org; Mon, 03 Apr 2023 11:11:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pjLpn-0005zr-0s for guix-patches@gnu.org; Mon, 03 Apr 2023 11:11:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pjLpm-0006OF-FK for guix-patches@gnu.org; Mon, 03 Apr 2023 11:11:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#62438] [PATCH] gnu: llvm: fix riscv64 cross-compile. Resent-From: Z572 <873216071@qq.com> Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 03 Apr 2023 15:11:02 +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: =?UTF-8?Q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Cc: 62438@debbugs.gnu.org Received: via spool by 62438-submit@debbugs.gnu.org id=B62438.168053465024541 (code B ref 62438); Mon, 03 Apr 2023 15:11:02 +0000 Received: (at 62438) by debbugs.gnu.org; 3 Apr 2023 15:10:50 +0000 Received: from localhost ([127.0.0.1]:45025 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pjLpZ-0006Nl-JV for submit@debbugs.gnu.org; Mon, 03 Apr 2023 11:10:50 -0400 Received: from out203-205-221-233.mail.qq.com ([203.205.221.233]:36705) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <873216071@qq.com>) id 1pjLpU-0006NO-Jf for 62438@debbugs.gnu.org; Mon, 03 Apr 2023 11:10:49 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qq.com; s=s201512; t=1680534628; bh=nsVPkq1xetzSgfmXK74J0QDb+LhDIC68I6liKICRvpQ=; h=From:To:Subject:In-Reply-To:References:CC:Date; b=LRVg8muam8xjPH7W/yeybafFIrnJUwbLw03o7Qmtws4GoSkhyjjNSfBIM8gKWuuy8 yMN5pMQzity539HeRwl1vZ9TnCRzKrN6Vv9XbY0RN4wIepOTFhH1TsAnd6A5n4/o2a hoQ+ECXlcNG/t3dHDcmkSeETc9qYKlTOKIZ7aP+4= Received: from asus ([111.0.51.80]) by newxmesmtplogicsvrszb1-0.qq.com (NewEsmtp) with SMTP id 2992326F; Mon, 03 Apr 2023 23:10:25 +0800 X-QQ-mid: xmsmtpt1680534625tn4uzpgfn Message-ID: X-QQ-XMAILINFO: MR/iVh5QLeieS7W1EImkeCT0cITrPX5+5zcvRh7ki1t8i5T+oZZRVb9TKb/xvL Efshb6B/tCyON7051n29Ub20OPnWl93wYYDelbiEFTrHXSSpliIyaB2YQ+iVUOqq13SbOVw5YfhC jTu5I5Uob1FzyegRX4p4N7cZ3ifrIf69ghMnUj004pE5dmAhS+ZVjFdiKT2LpaNI5H+JJwAc8VWH oTpj7hMgkSMk8KLO25eIzI7uElBZ/5MIsAJFzt1YUSTae5IaVVREgwwdGbbmb3ICNIyA6eYqftEo mNSwdogRD8fyA3W7jEcTH9+duy6g/DWAf2pz6cMhEvQNraDP8lCEcTqkjh2hF0dZdqODx+wHzK1X Fru+9dBlomVoy8HJvrVZYL60sXbYUZxqktLg/WsuCEQkxlU4BOlUy7DaAGx7EEQuIQFz4cKb4zaa 3Yq4KwtoX0UCWA0OJjE78LP0TsoHtBnnDyKo00rMDl9PgJAFGH2jHxTYvqR4qZVBOpAr1NhFb8aO LzIzm52jIq7CCOvlQ1h/UUIUMpgeXqNDx9UGWw7ijT8DE1tFlbN81sm8sweTK/0dswNcKTr3NANk 5V+A1fuHqvfdD5ZFQU3oHCYK/bmKo+MIwiIY5PbIpeVJ4yTdRxaSswYcbMWvgoCMvIsEyrJ41a/M yOqWdqClWquRz9cRuPmsQ9gNJsLBQYFL1J8LPztM3NFyp42OO3kD5Ee89Ik+xYJGWd3ASSYXNM2a WLPzy1qbJARVm+5Dhdy4N1zAbC+qCpW3pUxn4q6oa7vWb4S91H9d2l9xY+S3mXNo+aQB19h9LkR8 VAhMXdB4UEgKi+Omuw7E4rFKsXOMkJvy8jJ/W6zWbsRwihWzXsyIRy0lOuzM02tMNoVB7M/sjqD5 cAyZBYMH8YipG54ZBHCxxoiycPoMvHfRQcxmCzHVSOb/ajW4TTC2xLnNNYCAJlCUvAcTq8B7XA7R i4f+M5uRK9XTaligU78A== In-Reply-To: <874jpxb4qa.fsf@envs.net> ("=?UTF-8?Q?=E5=AE=8B=E6=96=87=E6=AD=A6?="'s message of "Mon, 03 Apr 2023 19:11:09 +0800") References: <874jpxb4qa.fsf@envs.net> Date: Mon, 03 Apr 2023 23:10:24 +0800 Message-ID: <87v8idq9wf.fsf_-_@qq.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable 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: Z572 <873216071@qq.com> X-ACL-Warn: , Z572 via Guix-patches From: Z572 via Guix-patches via Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: guix-patches-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN ARC-Seal: i=1; s=key1; d=yhetil.org; t=1680534689; a=rsa-sha256; cv=none; b=iKyEFTOZvqSh9qvCSuDrV0RClpV930TfBCwmRO8AWznsPO2cJYwgLuWNmWh+OISGXCJMfp Nz24XcETNzVl/+nyHLYO55Mcd3Q4RC6J9EstqmN1zuLjup9bqklP1Pp5/GkwPJj5Q9bMPa D+IalN+ZeYDwiTtDtkascfZSqYoY+kq4ODLa4iB0qafHj5WbafQ/ijblfna1eJBEnHPIij SMFEavdulVofiLP8DTTbHzi0fcT1ORIAFaH0WxbBLTMBjWjjNpADdbqzAuKHiHsTMkVN+u 3MI0+f1JymUBY9v4opp55Nfi5BjnkhtqlOPrKfLmdAhiHAt5m2jOX7S+pdsR9Q== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=qq.com header.s=s201512 header.b=LRVg8mua; dmarc=pass (policy=none) header.from=gnu.org; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1680534689; h=from:from:sender:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding:resent-cc: resent-from:resent-sender:resent-message-id:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=nsVPkq1xetzSgfmXK74J0QDb+LhDIC68I6liKICRvpQ=; b=To9AYJB4YNXNGE+yRzfdb11gZjxRnaE6b73T5I2rszDdj4He9VhgbGiUg5sz+pnvsJPDzg ikL5rI1zSUCg1KaFXpGw8zXrXO2qIoRcQ457Y26g8PdIgdkiu+smXHmxAXwcff+fJ/0mIF fHp4OlV+8QW/5Fr0SOS+4LqV+/EGyOijjKS/Z8Ketm05sGD6XfYO+JSlwSuJSC/FKmcfu1 /7kxDY/lRbEL3MQpO+yk0osi42nSWnEVOWjW6GWkajAGrXxAKXwlwKfdtR8zmhnZWvLVMh ZxbUONw9grURMN3/nNy6pDXz/eJ5ovC24vSZWVxFXDrkdP4Vf0ZnOICESIrjVQ== Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=qq.com header.s=s201512 header.b=LRVg8mua; dmarc=pass (policy=none) header.from=gnu.org; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" X-Migadu-Scanner: scn0.migadu.com X-Migadu-Spam-Score: -0.12 X-Spam-Score: -0.12 X-Migadu-Queue-Id: C75B911AC6 X-TUID: T6zr1yiPtMAE =E5=AE=8B=E6=96=87=E6=AD=A6 writes: > Z572 <873216071@qq.com> writes: > > >> - (system->llvm-target)) >> + (if (target-riscv64?) >> + "RISCV64" >> + (system->llvm-target))) >> #$(string-append "-DLLVM_TARGETS_TO_BUILD=3D" >> (system->llvm-target))) >> '()) >> @@ -658,7 +661,9 @@ (define-public llvm-14 >> #$(string-append "-DLLVM_DEFAULT_TARGET_TRIPLE=3D" >> (%current-target-system)) >> #$(string-append "-DLLVM_TARGET_ARCH=3D" >> - (system->llvm-target)) >> + (if (target-riscv64?) >> + "RISCV64" >> + (system->llvm-target))) >> #$(string-append "-DLLVM_TARGETS_TO_BUILD=3D" >> (system->llvm-target))) >> '()) > > Hello, our `system->llvm-target` has riscv =3D> "RISCV", does it wrong > (should be changed to RISCV64) or does it right only for 32bit RISCV? > And can system->llvm-target be fixed instead of fix each its usage? > > Thanks! > > > > hello, system->llvm-target work for LLVM_TARGETS_TO_BUILD, but not work for LLVM_TARGET_ARCH. llvm.scm (system->llvm-target) also have a commit ;; See the 'lib/Target' directory of LLVM for a list of supported targets. see https://github.com/llvm/llvm-project/blob/1fdec59bffc11ae37eb51a1b9869f0696= bfd5312/llvm/cmake/config-ix.cmake#L393-#L441, LLVM_TARGET_ARCH is work for RISCV64 and RISCV32, not RISCV. xxx|..........cmake/config-ix.cmake.............. 432| elseif (LLVM_NATIVE_ARCH MATCHES "wasm64") 433| set(LLVM_NATIVE_ARCH WebAssembly) 434| elseif (LLVM_NATIVE_ARCH MATCHES "riscv32") 435| set(LLVM_NATIVE_ARCH RISCV) 436| elseif (LLVM_NATIVE_ARCH MATCHES "riscv64") 437| set(LLVM_NATIVE_ARCH RISCV) xxx|.................other....................... see https://github.com/llvm/llvm-project/blob/1fdec59bffc11ae37eb51a1b9869f0696= bfd5312/llvm/cmake/config-ix.cmake#L450-#L470, RISCV is work for LLVM_TARGETS_TO_BUILD, it can find /lib/Target/RISCV directory, if system->llvm_targets return "RISCV64", it cann't work,because only have RISCV directory. xxx|...............................cmake/config-ix.cmake...................= .... 450| list(FIND LLVM_TARGETS_TO_BUILD ${LLVM_NATIVE_ARCH} NATIVE_ARCH_IDX) 451| if (NATIVE_ARCH_IDX EQUAL -1) 452| message(STATUS 453| "Native target ${LLVM_NATIVE_ARCH} is not selected; lli will not J= IT code") 454| else () 455| message(STATUS "Native target architecture is ${LLVM_NATIVE_ARCH}") 456| set(LLVM_NATIVE_TARGET LLVMInitialize${LLVM_NATIVE_ARCH}Target) 457| set(LLVM_NATIVE_TARGETINFO LLVMInitialize${LLVM_NATIVE_ARCH}TargetIn= fo) 458| set(LLVM_NATIVE_TARGETMC LLVMInitialize${LLVM_NATIVE_ARCH}TargetMC) 459| set(LLVM_NATIVE_ASMPRINTER LLVMInitialize${LLVM_NATIVE_ARCH}AsmPrint= er) 460|=20 461| # We don't have an ASM parser for all architectures yet. 462| if (EXISTS ${PROJECT_SOURCE_DIR}/lib/Target/${LLVM_NATIVE_ARCH}/AsmP= arser/CMakeLists.txt) 463| set(LLVM_NATIVE_ASMPARSER LLVMInitialize${LLVM_NATIVE_ARCH}AsmPars= er) 464| endif () 465|=20 466| # We don't have an disassembler for all architectures yet. 467| if (EXISTS ${PROJECT_SOURCE_DIR}/lib/Target/${LLVM_NATIVE_ARCH}/Disa= ssembler/CMakeLists.txt) 468| set(LLVM_NATIVE_DISASSEMBLER LLVMInitialize${LLVM_NATIVE_ARCH}Disa= ssembler) 469| endif () 470| endif () xxx|...........................................other.......................= .... so a other idea is add a new procedure make -DLLVM_TARGETS_TO_BUILD and -DLLVM_DEFAULT_TARGET_TRIPLE don't use same procedure. or not set -DLLVM_TARGET_ARCH like nixpkgs https://github.com/NixOS/nixpkgs/blob/2766f77c32e171a04d59b636a91083bae8622= 74e/pkgs/development/compilers/llvm/11/llvm/default.nix it build success on my computer too. Thoughts? --=20 over