From patchwork Fri Sep 26 10:24:06 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Deepesh Varatharajan X-Patchwork-Id: 71077 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id DDAFACAC5AE for ; Fri, 26 Sep 2025 10:24:40 +0000 (UTC) Received: from mx0a-0064b401.pphosted.com (mx0a-0064b401.pphosted.com [205.220.166.238]) by mx.groups.io with SMTP id smtpd.web10.14078.1758882278096324981 for ; Fri, 26 Sep 2025 03:24:38 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@windriver.com header.s=PPS06212021 header.b=EgqHp4jV; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: windriver.com, ip: 205.220.166.238, mailfrom: prvs=1364670208=deepesh.varatharajan@windriver.com) Received: from pps.filterd (m0250810.ppops.net [127.0.0.1]) by mx0a-0064b401.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 58Q5trvF1865960 for ; Fri, 26 Sep 2025 03:24:37 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=windriver.com; h=cc:content-transfer-encoding:content-type:date:from :message-id:mime-version:subject:to; s=PPS06212021; bh=ajCCxgU1n YHSKIcbMTMLv4KhX29ZdCUPgkTMi742lho=; b=EgqHp4jVX3XT3ZSquEe9iUKNk 7D0fwp+2JrLjs8ju1Q5qWzvMKlr/J01n6K6BoRUMjzz1TSuDMG0rVJqIJXJbwZnn IsZJ/wkopg79votQLejYspLzWJ0tnqZc51Uz7UGCU72dlTmAKkYZ85zmZlCaQ8k1 AHFPz7Gyt+SaTxg+kc7hl4au8vgBnkH2CVo76ecXDYvw7vpcMSXpBtdvYg85x8Vf gApRVpxiKT6hceWzTm+y1Mqslb+DDVHyewotqYOd2I9sCXTS+z6pYY+hVqBx6Nve eVf7wO/WHpJg4z1SN+YkiUmN+92Noa4r/N39lR05bLwbyuvzM/Cm124zP9uXA== Received: from bn8pr05cu002.outbound.protection.outlook.com (mail-eastus2azon11011054.outbound.protection.outlook.com [52.101.57.54]) by mx0a-0064b401.pphosted.com (PPS) with ESMTPS id 49dbsh0pbn-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT) for ; Fri, 26 Sep 2025 03:24:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=h0EyFoA9kOa4BbgTs94Q1Pa46IdyOOakrlpkJ0aQkw5oPo04+Ze7WmLYk5FqjZywMoQgq/erMhZfACMOrM1Uii4rjG9Z6Aefv671N++px6tpqfNAAOL+4piJ2LXXfM2GkGWTlV2gQQYmvXPV6DEvDFThDTD57rE/oLFV3ymEIn8RxGUbk6wfuYSwgqRG+bKj+18mU712bbSvfAQ5nS0eG/AXkLMvjWeeTwRqZDP3YROS8Joes8AMCQRWb+1dUS6ghVmQirik2eUnEc3MriGKOiG4k3r0A9wWTWd1CpdiIhIKESQr7FitGHwPBm4cwOF+Yc06eGGggVODpZ+05eOrjA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ajCCxgU1nYHSKIcbMTMLv4KhX29ZdCUPgkTMi742lho=; b=q59t9pusDVN9ecxx8qB3EDahQl8VNkrPUIJdwO2Arqc6QSo16qFy2et4Y/sUyw4LCjsu1EgUfaDRklnfBTOM1JkG7Hcs/9bJZXylnV4RCS3NtFiyM0YjSElKqUALbDEdZnDhHxoHu/96/b3smG1YAsN4X+QXI6lRke0mpfhzIwYu2D4j45ihO+6i5wMz4Ng6XViBIEbGOTNbnRGQVbzzzhod6yXC/A4FgK7FP+9ifa+/ov20RNxFgFwHXMgqZsIlcFcRTiel44AMX4goGODK66MPxHuulNDRkaM7Svp9K4LzDaF1QvBuo1tKvyaPHmWknfUzjG/fO0qmm74a+1tWug== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=windriver.com; dmarc=pass action=none header.from=windriver.com; dkim=pass header.d=windriver.com; arc=none Received: from SJ0PR11MB5648.namprd11.prod.outlook.com (2603:10b6:a03:302::11) by CH3PR11MB8467.namprd11.prod.outlook.com (2603:10b6:610:1bd::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9160.10; Fri, 26 Sep 2025 10:24:34 +0000 Received: from SJ0PR11MB5648.namprd11.prod.outlook.com ([fe80::c784:dce5:4b7b:54f]) by SJ0PR11MB5648.namprd11.prod.outlook.com ([fe80::c784:dce5:4b7b:54f%5]) with mapi id 15.20.9160.008; Fri, 26 Sep 2025 10:24:34 +0000 From: Deepesh.Varatharajan@windriver.com To: openembedded-core@lists.openembedded.org Cc: Sundeep.Kokkonda@windriver.com, Deepesh.Varatharajan@windriver.com Subject: [PATCH V3 1/2] rust: Use clang instead of rust-llvm Date: Fri, 26 Sep 2025 03:24:06 -0700 Message-ID: <20250926102411.3742996-1-Deepesh.Varatharajan@windriver.com> X-Mailer: git-send-email 2.49.0 X-ClientProxiedBy: BY5PR03CA0024.namprd03.prod.outlook.com (2603:10b6:a03:1e0::34) To SJ0PR11MB5648.namprd11.prod.outlook.com (2603:10b6:a03:302::11) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR11MB5648:EE_|CH3PR11MB8467:EE_ X-MS-Office365-Filtering-Correlation-Id: 87db0f79-4fb1-4629-5447-08ddfce6e343 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|52116014|376014|38350700014; X-Microsoft-Antispam-Message-Info: Kms0RBV0bkl1TYO73YbpenZfDqU0oizTCtCqjF8ut6W8jS5ueqKhywhjhxyz2Skd6oKw6qQLx6iAiGySBjVOU+faFGwT61bBDYBm54FCkrXMAkbXTt53dM1kQkQUQe0kri+gCpVBgf97fw0bZxm+EXm0Fwx4w+sYucHpqT62cW3ox+NasNecr73rsOiUZhzZinJVpF3DuD5+ij4Sd/GmFPYMVXS5rsEo0WF6Nr1Op9gfH5N5iZpIZF0hQTZWM5hPWHWBs8mpHg0lFapoge2g4Q99ORzuINz7ZoIzcMBiQlVgYNF6ic+1e0Trn51/4xbPqECPEGQC7n8mF+dLP/XvtFsGCZNRykS5UOUWYO5uoxowLBuFYhSEa++oYYsaCjBxcJDqIfmtiRQh90mtd/mQ9LFAi189+g4RecQjrwQ1+UZOL1Uj0sfgaGFk8Rv1zaQN4MTxKZH/XwqO49ITdc1AlLxsWskFd/pKlCauTP0zSNcRRI46QMdJQQ1SJPWgwR5KocmD39Y85BBAIxf/T2cAEFIPXlJHh1UwnCtpNxgfg9Imi7NmSuOgJoU7FHHnqnU7gqSEqnmMN5HoX/KvzYnJPuJpr1xLI+ysIOzGbX1dqOq6QBFrwK5Xf/0n2LAWlOII/dZ1W1VkKuqPtIhA2KOl6+PeJy4GEYL9WfI8g9EY1HJxJfFrne3OqNrmy+qXT465pU+RrCar1AsORCPZQa7RYoUT5nqHbYpNcOXigBWPNQu5eltLKdltxGJE+VA4TqkICnnPg2Z1H/1EqjYWcYAfu+4n3IRnSEw8uCHFWmbrLGD0JgSYiJwRs1ljCSXMc26FXOJE3sxj0wPoOElK4lsANFw6+n2MzqrxJKEP1vDXoyMaN+iPzqYK8fRU81/Bylx5TcE3kuQhsSGGkWHJ07+FakrbaFLhyEg7n08SXTxOv3diVd+v1Ec9vvt/vERRB+jvbDTNbDgfIsAPtxlck5jM4DThGMGDIQB67EgbqTlPwwUl7H3So2gRu2IV5s/ONRIVZ8oqP/I46Uw/zSWK7ISPh6ALer05QTllAeGiCFcTMvsnSi96/JzhwdnIQXebtQEUvKW1zDoVS/C40umQGlZ540wJfK6/oVWdOyYRAPohIwoMDBntBUA0hifm9CuP5Z92hksecWYRCFb0xpef6O7ZYie1xfPgyCLcCnGX6BsO9qxySC8exoYTnluDnjEWwQX96d2opqfyn6MUoxMheRO5KfSj3VCBR9OUhiwwDpqwkP7AlDfQFvriRohILvX6tnzID/Um0Bg+/5WnFdw6FY6FI1sLOJttoyGeAudRh1GhcmweYryOb3cureR/xXwr+phOMYQ/he9OjwNcPTuhavuIZ41oWpuk261LjPBlHZ34KhU40ALcvk3kebRgAzMZ+DG3COxd0413Bp+jqw0jnZ4CT+/6f3mWMiwCidWiRP+PdbE= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR11MB5648.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(52116014)(376014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: vES9xDEwmV61sylXr3kiDm+lCmOVG8BHKYu0H84iu2+vviyXRaCiBn6IhvWTagIUNg0gLSTribJk8GnA5ayTkneTsa+/0DRmkguiOl7XVtGnLj92VlMGbOjvWqMh2Bzp9U9vVN3NDqMAGM68yp/oOV7+wv8HCYM09JUjv/1k5dvM8zyw0+tA32lTG3XxSerS5OKrxptVdlvVsk/qpXNqkhcCUxzSKYW4RbbSFqRx2OIAZ0Yi0WXqefDQAkwqlzexdWHdyglkjF2OMFqqHzcT8A7lVbuWaAqVElrsC+lMqdERu1xdi5qWEOh4ZbjigYIYDxgdRdr60vTBY/Ckjk1ShEfb7jdMLAYjYrYVqCZzYTPN1nL+3meWJfdmXbKNHm8+zrqTk91F/4/SXefaMV17InRPBIp1AdZHExVg828Wm1QC/mQZh1GRvqz8m+hXP872yManxYqXHLMwecRBManXCJ4eseW52+CHX+kro6KcAXWyD5eJeamuVFFPG2YC4OjAv0Etg/U7ekWyLmVVz0EWwIjZhC5J+ecBEG0aPEFPrJ95iVGi8LCDmNMM+kf1cc+dIUoVVnMgUjgo/VTowJjoB956fIItzftqDKJzu58O7JDVQOQUJoB/viyzpus53b+X9g9qCfl9xD7DAPysECnW/OUN5l3iWNq1ahDhdtgd7u7wAnHt2k/79CR+8fPxW2MtADFzNuogDncOB5XvL3TQnQi1FbozCelK4kqHvADbc+YsQXlbpg4y/lKWnz4avSp6QjyjPXUJ9HL0xxYsQE3pzmoaxef5I+O4Hix8GhWm7135YGM/Ge8SyL9uZCcj0EYPXLLnqz7Q6pGswiSChhVGm72WvgUmUH9n24Y58I/ResFh84JevDTbRFDgGNJTV+3Ik/jYHSuvcoUyILf1zMb+5XEjKIpyfPM9yO7tLZ8Wc2Ovbo9Nv0doHclC8PlAXTRmrqxz2yQPbjA+PGktuT2dwkRuHPS7Eaqdrpl5Cx2dc1AVzMUN3lq0hllPzYll8PcOQV8R/BvyyntqfhzFhBxHiFukBXNmD58hjNmbsLHPgJk/R7SEJ0IHsa5NrJjwK5XQo7tmQ+Cf0a8RBlis2N64bLctr5ywH36J5Iy6898XYjysBTv4RYTJVEKwXkaRE7iN/RD/kv92W9BZxV7ZRVzjunkUohL4DA6LZEq6kqETW009DdPSdq/tuNFiU2uoMVzwDAQPwbLbA7wYOkauqHTrvxRjWeTRLhmdy7Vx+Yknz1I6Rd9cMUDdZG++L857r9LuKOi1t00uDYGFIUabY+RtbnyNhBopKB9ZWfwB8K0UxAWtBgapZ78OQ02uV4vaQ+NOlYFPyB7ibcvRioGFtA3d+2VSPBzGmBFApXdhIyrq3c+O4G4e6Cr7jizWknbOgKlQ5dKEh3Oj3gnpDsJo6OqbvUwswfvGmweFBVeAcYoUvtuObch7oj0wRb94d2mqQKrxBpBwDbV2ZDnn/QsIMCyqhfJcHF8uNth6GGUbfsiF35izSZN6k56o7gw8svPXLkrZxXYmO+wuzbAQuCDBP3OBgw9ChO7haQQCLvB34ukvOnBxPwYQPNqXWK9/W6XTlvq8HmGrWZha5qahSPdEXhM0FsEnO/WKRqAHnlDtUhKvP0Q= X-OriginatorOrg: windriver.com X-MS-Exchange-CrossTenant-Network-Message-Id: 87db0f79-4fb1-4629-5447-08ddfce6e343 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR11MB5648.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Sep 2025 10:24:34.2972 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 8ddb2873-a1ad-4a18-ae4e-4644631433be X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: AdfEQ643MzQvtpz9ooBB5Ah1vwUehtDjbw+X8trhQEITTuv7Ffk/G1ZtXhovTX1QnTi9pbSwpWMOxRfMxaliQCiG80ZQQLWn0+3rtQ0cdwfPPIL733FeFVtIzfH7C4Yy X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR11MB8467 X-Authority-Analysis: v=2.4 cv=ebUwvrEH c=1 sm=1 tr=0 ts=68d669e5 cx=c_pps a=F7X/6K5kN+zqVHn88SdM/A==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=yJojWOMRYYMA:10 a=ei4SEBeUAAAA:8 a=NEAV23lmAAAA:8 a=t7CeM3EgAAAA:8 a=ckCNTkt6AjYl-fCN-5sA:9 a=Hqou25T6mLgA:10 a=8zIOOLb7Ym0NljyPXbuS:22 a=FdTzh2GWekK77mhwV6Dw:22 X-Proofpoint-ORIG-GUID: jHG8fxgkctUBFIEVce55YX9B9ydkx73e X-Proofpoint-GUID: jHG8fxgkctUBFIEVce55YX9B9ydkx73e X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTI2MDA5NSBTYWx0ZWRfX3pnSUkvUK6G5 VOokwXlhwXPDXd6AqEqmPT0gN7P1NCF9BbZxQgxkjHrSg4jnUuvaI9sjSmAZ6RTaQWsKIH1Wgre 8ceGhPayPYIAOEvhE7nTxxlHp3zYJaGpW5bGi+hpv2aXKrOthReM/y0QoT87JqMTZEVsvDZLuhw xilx6GzUTyDmI0P87BK+jS63eamnu5/zYNfot8S0iOWgF9fpHEVxDJk1uIeWXHrYT2DVMsTOTTU 5zHRCEfdBO2Jc1c8r3kvnNeBvr2nIKwY3N9HHXLu3y0FkgJfDUtj7/Xg5HbatnoxrGw4RDAW+NG CDFekiMkVWvoVNHfIuyhZGQQaUXyzlVyVkNxH129eT49O7OuZDSeZf+mvTOVa3KBrf1iuqEN/gv sQWo0Vu3X0H2vQhFtTwbR1Ml65TCXw== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-09-26_03,2025-09-26_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 malwarescore=0 lowpriorityscore=0 suspectscore=0 spamscore=0 priorityscore=1501 impostorscore=0 phishscore=0 clxscore=1015 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2509150000 definitions=main-2509260095 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Fri, 26 Sep 2025 10:24:40 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/224075 From: Deepesh Varatharajan Updated the Rust build to depend on Clang instead. *Summary of discussion with the rust upstream about using latest LLVM instead of Rust maintained LLVM fork. https://internals.rust-lang.org/t/can-we-use-proper-clang-instead-of-llvm-fork-what-rust-uses/23489 *Upstream LLVM is generally compatible: - Rust does support building with upstream (vanilla) LLVM, especially the latest major release and the one or two preceding ones. https://rustc-dev-guide.rust-lang.org/backend/updating-llvm.html#updating-llvm *Impact on Yocto Rust upgrades: - Rust upgrades shall always check for updates on rust forked llvm and backport the relevant patches to clang's llvm. *Regarding the rust forked llvm local patches: - There are no local patches on rust forked llvm other than the backported fixes from llvm master. *We now add these flags "-Clink-arg=-lz -Clink-arg=-lzstd" because of this following diff otherwise we will get errors during link time. Setup in rust-llvm -DLLVM_ENABLE_ZLIB=OFF \ -DLLVM_ENABLE_ZSTD=OFF \ -DLLVM_ENABLE_FFI=OFF \ Setup in clang -DLLVM_ENABLE_FFI=ON \ -DLLVM_ENABLE_ZSTD=ON \ *When multilibs enabled: llvm-config expects static libraries to be located in the lib directory rather than lib64. However, since LLVM is built as a non-multilib component, the lib directory doesn't contain any library files. To accommodate this without breaking multilib behavior, we copy the required library files appropriately. Previously, when we depended on rust-llvm, this worked because we specified: -DCMAKE_INSTALL_PREFIX:PATH=${libdir}/llvm-rust With this setup, llvm-config was installed inside ${libdir}/llvm-rust, which included its own bin and lib directories. Thus, llvm-config located in bin would correctly find the libraries in the adjacent lib directory. Even when multilib was enabled or not, llvm-config would still look for libraries under lib in this structure, so everything functioned as expected. *Changes needs to be done when llvm splits from clang: In rust recipe: Update the dependency from: DEPENDS += "ninja-native clang" to DEPENDS += "ninja-native llvm" In llvm recipe: Apply the same changes that were made in the Clang recipe, as those configurations have now been moved to the LLVM recipe after the split. Signed-off-by: Deepesh Varatharajan --- meta/recipes-devtools/clang/clang_git.bb | 4 ++-- meta/recipes-devtools/clang/common-clang.inc | 6 +++--- meta/recipes-devtools/rust/rust_1.90.0.bb | 18 ++++++++++++++---- 3 files changed, 19 insertions(+), 9 deletions(-) diff --git a/meta/recipes-devtools/clang/clang_git.bb b/meta/recipes-devtools/clang/clang_git.bb index 53bca1c24f..3e117b308b 100644 --- a/meta/recipes-devtools/clang/clang_git.bb +++ b/meta/recipes-devtools/clang/clang_git.bb @@ -83,7 +83,6 @@ OECMAKE_SOURCEPATH = "${S}/llvm" # https://github.com/llvm/llvm-project/blob/main/llvm/CMakeLists.txt LLVM_TARGETS_GPU ?= "${@bb.utils.contains_any('DISTRO_FEATURES', 'opencl opengl vulkan', 'AMDGPU;NVPTX;SPIRV', '', d)}" LLVM_TARGETS_TO_BUILD ?= "AArch64;ARM;BPF;Mips;PowerPC;RISCV;X86;LoongArch;${LLVM_TARGETS_GPU}" -LLVM_TARGETS_TO_BUILD:class-target ?= "${@get_clang_host_arch(bb, d)};BPF;${LLVM_TARGETS_GPU}" LLVM_EXPERIMENTAL_TARGETS_TO_BUILD ?= "" @@ -107,6 +106,7 @@ EXTRA_OECMAKE += "-DLLVM_ENABLE_ASSERTIONS=OFF \ -DLLVM_ENABLE_PIC=ON \ -DCLANG_DEFAULT_PIE_ON_LINUX=ON \ -DLLVM_BINDINGS_LIST='' \ + -DLLVM_INSTALL_UTILS=ON \ -DLLVM_ENABLE_FFI=ON \ -DLLVM_ENABLE_ZSTD=ON \ -DFFI_INCLUDE_DIR=$(pkg-config --variable=includedir libffi) \ @@ -137,7 +137,7 @@ EXTRA_OECMAKE:append:class-target = "\ -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ar \ -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm \ -DCMAKE_STRIP=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-strip \ - -DLLVM_TARGET_ARCH=${HOST_ARCH} \ + -DLLVM_TARGET_ARCH=${@get_clang_target_arch(bb, d)} \ -DLLVM_DEFAULT_TARGET_TRIPLE=${TARGET_SYS}${HF} \ -DLLVM_HOST_TRIPLE=${TARGET_SYS}${HF} \ -DLLVM_LIBDIR_SUFFIX=${LLVM_LIBDIR_SUFFIX} \ diff --git a/meta/recipes-devtools/clang/common-clang.inc b/meta/recipes-devtools/clang/common-clang.inc index bf3a63914a..c22e3c1b19 100644 --- a/meta/recipes-devtools/clang/common-clang.inc +++ b/meta/recipes-devtools/clang/common-clang.inc @@ -30,10 +30,10 @@ def get_clang_arch(bb, d, arch_var): elif re.match('aarch64$', a): return 'AArch64' elif re.match('aarch64_be$', a): return 'AArch64' elif re.match('mips(isa|)(32|64|)(r6|)(el|)$', a): return 'Mips' - elif re.match('riscv32$', a): return 'RISCV' - elif re.match('riscv64$', a): return 'RISCV' + elif re.match('riscv32$', a): return 'riscv32' + elif re.match('riscv64$', a): return 'riscv64' elif re.match('p(pc|owerpc)(|64)', a): return 'PowerPC' - elif re.match('loongarch64$', a): return 'LoongArch' + elif re.match('loongarch64$', a): return 'loongarch64' else: bb.fatal("Unhandled architecture %s" % arch_val) return "" diff --git a/meta/recipes-devtools/rust/rust_1.90.0.bb b/meta/recipes-devtools/rust/rust_1.90.0.bb index 5d804c7398..c2cb8f8829 100644 --- a/meta/recipes-devtools/rust/rust_1.90.0.bb +++ b/meta/recipes-devtools/rust/rust_1.90.0.bb @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=11a3899825f4376896e438c8c753f8dc" inherit rust inherit cargo_common -DEPENDS += "rust-llvm" +DEPENDS += "ninja-native clang" # native rust uses cargo/rustc from binary snapshots to bootstrap # but everything else should use our native builds DEPENDS:append:class-target = " cargo-native rust-native" @@ -28,8 +28,8 @@ PV .= "${@bb.utils.contains('RUST_CHANNEL', 'stable', '', '-${RUST_CHANNEL}', d) export FORCE_CRATE_HASH = "${BB_TASKHASH}" -RUST_ALTERNATE_EXE_PATH ?= "${STAGING_LIBDIR}/llvm-rust/bin/llvm-config" -RUST_ALTERNATE_EXE_PATH_NATIVE = "${STAGING_LIBDIR_NATIVE}/llvm-rust/bin/llvm-config" +RUST_ALTERNATE_EXE_PATH ?= "${STAGING_BINDIR}/llvm-config" +RUST_ALTERNATE_EXE_PATH_NATIVE = "${STAGING_BINDIR_NATIVE}/llvm-config" # We don't want to use bitbakes vendoring because the rust sources do their # own vendoring. @@ -188,6 +188,16 @@ python do_configure() { bb.build.exec_func("setup_cargo_environment", d) } +#llvm-config expecting static libraries in 'lib' instead of 'lib64'. +#Since LLVM is built as a non-multilib component, the 'lib' directory +#doesn't have any library files when multilibs enabled. So, copying +#library files without impacting multilib behavior. +do_compile:append:class-target() { +if [ -d ${STAGING_DIR_TARGET}/usr/lib64 ]; then + cp ${STAGING_DIR_TARGET}/usr/lib64/libLLVM*.a ${STAGING_DIR_TARGET}/usr/lib/. +fi +} + rust_runx () { echo "COMPILE ${PN}" "$@" @@ -199,7 +209,7 @@ rust_runx () { unset CXXFLAGS unset CPPFLAGS - export RUSTFLAGS="${RUST_DEBUG_REMAP}" + export RUSTFLAGS="${RUST_DEBUG_REMAP} -Clink-arg=-lz -Clink-arg=-lzstd" # Copy the natively built llvm-config into the target so we can run it. Horrible, # but works! From patchwork Fri Sep 26 10:24:07 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Deepesh Varatharajan X-Patchwork-Id: 71078 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id E0AE6CAC5BC for ; Fri, 26 Sep 2025 10:24:40 +0000 (UTC) Received: from mx0b-0064b401.pphosted.com (mx0b-0064b401.pphosted.com [205.220.178.238]) by mx.groups.io with SMTP id smtpd.web11.14122.1758882279823181131 for ; Fri, 26 Sep 2025 03:24:40 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@windriver.com header.s=PPS06212021 header.b=FO7ezSZ0; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: windriver.com, ip: 205.220.178.238, mailfrom: prvs=1364670208=deepesh.varatharajan@windriver.com) Received: from pps.filterd (m0250812.ppops.net [127.0.0.1]) by mx0a-0064b401.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 58Q5U1oX1167882 for ; Fri, 26 Sep 2025 10:24:39 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=windriver.com; h=cc:content-transfer-encoding:content-type:date:from :in-reply-to:message-id:mime-version:references:subject:to; s= PPS06212021; bh=WnEeugSWxXnUEi4uowg2Dm9JIfgOOOjeddTSOQZYUTE=; b= FO7ezSZ0DiNQfeDV09+MWDd3Xn0soEYR7VxGssTHGzcQnnvttR3Jvp3vx0XnAZb9 2VQPq41CHmxYBM7UX6w5J9cKOQgmrOZDuQiH/5Xz/in0esA7nruyMvRe7hSrD6YA 4f5viG1mkoWUwUQA1oxa/pgpbAuN3jNMaPG2P+kFo3aP3eZ10k9Zvl2ojeP7WyqP 3LeBVAO4jPtzYBuV12MxdYZa8Jict5RoJA9Sbm/Git36a3zvfCALaSydX79jyiup u+HS2yVxrHtd21Z/YrWK6YvLB+Tv0h/MEAYH86iywHqKGMz2CHYzqngW45y0iq33 orAcBD+KzkuYwvT81RAVjA== Received: from bn8pr05cu002.outbound.protection.outlook.com (mail-eastus2azon11011054.outbound.protection.outlook.com [52.101.57.54]) by mx0a-0064b401.pphosted.com (PPS) with ESMTPS id 49dbsh8nsh-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT) for ; Fri, 26 Sep 2025 10:24:38 +0000 (GMT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=T54Tw+mME9lgqKWkhL9ASdgRws7HhhfecYN3JSiwjy5ckZB9EKN6R3K2CHorZyFcW51rmYiBYuKGyw0vPb1djnP0c0HpdGUYvp/AkNikgy6vt0TNSt0TIALxnBq4n1gYstyJisCNe/E0m5qYKsjOVTnA+Ijzyk124pKMZ0A155Zj024EG2oYKVBx9W/i+uC/vTPnvJfU0I6DddVLS0GpGjlTwtNRiSkPhS/UTl8u58YbxmqACYIL+n1LMzqRwaL2oa+YgrnM+xAQAlBuO15aUKr9ckDVviKtMhQPF7/YKKRgHKLY85FolQP+eTzSRChdH/6tCpVKLlm3YlgcDbnv+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=WnEeugSWxXnUEi4uowg2Dm9JIfgOOOjeddTSOQZYUTE=; b=yL9RKNcOIpVj/TOcg2II8HfSPK6Id5eoVI9v38xOkmLoVGpOcD0xx5sqU0KZFQ9BLm2acyErH0a+NM/5OtvGZ5ct4NRUUCmnc13mFgTFSFKPmzx2XYbpUrOibXas6DIHPKbc0p3JW0UEfPsUx+YlLn2hIeFQI2HNdtUP9HIl5aVAFMXonEmXvTnq2I3nxf2CnmVRPyKeiw7lyEE382ICnyRKaYzMmI9T0NpxC4IV7NHLKJPGwRUGdSRB3tw+G/+8npBl5v3puFxtrZ4Br8oTHI8Ofy87bidV5gIlHWoBS9ORzCL/8L9Sq9bcivHhdgvs9TyVZoxxcMGTdmT+uLiWoQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=windriver.com; dmarc=pass action=none header.from=windriver.com; dkim=pass header.d=windriver.com; arc=none Received: from SJ0PR11MB5648.namprd11.prod.outlook.com (2603:10b6:a03:302::11) by CH3PR11MB8467.namprd11.prod.outlook.com (2603:10b6:610:1bd::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9160.10; Fri, 26 Sep 2025 10:24:36 +0000 Received: from SJ0PR11MB5648.namprd11.prod.outlook.com ([fe80::c784:dce5:4b7b:54f]) by SJ0PR11MB5648.namprd11.prod.outlook.com ([fe80::c784:dce5:4b7b:54f%5]) with mapi id 15.20.9160.008; Fri, 26 Sep 2025 10:24:36 +0000 From: Deepesh.Varatharajan@windriver.com To: openembedded-core@lists.openembedded.org Cc: Sundeep.Kokkonda@windriver.com, Deepesh.Varatharajan@windriver.com Subject: [PATCH V3 2/2] rust: Drop rust-llvm Date: Fri, 26 Sep 2025 03:24:07 -0700 Message-ID: <20250926102411.3742996-2-Deepesh.Varatharajan@windriver.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250926102411.3742996-1-Deepesh.Varatharajan@windriver.com> References: <20250926102411.3742996-1-Deepesh.Varatharajan@windriver.com> X-ClientProxiedBy: BY5PR03CA0024.namprd03.prod.outlook.com (2603:10b6:a03:1e0::34) To SJ0PR11MB5648.namprd11.prod.outlook.com (2603:10b6:a03:302::11) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR11MB5648:EE_|CH3PR11MB8467:EE_ X-MS-Office365-Filtering-Correlation-Id: f66c7408-3f4a-4cb3-f35d-08ddfce6e4c4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|52116014|376014|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?S2m2zDnK6DgVX0xv6zPOWZraNs8ndr6?= =?utf-8?q?G/RZGBLpgj5mAzaywDZNnarKl6/wbfPqU33rML6DNK7L0GZZwzDpymOF7kbdVv8Wx?= =?utf-8?q?NZNgYKz2dKITEaPaqeBmYCUrMC4w1ZX4trfKqbQ0aewYOIpHTxFaEJPn0ibAyt4iE?= =?utf-8?q?OgUNDy5/BfC/Ts9nuL+B72s0t+nwd8OvLbd8UqoB7JT6ngS2MFMPvj3KozBtfenIa?= =?utf-8?q?ve/fPJH5fHjTuhNhI7RJFM9EBghpSf9zHXJboO3QpMG2xX7tDw4nFEILuMpz5IdAT?= =?utf-8?q?V3R/OUP2dXgHjgfwaAteCM4Dji5x4Kv+o6ATksiobeK61zFQxGrpR69X3FelPi/v3?= =?utf-8?q?ftD25UJ6TioJr4pRSRte4IeF96Ghq7JD9gfZs7P452z2Qp498t0pyeSVTAPp43xZU?= =?utf-8?q?7YKjnoxHu59vUj2ceRsB0JAwdX5uws5q6IhVB9yuJjqOCsZXlC9rGnONbKWi4n0cu?= =?utf-8?q?FZXw6z2ejCLsHckQowH/Gj9gIks4zfz5vUkgzrnXBpn1RwPPKS1L6WLAy41dXoAzj?= =?utf-8?q?jdZQ5t3pAbd7xwOTY6uNg135UCW6fElb6kKyZrBQ2vhdAebXNhLLYNx8LR3LSMzW6?= =?utf-8?q?KRL9WWYh/ZUpq+X2gWeHgln/w7J0Iu4SGhaq1fAMCiHOVfNKwHNCSxAdMPgjCmy8V?= =?utf-8?q?PMXrr44xCxH4ho5w/xSZ+swzv2hZtRVZjwsvwBEVlL3mCGicm3XPjo082TIsXXrJ3?= =?utf-8?q?+9airo4VjBgWDVB6azmC2Ua3oJsGBDP4JRAoTWQiOxRnA17fgwdWP+I+y0Ilv9hsJ?= =?utf-8?q?Va7ZwDXzpynD/8vkDGam6oH8TI9jdMOBIn6i/80MajeDIvi+2XtLDWxj/7Wyggnhc?= =?utf-8?q?2mAmvaWmQtVVqIVQp9LI2RQtxdiK4sqaoM4ySVFGUuMnGluYgx1U78gXXHL1KHU+x?= =?utf-8?q?uNA0pVXMULzHfzh9EsqY7bmAv+P+PM2jPFc2p7vEwUUA9dtWsfXK8EjDSSblbXtzn?= =?utf-8?q?IVBKFZS8ZbGHljRxeU/1wbB09vo8jIAdCdSXTirOMBN8iGUnVLVUoU2ae7LVoGoTp?= =?utf-8?q?j9LGfRihfMT3X1KBr45MbcfIrBnrO+A1qwg4S1jKCAloCktL/iPzQnZ1Ky8y8UZ99?= =?utf-8?q?JBDlbxedfKc/XFKSWm5Pzna9HDZx8o4etqutkCoJdl5CJPlpXeqEHqVS0Yy4G7xSh?= =?utf-8?q?KRAS6hyoruo72YkgibCMOfOtlU+qvEmrgtGJ/cuf6COVOGVe0xTVMvDIHNDDpTgfp?= =?utf-8?q?PRZfX+oA5B6/UbwqMlu5R6TJlvbMHTJJXgxb9nGhp4jkEpaxatIoksSk/76Ks2pt+?= =?utf-8?q?pCv4BZ6IgFXgkpO7VHeQNuDPNXuVSJA+7UmiJsAzdyMD0bMNI9NWMEgCgy0G3fFOA?= =?utf-8?q?7qykfH9czH0RjCtVQo5BCOBm95QTh7Rabhw5/Ldwr74g/IlVLEgdrlw=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR11MB5648.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(52116014)(376014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?ast5nTiBo3m4HcpbE8zyGiMyZtEw?= =?utf-8?q?I7uK9b6UWuiJaOhweNRn1kirGwM8Kiy9h/EXCMmi4+PwVRQfD8AAp9m4u5v2WF5dF?= =?utf-8?q?x0RfDc7r7vBqvtBvF1XLQipZyDTpx30Sb1xmum7hZmoJ9rFwet1tP9P4qG/Kr/be5?= =?utf-8?q?1TPqG1Np0EVwfODaWCCDC40VA5qBTtqE9AbFUFF5lEyJjLhoA5MPw3jCxVyNftLQ0?= =?utf-8?q?GCHy1YSm1AZtAqRi/NGLPbCaImvQxNgP5qRf8N9OjDDS704xBjlDFf7aktWVahh3V?= =?utf-8?q?HaWP0TWVdCaFwRZExJYFB73hWx8Ff9Ic+SjsQYuS8wMOlKGL5rip2lV2TG1LYeYWf?= =?utf-8?q?uiUYoXA+pO85Io59gU03XWj8YEHakvvsXS/ULzaPepts2vAnOpyRQCRiIF2Pg5qWE?= =?utf-8?q?iIO0Z0ObL8WoelFpBPe+WdJA5JJhZg0i2S9TROwQYZb474k5AeosDs8T/D4hm4fRm?= =?utf-8?q?w2QwtbVCsQ3Jkxyxl9tGcqmSCW/BrqEYzf5j8E0Vuc4G513UUaKaajGGaJAV1b6Fc?= =?utf-8?q?cp7KjTFPnsvSR/bT+s3IlNQLOnP7EcHN/8rqFlZp/CncJ4oDUtILIqGvBhi7yhix8?= =?utf-8?q?oB8/XpdywBP4JHAqbkf9EFC/S6ZTnGYSrWn8HIY02n/NIHkcbc1+srisn7RUl0yAl?= =?utf-8?q?PaC15qMeyVQ7KmsiiuKXJD7nKMy6P/fM00Mu0OkCgU95CD4K0l2bQDpKU3IfCfLop?= =?utf-8?q?mByUVVnXKokAJVBTGb2Iv1KNbvFKOWhu3HfomWtYGQkUfecqeU0AKwbky2eE3T1P/?= =?utf-8?q?1unTnRzvX76FepjB+Z5y6YkegfpcEfrEJOfutogXlng3qCt2X/vfNDHz/CfuiXKhU?= =?utf-8?q?UFUxXF21lfL8Picrz0NWs89TpGIyFQuVKyLoB8FJm9qdKY81dNqHXjW9zSaSa3I/y?= =?utf-8?q?oTazRN/00im5PlcAD11V1s8pGY0fii44DdnF0dVCTs1mIOTXAFmxsBnUBAym3sb+8?= =?utf-8?q?a4lzeNNe3/iy0vCEtU8va+h2954qeCdBJRIWQazG8AyESoKuhbeEm91GPQqFwJoyt?= =?utf-8?q?vKp0ABFSPULWfoHV4eIgpKq9FJh1M0FbhNKnMI8VuznwWyxcJgfYcVtEewGb2LAjK?= =?utf-8?q?fOjF9plMw9NAeu2opedxCihzAtmw6ZwP/vZ0agZoTK/U7cfZ22Vk8StlHtzwnfkaW?= =?utf-8?q?40m0wFP8CO4D75xp+kOv7vKiOOOBsH9YKace3F1txMyxXXcf6151byv6KcvLpQFV9?= =?utf-8?q?uzmINQR8E5YyGSdQyZesN9bpsc4RNYQpVydfTuvb8ukx61tpGC4zFfCxbPnkOu5L6?= =?utf-8?q?1XdZKjnbdyTvaKE7+U+ZjGRFvY3DEhXpgxgB353vSRL0ruIwZmNpnnkOW39SKP+Fd?= =?utf-8?q?+6cIsUgAejARQ7woMmhAQMokdilVOPATCtwlmJKAjndcApxzrCZAUWY7t4dqZx18S?= =?utf-8?q?JWPIgAcGXHnGpGWo0Q7/YDH5TBpnWeJQ/NoTW5IuQp+fLooHzWBUVPOwTS9eg0ARm?= =?utf-8?q?w3+AOTlNnuKeV/j7hoP8oqkR1QUjFkgvIye44XMFvL9WHEsCFmx1a/rXa8+i2JL79?= =?utf-8?q?sxihGa7IdJCGgropNtcULNK1l2+K8c5F/reBEfN+XZmygHkylIW+4YM=3D?= X-OriginatorOrg: windriver.com X-MS-Exchange-CrossTenant-Network-Message-Id: f66c7408-3f4a-4cb3-f35d-08ddfce6e4c4 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR11MB5648.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Sep 2025 10:24:36.8214 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 8ddb2873-a1ad-4a18-ae4e-4644631433be X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: pGQLYgG28ysMU+0fCNueNobT7Gjgme1NmC9AfWbY0HjOF3Fo/wlKWz932etlrfRqVFrkUuIV9RxsyPaSHJ+YsYSsb6HVuT4JixZWxjSqiqwjL4RJm586gdxfcRfrYfaf X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR11MB8467 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTI2MDA5NSBTYWx0ZWRfXwTe+M98szUt/ hqDH8OgkoR63PNo/jnynbXu9+40fEVQupTsjivLCy9H07EV2HwkM6zMDKLauKA2Xw4iXZY0P4KX 5tXJMppB6EzJHvaTmVfJ0hE0PN3YMLtpxYxQsGXjooCnBGCc7EPlHtBvOaOQruWvVxq3rY75jLS XiELfr1r7zuCln89RlWC5zjzdIH/thn8ODrdffLwQ3nsUu/qkK0LjcAHHWF8yTLlixJJi9I2m1o I44nVhHxVKiD4QJ6MhZFN+rP2dUTmwV3UGCYxMS9IAYDQzciEVXJnUT7bdsvBGmVxSrfinU0zKt dsnOIfA95uuVIp+0HM8QTISt+zRRAZjQ3e6/1n4/1g/PjE/wBlQRf9efvLdTDqzHGyZ/+bnfh4q dnYbTSU/HJH+DGUwxkrmOf7ekKUu4g== X-Proofpoint-ORIG-GUID: kYJkVDp1KBRtkA3ULAFXBQAF3gKzE539 X-Proofpoint-GUID: kYJkVDp1KBRtkA3ULAFXBQAF3gKzE539 X-Authority-Analysis: v=2.4 cv=U4WfzOru c=1 sm=1 tr=0 ts=68d669e6 cx=c_pps a=F7X/6K5kN+zqVHn88SdM/A==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=yJojWOMRYYMA:10 a=NEAV23lmAAAA:8 a=mDV3o1hIAAAA:8 a=Twlkf-z8AAAA:8 a=ei4SEBeUAAAA:8 a=t7CeM3EgAAAA:8 a=7CQSdrXTAAAA:8 a=iGHA9ds3AAAA:8 a=8wEic9LhAAAA:8 a=pGLkceISAAAA:8 a=IvTj1HvjAAAA:8 a=F_APRniP6ELLG6ECTw4A:9 a=jwqizywn4iEqV798:21 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=-74SuR6ZdpOK_LpdRCUo:22 a=8zIOOLb7Ym0NljyPXbuS:22 a=FdTzh2GWekK77mhwV6Dw:22 a=a-qgeE7W1pNrGK8U0ZQC:22 a=nM-MV4yxpKKO9kiQg6Ot:22 a=M9VCcFR7d36vLOFuqMn8:22 a=kmyLcwvAnC_t3PsnBtKb:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-09-26_03,2025-09-26_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 priorityscore=1501 adultscore=0 phishscore=0 impostorscore=0 clxscore=1015 suspectscore=0 bulkscore=0 spamscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2509150000 definitions=main-2509260095 X-MIME-Autoconverted: from 8bit to quoted-printable by mx0a-0064b401.pphosted.com id 58Q5U1oX1167882 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Fri, 26 Sep 2025 10:24:40 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/224076 From: Deepesh Varatharajan Drop rust-llvm recipe because now rust depends on clang for building *Dropped Patches: 0001-libunwind-Use-gcs-instead-of-gcs-target-attribute.patch(Merged) https://github.com/llvm/llvm-project/commit/b46f34452e9dec50eee6ddbe07875f05e421a81c 0001-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch 0002-llvm-allow-env-override-of-exe-path.patch (We have the above two patches in clang) Signed-off-by: Deepesh Varatharajan --- meta/conf/distro/include/maintainers.inc | 1 - ...-gcs-instead-of-gcs-target-attribute.patch | 66 ------------- ...r-sort-ClassInfo-lists-by-name-as-we.patch | 31 ------ ...-llvm-allow-env-override-of-exe-path.patch | 33 ------- .../recipes-devtools/rust/rust-llvm_1.90.0.bb | 98 ------------------- meta/recipes-devtools/rust/rust-source.inc | 1 - 6 files changed, 230 deletions(-) delete mode 100644 meta/recipes-devtools/rust/files/0001-libunwind-Use-gcs-instead-of-gcs-target-attribute.patch delete mode 100644 meta/recipes-devtools/rust/rust-llvm/0001-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch delete mode 100644 meta/recipes-devtools/rust/rust-llvm/0002-llvm-allow-env-override-of-exe-path.patch delete mode 100644 meta/recipes-devtools/rust/rust-llvm_1.90.0.bb diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc index 0988bf50a7..7eec664619 100644 --- a/meta/conf/distro/include/maintainers.inc +++ b/meta/conf/distro/include/maintainers.inc @@ -773,7 +773,6 @@ RECIPE_MAINTAINER:pn-ruby = "Ross Burton " RECIPE_MAINTAINER:pn-run-postinsts = "Ross Burton " RECIPE_MAINTAINER:pn-rust = "Randy MacLeod " RECIPE_MAINTAINER:pn-rust-cross-canadian-${TRANSLATED_TARGET_ARCH} = "Randy MacLeod " -RECIPE_MAINTAINER:pn-rust-llvm = "Randy MacLeod " RECIPE_MAINTAINER:pn-rxvt-unicode = "Unassigned " RECIPE_MAINTAINER:pn-sassc = "Simone Weiß " RECIPE_MAINTAINER:pn-sato-screenshot = "Ross Burton " diff --git a/meta/recipes-devtools/rust/files/0001-libunwind-Use-gcs-instead-of-gcs-target-attribute.patch b/meta/recipes-devtools/rust/files/0001-libunwind-Use-gcs-instead-of-gcs-target-attribute.patch deleted file mode 100644 index a704671fb9..0000000000 --- a/meta/recipes-devtools/rust/files/0001-libunwind-Use-gcs-instead-of-gcs-target-attribute.patch +++ /dev/null @@ -1,66 +0,0 @@ -From e4f4094de8ddcbe6d5ff1cdf782d2b89e0563903 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 30 Apr 2025 19:51:19 -0700 -Subject: [PATCH] libunwind: Use +gcs instead of gcs target attribute - -__attribute__((target("gcs"))) does not work with gcc - -GCC-15 has added gcs intrinsics [1] but the syntax for enabling it is -slightly different. This syntax works with clang too. - -With gcc15 compiler libunwind's check for this macros is succeeding and it -ends up enabling 'gcs' by using function attribute, this works with clang -but not with gcc but '+gcs' works with both - -We can see this in rust compiler bootstrap for aarch64/musl when system -uses gcc15, it ends up with these errors - -Building libunwind.a for aarch64-poky-linux-musl -cargo:warning=/mnt/b/yoe/master/sources/poky/build/tmp/work/cortexa57-poky-linux-musl/rust/1.85.1/rustc-1.85.1-src/src/llvm-project/libunwind/src/UnwindLevel1.c:191:1: error: arch extension 'gcs' should be prefixed by '+' -cargo:warning= 191 | unwind_phase2(unw_context_t *uc, unw_cursor_t *cursor, _Unwind_Exception *exception_object) { -cargo:warning= | ^~~~~~~~~~~~~ -cargo:warning=/mnt/b/yoe/master/sources/poky/build/tmp/work/cortexa57-poky-linux-musl/rust/1.85.1/rustc-1.85.1-src/src/llvm-project/libunwind/src/UnwindLevel1.c:337:22: error: arch extension 'gcs' should be prefixed by '+' -cargo:warning= 337 | _Unwind_Stop_Fn stop, void *stop_parameter) { -cargo:warning= | ^~~~~~~~~~~~~~~ - -[1] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=5a6af707f0af - -Upstream-Status: Submitted [https://github.com/llvm/llvm-project/pull/138077] - -Signed-off-by: Khem Raj ---- - src/llvm-project/libunwind/src/UnwindLevel1.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- a/src/llvm-project/libunwind/src/UnwindLevel1.c -+++ b/src/llvm-project/libunwind/src/UnwindLevel1.c -@@ -185,7 +185,7 @@ extern int __unw_step_stage2(unw_cursor_ - - #if defined(_LIBUNWIND_USE_GCS) - // Enable the GCS target feature to permit gcspop instructions to be used. --__attribute__((target("gcs"))) -+__attribute__((target("+gcs"))) - #endif - static _Unwind_Reason_Code - unwind_phase2(unw_context_t *uc, unw_cursor_t *cursor, _Unwind_Exception *exception_object) { -@@ -329,7 +329,7 @@ unwind_phase2(unw_context_t *uc, unw_cur - - #if defined(_LIBUNWIND_USE_GCS) - // Enable the GCS target feature to permit gcspop instructions to be used. --__attribute__((target("gcs"))) -+__attribute__((target("+gcs"))) - #endif - static _Unwind_Reason_Code - unwind_phase2_forced(unw_context_t *uc, unw_cursor_t *cursor, ---- a/src/llvm-project/libunwind/src/cet_unwind.h -+++ b/src/llvm-project/libunwind/src/cet_unwind.h -@@ -42,7 +42,8 @@ - #include - - // We can only use GCS if arm_acle.h defines the GCS intrinsics. --#ifdef _CHKFEAT_GCS -+// Enable gcs with clang for now, gcc does not build unwindlevel1.c correctly -+#if defined(_CHKFEAT_GCS) && defined(__clang__) - #define _LIBUNWIND_USE_GCS 1 - #endif - diff --git a/meta/recipes-devtools/rust/rust-llvm/0001-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch b/meta/recipes-devtools/rust/rust-llvm/0001-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch deleted file mode 100644 index 48af6fc283..0000000000 --- a/meta/recipes-devtools/rust/rust-llvm/0001-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 86940d87026432683fb6741cd8a34d3b9b18e40d Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Fri, 27 Nov 2020 10:11:08 +0000 -Subject: [PATCH] AsmMatcherEmitter: sort ClassInfo lists by name as well - -Otherwise, there are instances which are identical in -every other field and therefore sort non-reproducibly -(which breaks binary and source reproducibiliy). - -Upstream-Status: Submitted [https://reviews.llvm.org/D97477] -Signed-off-by: Alexander Kanavin ---- - llvm/utils/TableGen/AsmMatcherEmitter.cpp | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/llvm/utils/TableGen/AsmMatcherEmitter.cpp b/llvm/utils/TableGen/AsmMatcherEmitter.cpp -index ccf0959389b..1f801e83b7d 100644 ---- a/llvm/utils/TableGen/AsmMatcherEmitter.cpp -+++ b/llvm/utils/TableGen/AsmMatcherEmitter.cpp -@@ -359,7 +359,10 @@ public: - // name of a class shouldn't be significant. However, some of the backends - // accidentally rely on this behaviour, so it will have to stay like this - // until they are fixed. -- return ValueName < RHS.ValueName; -+ if (ValueName != RHS.ValueName) -+ return ValueName < RHS.ValueName; -+ // All else being equal, we should sort by name, for source and binary reproducibility -+ return Name < RHS.Name; - } - }; - diff --git a/meta/recipes-devtools/rust/rust-llvm/0002-llvm-allow-env-override-of-exe-path.patch b/meta/recipes-devtools/rust/rust-llvm/0002-llvm-allow-env-override-of-exe-path.patch deleted file mode 100644 index 9be26677a9..0000000000 --- a/meta/recipes-devtools/rust/rust-llvm/0002-llvm-allow-env-override-of-exe-path.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 7111770e8290082530d920e120995bf81431b0aa Mon Sep 17 00:00:00 2001 -From: Martin Kelly -Date: Fri, 19 May 2017 00:22:57 -0700 -Subject: [PATCH 12/18] llvm: allow env override of exe path - -When using a native llvm-config from inside a sysroot, we need llvm-config to -return the libraries, include directories, etc. from inside the sysroot rather -than from the native sysroot. Thus provide an env override for calling -llvm-config from a target sysroot. - -Upstream-Status: Inappropriate [oe-core specific] -Signed-off-by: Martin Kelly -Signed-off-by: Khem Raj ---- - llvm/tools/llvm-config/llvm-config.cpp | 7 +++++++ - 1 file changed, 7 insertions(+) - ---- a/llvm/tools/llvm-config/llvm-config.cpp -+++ b/llvm/tools/llvm-config/llvm-config.cpp -@@ -226,6 +226,13 @@ Typical components:\n\ - - /// Compute the path to the main executable. - std::string GetExecutablePath(const char *Argv0) { -+ // Hack for Yocto: we need to override the root path when we are using -+ // llvm-config from within a target sysroot. -+ const char *Sysroot = std::getenv("YOCTO_ALTERNATE_EXE_PATH"); -+ if (Sysroot != nullptr) { -+ return Sysroot; -+ } -+ - // This just needs to be some symbol in the binary; C++ doesn't - // allow taking the address of ::main however. - void *P = (void *)(intptr_t)GetExecutablePath; diff --git a/meta/recipes-devtools/rust/rust-llvm_1.90.0.bb b/meta/recipes-devtools/rust/rust-llvm_1.90.0.bb deleted file mode 100644 index 42d4031da1..0000000000 --- a/meta/recipes-devtools/rust/rust-llvm_1.90.0.bb +++ /dev/null @@ -1,98 +0,0 @@ -SUMMARY = "LLVM compiler framework (packaged with rust)" -LICENSE ?= "Apache-2.0-with-LLVM-exception" -HOMEPAGE = "http://www.rust-lang.org" - -# check src/llvm-project/llvm/CMakeLists.txt for llvm version in use -# -LLVM_RELEASE = "20.1.8" - -require rust-source.inc - -SRC_URI += "file://0002-llvm-allow-env-override-of-exe-path.patch;striplevel=2 \ - file://0001-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch;striplevel=2 \ - " - -S = "${RUSTSRC}/src/llvm-project/llvm" - -LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=8a15a0759ef07f2682d2ba4b893c9afe" - -inherit cmake - -DEPENDS += "ninja-native rust-llvm-native" - -ARM_INSTRUCTION_SET:armv5 = "arm" -ARM_INSTRUCTION_SET:armv4t = "arm" - -# rustc_llvm with debug info is not recognized as a valid crate that's -# generated by rust-llvm-native. -CFLAGS:remove = "-g" -CXXFLAGS:remove = "-g" - -LLVM_DIR = "llvm${LLVM_RELEASE}" - -RUST_LLVM_TARGETS ?= "ARM;AArch64;Mips;PowerPC;RISCV;X86" - -EXTRA_OECMAKE = " \ - -DCMAKE_BUILD_TYPE=Release \ - -DLLVM_TARGETS_TO_BUILD='${RUST_LLVM_TARGETS}' \ - -DLLVM_BUILD_DOCS=OFF \ - -DLLVM_ENABLE_TERMINFO=OFF \ - -DLLVM_ENABLE_ZLIB=OFF \ - -DLLVM_ENABLE_ZSTD=OFF \ - -DLLVM_ENABLE_LIBXML2=OFF \ - -DLLVM_ENABLE_FFI=OFF \ - -DLLVM_ENABLE_LIBEDIT=OFF \ - -DLLVM_INSTALL_UTILS=ON \ - -DLLVM_BUILD_EXAMPLES=OFF \ - -DLLVM_BUILD_LLVM_DYLIB=ON \ - -DLLVM_LINK_LLVM_DYLIB=ON \ - -DLLVM_INCLUDE_EXAMPLES=OFF \ - -DLLVM_BUILD_TESTS=OFF \ - -DLLVM_INCLUDE_TESTS=OFF \ - -DLLVM_INCLUDE_BENCHMARKS=OFF \ - -DLLVM_TARGET_ARCH=${TARGET_ARCH} \ - -DCMAKE_INSTALL_PREFIX:PATH=${libdir}/llvm-rust \ -" - -# Forcibly disable the detection of these packages as otherwise -# it will look at the host Python install -EXTRA_OECMAKE += "\ - -DPY_PYGMENTS_FOUND=OFF \ - -DPY_PYGMENTS_LEXERS_C_CPP_FOUND=OFF \ - -DPY_YAML_FOUND=OFF \ -" - -EXTRA_OECMAKE:append:class-target = "\ - -DLLVM_BUILD_TOOLS=OFF \ - -DLLVM_TABLEGEN=${STAGING_LIBDIR_NATIVE}/llvm-rust/bin/llvm-tblgen \ - -DLLVM_CONFIG_PATH=${STAGING_LIBDIR_NATIVE}/llvm-rust/bin/llvm-config \ -" - -EXTRA_OECMAKE:append:class-nativesdk = "\ - -DLLVM_BUILD_TOOLS=OFF \ - -DLLVM_TABLEGEN=${STAGING_LIBDIR_NATIVE}/llvm-rust/bin/llvm-tblgen \ - -DLLVM_CONFIG_PATH=${STAGING_LIBDIR_NATIVE}/llvm-rust/bin/llvm-config \ -" - -# The debug symbols are huge here (>2GB) so suppress them since they -# provide almost no value. If you really need them then override this -INHIBIT_PACKAGE_DEBUG_SPLIT = "1" - -export YOCTO_ALTERNATE_EXE_PATH = "${STAGING_LIBDIR}/llvm-rust/bin/llvm-config" - -do_install:append () { - # we don't need any of this stuff to build Rust - rm -rf "${D}/usr/lib/cmake" -} - -PACKAGES =+ "${PN}-bugpointpasses ${PN}-llvmhello ${PN}-liblto" - -# Add the extra locations to avoid the complaints about unpackaged files -FILES:${PN}-bugpointpasses = "${libdir}/llvm-rust/lib/BugpointPasses.so" -FILES:${PN}-llvmhello = "${libdir}/llvm-rust/lib/LLVMHello.so" -FILES:${PN}-liblto = "${libdir}/llvm-rust/lib/libLTO.so.*" -FILES:${PN}-staticdev =+ "${libdir}/llvm-rust/*/*.a" -FILES:${PN} += "${libdir}/libLLVM*.so.* ${libdir}/llvm-rust/lib/*.so.* ${libdir}/llvm-rust/bin" -FILES:${PN}-dev += "${datadir}/llvm ${libdir}/llvm-rust/lib/*.so ${libdir}/llvm-rust/include ${libdir}/llvm-rust/share ${libdir}/llvm-rust/lib/cmake" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/rust/rust-source.inc b/meta/recipes-devtools/rust/rust-source.inc index cf8274b443..ac814c67b6 100644 --- a/meta/recipes-devtools/rust/rust-source.inc +++ b/meta/recipes-devtools/rust/rust-source.inc @@ -7,7 +7,6 @@ SRC_URI += "https://static.rust-lang.org/dist/rustc-${RUST_VERSION}-src.tar.xz;n file://oeqa-selftest-Increase-timeout-in-process-sigpipe-ru.patch;patchdir=${RUSTSRC} \ file://0001-src-core-build_steps-tool.rs-switch-off-lto-for-rust.patch;patchdir=${RUSTSRC} \ file://revert-link-std-statically-in-rustc_driver-feature.patch;patchdir=${RUSTSRC} \ - file://0001-libunwind-Use-gcs-instead-of-gcs-target-attribute.patch;patchdir=${RUSTSRC} \ file://0001-riscv32-Define-plain-syscalls-as-their-time64-varian.patch;patchdir=${RUSTSRC} \ " SRC_URI[rust.sha256sum] = "6bfeaddd90ffda2f063492b092bfed925c4b8c701579baf4b1316e021470daac"