From patchwork Mon Aug 3 04:17:39 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Varatharajan, Deepesh" X-Patchwork-Id: 94268 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 9D119C55184 for ; Mon, 3 Aug 2026 04:18:16 +0000 (UTC) Received: from mx0a-0064b401.pphosted.com (mx0a-0064b401.pphosted.com [205.220.166.238]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.36425.1785730682466608411 for ; Sun, 02 Aug 2026 21:18:08 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@windriver.com header.s=PPS06212021 header.b=sx+gW8g+; spf=temperror, err=temporary DNS error (domain: windriver.com, ip: 205.220.166.238, mailfrom: prvs=267553595e=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 6731um03181757 for ; Sun, 2 Aug 2026 21:18:02 -0700 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=kQdpW0lToFpdOrEv5j9+c7HIuLNLEl3NKLYRu2AZ3Ks=; b= sx+gW8g+yebxUBhAGlcq+S21NDNp95Vmkep9vYrXOxJLHrwwqmCbQMe30Ons9qyh dxRGrIRZVCihUXugxALaqf4Ge1ezZPKSCbNW+BKN4nySiXNKt9Vv6aMJKJmsw/zH AEtr3thYrST9XjROuUkbJgbL6yXZDe6B7GSBZ0E2FogTCkHQ9HNH73kai8iJT+NM csgLCGlMUUgLP/ESlgV7vZPrft4R/bEi4SHy2QffsEMNY3nqg5ut8Mj1yPtBtdwV dA+LpR+xZi09XqSHUPWpxXhLBIArxV4N+HhLXKQLBhOS9OSTLZBDZpuZggZ3njmO Wyh7M3YWu/uXF9xCxLFm8A== Received: from sa9pr02cu001.outbound.protection.outlook.com (mail-southcentralusazon11013025.outbound.protection.outlook.com [40.93.196.25]) by mx0a-0064b401.pphosted.com (PPS) with ESMTPS id 4fsc31hpvr-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT) for ; Sun, 02 Aug 2026 21:18:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=t3u9bz1aVSXjnEag+TIGO53WZ/hVUaMghbwrBk4deTIO4vIR+Gl0i86ZwOcvHVBhA9m6dkEoj7yROU1zMXyzJ1CUiC+qg6ur2NChhF6aEIqbQaAL6tY9OqZkp+wlk1hnovnJ3eCr26e809CdjNIpCoA8C1BRV+iAbZUdzfuqOZLWU2MArxoucCjd9fmnYHF+sBgIEi3T5Qr26syfltsOpvbgiEX3DCW4mw8I6HJpzRsJQumX5mXzAPhMKhwxHmiRTIBX1cQwUaY7S5cgOBJZcG7MkHUerMX7GAP1L2Hcv3fSS6HROlZNyQ45/wkxR/Bd/FP5O8zCGH9W0Rg6Cviebg== 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=kQdpW0lToFpdOrEv5j9+c7HIuLNLEl3NKLYRu2AZ3Ks=; b=QmlYxBCrHmSjWMCb6wljqepZWoyj6pj13OQU81n46mQTDZOcUHPeRSFiVPWgIxcoA3JpZjRTe7LfKRoih5nw7RCG+fFoUvl9L1bj5ngc+8fBVdvQ2Wbj+A+KxkhGNiIL/foTsUgH/Kwr+c17mwzTxMS1sYBw+ngDkK+uVcRJYDSkeyEODJtZ5fl6gqNPju44SzY8xIdJLFSBlhRTD6S4YnVbmMb4FFRYsTkvzOiijrdApjdUZuyxB7d3apMZAqBRX6e/3un2waI/mz6rEsncGCmpHHyxhwsShogWrluDeJJYQKqAExCgnpaFN+njj9CH5pJV1YrGc+0K0t1aY1wkFg== 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 SN7PR11MB6677.namprd11.prod.outlook.com (2603:10b6:806:26b::6) by MN2PR11MB4726.namprd11.prod.outlook.com (2603:10b6:208:269::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.270.16; Mon, 3 Aug 2026 04:18:00 +0000 Received: from SN7PR11MB6677.namprd11.prod.outlook.com ([fe80::490a:519b:d657:99ab]) by SN7PR11MB6677.namprd11.prod.outlook.com ([fe80::490a:519b:d657:99ab%4]) with mapi id 15.21.0270.016; Mon, 3 Aug 2026 04:18:00 +0000 From: Deepesh.Varatharajan@windriver.com To: openembedded-core@lists.openembedded.org Cc: Sundeep.Kokkonda@windriver.com, Deepesh.Varatharajan@windriver.com Subject: [PATCH 1/3] clang-tools-extra: disable tests Date: Sun, 2 Aug 2026 21:17:39 -0700 Message-ID: <20260803041741.790019-2-Deepesh.Varatharajan@windriver.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20260803041741.790019-1-Deepesh.Varatharajan@windriver.com> References: <20260803041741.790019-1-Deepesh.Varatharajan@windriver.com> X-ClientProxiedBy: BY1P220CA0050.NAMP220.PROD.OUTLOOK.COM (2603:10b6:a03:59e::12) To SN7PR11MB6677.namprd11.prod.outlook.com (2603:10b6:806:26b::6) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN7PR11MB6677:EE_|MN2PR11MB4726:EE_ X-MS-Office365-Filtering-Correlation-Id: 96e2ecca-fc5c-4cec-9ae3-08def1163441 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|52116014|376014|23010399003|56012099006|11063799006|10067099003|6133799003|22082099003|18002099003|38350700014; X-Microsoft-Antispam-Message-Info: F79KV3kLLgdIlcKbVpIXVkChZEYQ4DeEnJhX9CV9shmrehOQlefqFJ0X2C4LIYYz+V8J62Oi8zKfWX6A/lWPZwXtMTdC13wMiiUF0GrHwJ1h85YiwRxy67lgKiMVU7AwwxZsYiZBcmMHIm+k/r4WPugj5ePU9Sp5sCq3KGK0AZbR5KunW6lrR9uPVxYj/bSP2Sy23wvwlyjssNIqoSO0Y07ymUPFb0PN/b86FfgTesLvVt+wfBv6ay/zaK/+U4WMrYEMm+8ya2VFg4zKrnqEsCINRxT2GKEtEUKHXv61xGn4RdjGO3YgFgMFwsGF9B4JUB4kih+sz0A/PMuSwHoC8KAzkPq5yXIfRWCNDF/EOW/6IKrkQCeL1aXiJA0JBUPBU7kb4gzCKO/RBPnnUF9MXnnCgPVU6KkYCWWqUbPjK70nrMRQWWIyQ80I0c27cNE5c2ON+uklUpyuwEG2RYlWMfjsF/Jz+2KrIKOCuywB9DgCH4kcxd23ayfjwqLI1VOkbKjSSQrAgHlwId0lHipYfRUB3P4ef54aqsh5CPiu1LQuJltLS3ubrtE7ecs/6uXJkD1uxKJbRHAYGu8ygQVk9OAt0q0rUl6zbHiSMCyKWEjy6GAbDDQ5UtIVqlaTWIkCozOc8EeE+jYEQ6WEjCRVW4OvEIuK1JGwd0OFxqqi0A1NxMompr1otKyhAhwFfEWlmpeKmmGpfEyG4chh61JtnZY9LZCzO6ZGuNjI3ZbbSiU= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN7PR11MB6677.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(52116014)(376014)(23010399003)(56012099006)(11063799006)(10067099003)(6133799003)(22082099003)(18002099003)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: /noTqxsMRCS2eBI/ZPDuFC9mTW26nr9a7iL6kCWRtwHUMtAVFt25xY5ObdxDN+8ztgHsKWjiPilfDtN98cgURHM5mylcUcnLfhgRhaMvBW3SE9vdptB149rF1ObIKRVpVLshRZEOTooQ2zC6dzPxwldHhIOkn1zCX7+iVSEk6c6hA4j5u/POx/YWSLbca6NDkzh3wHvkCLYxII/sIBaMEK939+mXUY48JpnLNP+6i1kd/vt2XQEimSIlPHDgSe2Hwtrayc6SFHSb6BzMDce8wavSZbK1EoQACki2m3R8l7a1b5E3UCO2Tn1gOoWaoCHlL81aCrWMqXaFLbFmisW7XBjUqxasnm+2QCRjnDmG/iUvYBq7VogBFfR+kvuOV1NINs/uJbMhEsL7Z7CW+l9tr+RBf6G/qs/3i3TiN4aVNK3hnXzksFyut+1Ot70ZCPzMBRemAWMDXRDjdB1JGL7B8U0tx+Ks4Yk4VpmaAUJChZrR0aXjBa1BUlxNHxmLEDYAH7RGFid6e6Fkr774p4uuvUU4JFMH1sa9eL5EWnkI4yrn3/rl5/fc/CiLLqIe8Bho1n5khlSwJa8mnu/pSDAr9YfwFIZWYj/mEWGrAcfDLVxnIvJWl+m27Ky5ZhqEeJSw9OL4ze9tiBKFmg0KM/K1QSqXpj4xBy77B3vPf0KMS2abCfDJaqb1WF+fliEisSzUZPGYQUDWkBln+ZrykmLv6WQwOdyip0slYCRq2T+p0o4/1f15INwLytMAzx/ETTMaJOi8X/9zhBIhrItBbeqs5Osg/oxpbLLG+j6/oADWyWMmRvHG93BANfmrLOhV2Lm8CDt1UAbgYxeS3q0Pw+n20snoOKHi/pSX/vXtsJOOxCJb8M38wLOPI7NELLpH8HF+FmiCXgWPQRH0K79W4Z+e8pcOXr4LxKyNgNM5bnlVsPql7gUF3U+5NeIWetL1Tc1WC9dA+Oguh+2qmDCi/9DUKZ+KfjW9jhPeOlBa+bJ7+QHzr8gnM1b7m8Dah+BznrNbIIa0hTNYEaVdQW/nqRhVFFGVgU+SnRM6ivhkeBdldS7hXWAQw3/rHL70S8lsvc8M2qnVPUKkaTHFUrttskp9nKpwRUiRMbaVo2VUmra1qNVHVteD3GdDmilO3YKz89K/QOkgmb8pG3f0I8tGg4qGWm/uI9vzFfU15pz8MnlDIw1jsSXutKACRNtsG8EaXm7HPmPKfPsnWgucaft6Vs3KoigERvOvbe48+9J0t7xgiQx214uBiFWTTbVVOXDcSzlN5d8HzpFTpg0Ks5wg7HQPTYdY3jefQEiv1KSLBpRm/R6J4tE2up/kadv/7GqnO+kTxyikN86+m4mFGxgFW5/ZERdTN2E1YHnzCTk6Ph8DICec8OnEGKh2b5bhgVAov03KxLPImomG4gjDnO+S3VXoXsTST8/h7Lmyjh3a1DaHSjJBhWOH0XcE1vJXeV83O2B/NoScvY8uppVd9xJGIt07KG1Rq3Q+oSJyGouhfWM9jPuKE5lYMDDRDTTMQECJDW5E4VFDcs8r+BzuRPI4naQT+xg9GTSR5T7tktY/GCYYfmJUBVKRnz7AUNpIcYTvkCOmKQyKP1XswvUqQqfEIBiUgSw8RYrc0YlFhOdQTC5XusB6yV/lagXTE0nIQTA+K+NPUwwBm4nOSqID9bndsXxEppP3IFNEluRxAd06ByPHAaoWw0lNT7nDn4+rV9N2+LPc5pq//20YCf3Dzi9MGxmzwlkqPt+Rrspg+P+1KHFsWq2+rKA5crHbrPr6HDUeZ+vl X-Exchange-RoutingPolicyChecked: XAz9vlJENXxbBYeh3g4YK6nKMEZ6DBcFkIdZtjSKjTWrZsAGkoIHgK4dXS/BFS2xHY8m9Vwl1BJRxynOW49XMQ9PMhEGmiWIH4+B/uv+9iDp4JnhR+il5Pwlbm0ex7iKMaLE3Xc35/O5hxyMM+eOUugksJRHyEqTHWIp82N4/xrtnbvXi98J/azaiVm4bFqG4zh6/V4ghvWzEujhFvgGu/n6fL+4f1yFWzMIY1UObwoP+nJ/wR45getGX+Zaks/UTJi8Apu0Gp8O5hnMFzvSxX13PkdA4XenPWJTs5hdDeyFX+Z8c6Av1/mzggnplGuf0sAY4Og5+v97AhgYc4lglQ== X-OriginatorOrg: windriver.com X-MS-Exchange-CrossTenant-Network-Message-Id: 96e2ecca-fc5c-4cec-9ae3-08def1163441 X-MS-Exchange-CrossTenant-AuthSource: SN7PR11MB6677.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2026 04:18:00.2329 (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: ITBMTqYA/hdraeAWUm8RD9bqpd+feM+sucYhGJC9dABs/+vi1ADN0nY2e6rhTgDqXoj0K6nmg8Jxph/Nt2TwApgCZ4VJ2LEnIudseSVV04nrrB/fnDElMMZn+vbKPN7j X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB4726 X-Proofpoint-GUID: FBD6pQYD6GYqZ6w6SVDDklGFutNmB3aV X-Proofpoint-ORIG-GUID: FBD6pQYD6GYqZ6w6SVDDklGFutNmB3aV X-Authority-Analysis: v=2.4 cv=afFRWxot c=1 sm=1 tr=0 ts=6a701679 cx=c_pps a=XslAgrSL5Auaid5C2fKBmA==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=Sv0fKeRqtYgA:10 a=VkNPw1HP01LnGYTKEx00:22 a=bi6dqmuHe4P4UrxVR6um:22 a=HK-ge7EqtdluswH-FwHe:22 a=t7CeM3EgAAAA:8 a=IQOrjEw-PoaY6VFe8koA:9 a=FdTzh2GWekK77mhwV6Dw:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODAzMDAzNCBTYWx0ZWRfX04UdKwo/K2YA i4dSwRxlOAh2UjjUCRi0HKqXUXzafj9JKGM6QTRKbsgNAvYLskbwBJNNjzNFUdYe1kSeeG/pMB+ zhDixwlAeX2/K2R+HHUz6+1Vs5qIz7VTowB66Wcg6PXl3ZY+hObx1S6DJ0Wfm32LGxk1Qe9wCeG 7p3vPE4G8mN9z5o25kgdlx6bXMHQRZ1Ut0jYV3PUTMgMuABkG6ZEXyAKQB8H2LlGmZGtfmQ6iW3 FI4JBdE+//uC3S0K+okas0riWu1IzfB9LxHAogd2kq7k9kAiLJQ5x43njJj8ZY7+28l19MfpU+w 4dyUMbSXfzB2DrrwMkqJsl2O3C7ok/uopF/sgK0PZ8ZeiKKTaaMZjxahm59+EG8EGEYS5kctQpq qHv5u/6qvLeO9JB1BHXyzXJFx+GOKPDVEV7rI+hCLVKOyAP1ux8YdGymXld1bkGqNB9FikM06xN SdjhcA8ELS7O6+rvsKA== X-Proofpoint-Spam-Info: AW1haW4tMjYwODAzMDAzNCBTYWx0ZWRfXzCNtMGwJW3zG 03Mlvet2O04OBQibNtf6xVmpulDPMixpBC2Lk8WbZ+JIfnvWjL80rDkOUZg0JCUswxzloDepH46 uYu+mJLz5SrNo/Q0DMsoxBR6RLmMdhAD9XlBSsWA2LyO6qlpHFFT X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-02_06,2026-07-30_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 impostorscore=0 clxscore=1015 priorityscore=1501 phishscore=0 adultscore=0 malwarescore=0 spamscore=0 lowpriorityscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608030034 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Mon, 03 Aug 2026 04:18:16 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/242594 From: Deepesh Varatharajan clang-tools-extra tests depend on the llvm-bcanalyzer CMake target, which exists in LLVM's CMake project but is not visible when Clang is built separately. To run clang tests, disable clang-tools-extra tests for now. Signed-off-by: Deepesh Varatharajan --- .../0042-guard-clang-tools-extra-test.patch | 74 +++++++++++++++++++ meta/recipes-devtools/clang/common.inc | 1 + 2 files changed, 75 insertions(+) create mode 100644 meta/recipes-devtools/clang/clang/0042-guard-clang-tools-extra-test.patch diff --git a/meta/recipes-devtools/clang/clang/0042-guard-clang-tools-extra-test.patch b/meta/recipes-devtools/clang/clang/0042-guard-clang-tools-extra-test.patch new file mode 100644 index 0000000000..9b4e29ff64 --- /dev/null +++ b/meta/recipes-devtools/clang/clang/0042-guard-clang-tools-extra-test.patch @@ -0,0 +1,74 @@ +clang-tools-extra tests depend on the llvm-bcanalyzer CMake target, which +exists in LLVM's CMake project but is not visible when Clang is built +separately. To run clang tests, disable clang-tools-extra tests for now. + +Without this patch when CLANG_INCLUDE_TESTS is ON got the following error + +-------------------------------------------------------------------------------- +| CMake Error at ../clang/21.1.8/recipe-sysroot/usr/lib/cmake/llvm/AddLLVM.cmake:2113 (add_dependencies): +| The dependency target "llvm-bcanalyzer" of target +| "check-clang-extra-clang-tidy-infrastructure-header-filter-from-config-file-simple" +| does not exist. +| Call Stack (most recent call first): +| ../clang/21.1.8/recipe-sysroot/usr/lib/cmake/llvm/AddLLVM.cmake:2221 (add_lit_target) +| tools/extra/test/CMakeLists.txt:87 (add_lit_testsuites) +| +| CMake Error at ../clang/21.1.8/recipe-sysroot/usr/lib/cmake/llvm/AddLLVM.cmake:2113 (add_dependencies): +| The dependency target "llvm-bcanalyzer" of target +| "check-clang-extra-modularize" does not exist. +| Call Stack (most recent call first): +| ../clang/21.1.8/recipe-sysroot/usr/lib/cmake/llvm/AddLLVM.cmake:2221 (add_lit_target) +| tools/extra/test/CMakeLists.txt:87 (add_lit_testsuites) +------------------------------------------------------------------------------- + +Upstream-Status: Inappropriate [OE-Specific] +Signed-off-by: Deepesh Varatharajan + +diff --git a/clang-tools-extra/CMakeLists.txt b/clang-tools-extra/CMakeLists.txt +index 6b6f2b1..26e4c10 100644 +--- a/clang-tools-extra/CMakeLists.txt ++++ b/clang-tools-extra/CMakeLists.txt +@@ -8,7 +8,7 @@ include(GNUInstallDirs) + option(CLANG_TIDY_ENABLE_QUERY_BASED_CUSTOM_CHECKS + "Enable query-based custom checks in clang-tidy" ON) + +-if(CLANG_INCLUDE_TESTS) ++if(CLANG_TOOLS_EXTRA_INCLUDE_TESTS) + umbrella_lit_testsuite_begin(check-clang-tools) + + option(CLANG_TOOLS_TEST_USE_VG "Run Clang tools' tests under Valgrind" OFF) +@@ -45,7 +45,7 @@ if (CLANG_ENABLE_CLANGD) + endif() + + # Add the common testsuite after all the tools. +-if(CLANG_INCLUDE_TESTS) ++if(CLANG_TOOLS_EXTRA_INCLUDE_TESTS) + add_subdirectory(test) + add_subdirectory(unittests) + umbrella_lit_testsuite_end(check-clang-tools) +diff --git a/clang-tools-extra/include-cleaner/CMakeLists.txt b/clang-tools-extra/include-cleaner/CMakeLists.txt +index dc147f9..4855577 100644 +--- a/clang-tools-extra/include-cleaner/CMakeLists.txt ++++ b/clang-tools-extra/include-cleaner/CMakeLists.txt +@@ -1,7 +1,7 @@ + include_directories(include) + add_subdirectory(lib) + add_subdirectory(tool) +-if(CLANG_INCLUDE_TESTS) ++if(CLANG_TOOLS_EXTRA_INCLUDE_TESTS) + add_subdirectory(test) + add_subdirectory(unittests) + endif() +diff --git a/clang-tools-extra/clangd/CMakeLists.txt b/clang-tools-extra/clangd/CMakeLists.txt +index a1e9da4..94dcb96 100644 +--- a/clang-tools-extra/clangd/CMakeLists.txt ++++ b/clang-tools-extra/clangd/CMakeLists.txt +@@ -215,7 +215,7 @@ endif() + option(CLANGD_BUILD_DEXP "Build the dexp tool as part of Clangd" ON) + llvm_canonicalize_cmake_booleans(CLANGD_BUILD_DEXP) + +-if(CLANG_INCLUDE_TESTS) ++if(CLANG_TOOLS_EXTRA_INCLUDE_TESTS) + add_subdirectory(test) + add_subdirectory(unittests) + endif() diff --git a/meta/recipes-devtools/clang/common.inc b/meta/recipes-devtools/clang/common.inc index 441ea099a9..d623990eca 100644 --- a/meta/recipes-devtools/clang/common.inc +++ b/meta/recipes-devtools/clang/common.inc @@ -60,6 +60,7 @@ SRC_URI = "\ file://0039-Rename-UNUSED-and-UNKNOWN-elements-of-OffloadArch-enum.patch \ file://0040-libcxxabi-declare-__gnu_unwind_frame-in-cxa_personal.patch \ file://0041-Consolidate-and-fix-sysroot-based-compiler-rt-search.patch \ + file://0042-guard-clang-tools-extra-test.patch \ " # Fallback to no-PIE if not set GCCPIE ??= "" From patchwork Mon Aug 3 04:17:40 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Varatharajan, Deepesh" X-Patchwork-Id: 94266 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 33FE2C5516F for ; Mon, 3 Aug 2026 04:18:16 +0000 (UTC) Received: from mx0a-0064b401.pphosted.com (mx0a-0064b401.pphosted.com [205.220.166.238]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.36426.1785730683885379643 for ; Sun, 02 Aug 2026 21:18:08 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@windriver.com header.s=PPS06212021 header.b=rgvwISvf; spf=temperror, err=temporary DNS error (domain: windriver.com, ip: 205.220.166.238, mailfrom: prvs=267553595e=deepesh.varatharajan@windriver.com) Received: from pps.filterd (m0250809.ppops.net [127.0.0.1]) by mx0a-0064b401.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6734DCoe455874 for ; Sun, 2 Aug 2026 21:18:03 -0700 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=pD47tWxsLYuRs5smGShBhL+SMvTFNSEJIrMbKT0tzP8=; b= rgvwISvfwNUhtwa6BzSQOMdqnHi2jvoYeP3GbQxxgMke4CtxH/sdTul4sM/8oAKl Gqm7vgIDjHmhPkhG4B7HGSCY+N7PcTjefGZvd1JFRuXxCdj7X/RP0XngHCWVBbk6 6205+Tg59Y2kDqssR9U54nTGyGNzQO0HmIOChm3S+1CblYP4eA0gJLPUdUhkmUxc dcZ04uFyBzfr7w4+gekRFiCG7iTHVv/CNngc3BN+uEp1AHRjFYa03lRGUP1c3ljv Vahz+uLxoO77yYUa55BguLCzeuWNVSwFtxoTBD6kjGgCDvDJOcjg3fwCYG0P8rzT Hb4bekik8lg1W6O1GXq8eQ== Received: from sa9pr02cu001.outbound.protection.outlook.com (mail-southcentralusazon11013038.outbound.protection.outlook.com [40.93.196.38]) by mx0a-0064b401.pphosted.com (PPS) with ESMTPS id 4fsgah1hjr-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT) for ; Sun, 02 Aug 2026 21:18:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=j7VFtZIvSj8awbxn5KlfUsQ60S9OXF2ejxLYic64SIydhc3soXIZ9F7+opyCPwq7C5RF+Z2C1I54SxL6x00Z3Yny2w/DJ4NTrqv3K2SKDNphVObn84E3tnRuJboV+9iVlsfKgvgP/cSQ8J8ISVGZUcUR7ev0dBQ2xUzs7tk3/4Gp75m+/kKYeUugk8epuU3AIF6M3vHKt+fe6Ahn2ZKbEC9oUOrtc93Ngqdkd6r9mFo+FrFJa9zue2BmNoGo3VV+WlaYDEsjyG74Q188xrNtcUaGqUuzKdXUdgCqHk5LAvTn3maOwjezhUfwiQInbveCDWumFAGGpi75HJAR61U/4Q== 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=pD47tWxsLYuRs5smGShBhL+SMvTFNSEJIrMbKT0tzP8=; b=YFq2ZOhyW6rRqngkf9+3dCgm5M/GASjsRq1Gu7Zex7hJRpwgWcJssWHW6cNecO8pJCAIsp+bARk/rhq1ljjJlvqmruOSx8qoUEFRX9KbcZN5wCz7CDphE1qw36ecuZ0w4/wZ7ST0ZKYrbkcYMGmRxBobX341PCogSxP1N/QzXrQ01YM3cxqfYbQBmjcwEqGK6z01YjL62SLUHAmHVlATyNtl26T99h4tSNN/bLqpvAXuVHFfpncGN9TaVa7MJhZi8uSO7YzAkLi78lJuZkwQ6EcID1ThJXz/PjTffxk4Knr1vnBb5BvkHcOqJTlrcSBWJ/cBWXZG5niyTK9Qzl6hfQ== 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 SN7PR11MB6677.namprd11.prod.outlook.com (2603:10b6:806:26b::6) by MN2PR11MB4726.namprd11.prod.outlook.com (2603:10b6:208:269::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.270.16; Mon, 3 Aug 2026 04:18:02 +0000 Received: from SN7PR11MB6677.namprd11.prod.outlook.com ([fe80::490a:519b:d657:99ab]) by SN7PR11MB6677.namprd11.prod.outlook.com ([fe80::490a:519b:d657:99ab%4]) with mapi id 15.21.0270.016; Mon, 3 Aug 2026 04:18:01 +0000 From: Deepesh.Varatharajan@windriver.com To: openembedded-core@lists.openembedded.org Cc: Sundeep.Kokkonda@windriver.com, Deepesh.Varatharajan@windriver.com Subject: [PATCH 2/3] clang: Enable cmake flags for llvm, clang, lld tests Date: Sun, 2 Aug 2026 21:17:40 -0700 Message-ID: <20260803041741.790019-3-Deepesh.Varatharajan@windriver.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20260803041741.790019-1-Deepesh.Varatharajan@windriver.com> References: <20260803041741.790019-1-Deepesh.Varatharajan@windriver.com> X-ClientProxiedBy: BY1P220CA0050.NAMP220.PROD.OUTLOOK.COM (2603:10b6:a03:59e::12) To SN7PR11MB6677.namprd11.prod.outlook.com (2603:10b6:806:26b::6) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN7PR11MB6677:EE_|MN2PR11MB4726:EE_ X-MS-Office365-Filtering-Correlation-Id: e2b7b685-6f01-407d-eb3e-08def1163538 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|52116014|376014|23010399003|56012099006|11063799006|10067099003|6133799003|22082099003|18002099003|38350700014; X-Microsoft-Antispam-Message-Info: ybLR1Z+maC9cnQZXLTMQ7I2YpNQXaW+O6lOt/5r1iPMhYzSMlTQTC6aOI8SWx7DXKLtBm8OPcCRjxuBjYZVG/nQpzOEyk8rYhAA378Skfcem266mrNjjEYUdCxCkTwDRkZ5MhfNF9zQAY2cQRcRD8nZy7NHNBdNJ1pYucDLqPiMOiOYZMAJUxTC14tUD9IFb7iOXAHAmo0YYsZIx7zNlZ7IUMtw5tanUS55B9qaZIjwUpqpnTs3sXCUHEAtriIQ6pKB7FFW+cNMCYrnIM/ulvpe4CVfX1llsGQ8TZrDlQkB2ZLs5GOtIgjPrqFVF8QnkWrTx3cOdI0dQrSCcbHqpOe9Nr+meZO24FD4PXmcfLkSMrLk4UGuuLSqpRiDtGoGIcUCmdE7Ps0LRQAWKFgKXetKmekahWcrIV305Kuzt1MT7/948DJSMSCotkQ2QzJk/f/89EqGxfxA8rpUBxmjw/4q8rQnOwuUUVT1yCliY0/yYd9SllFKrF3jIG5FAnZTke5Jp2ZaHkf9U1WWJuvSCQsLT51vMh5aiMK2mhd2syVE0FlKam/1anJuwIU8K3JDY71gFipln75LnufeY5yC177A3VBuN0p6GG/IN0WoQZS8JXWttSBrbNiXGkzUC3yvspuXP8/ghK0mEIcXbygYMSjyd2o+YMI+X4Q0dIdEiCOWdQHN1PC2m8A7y+zjm5QK2ec1SR3F8he2jY1K9zuUmwep9qGGn190rHuJn1wFLZDo= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN7PR11MB6677.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(52116014)(376014)(23010399003)(56012099006)(11063799006)(10067099003)(6133799003)(22082099003)(18002099003)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: KrY9CTxS5yXAI0GHJYT+IUUONIc+t3tJJG1UwxhxRtwIU5NaYU06kZaQqUIWdJRS18+QY0TdcpgjLPPeHdlRfwb2Kbptw+iVLpIXXsD/fJmCetiuxilmdnIrFb8e4patrA2UF1pz1QZCzXmv80ACzyRIInWRCkR/pG0t/ZCf+/NwNs6ANUXmVPSnAUsbxWjQfGL5cLeBuI+J5dNPjAEz1sSSnPp7TNH2BfWS8Npz2T3YFt9YQUxaP5NYVXa4wxSx/i+N3y6SaGScqI4n9SR3T0lMPLMlbyVIiLvxIwHw0dhs44Z2EB4LdHKjWSUGsJggzEShUAKY3VrVIV3+BeJ4KllcJgWRhOAvDIwMUD/zAaOIdXDZ9g2DN69lb+IJEBuoGX8cvaQtI1YfoGg2VAnzTBL6Ik03UBuuDsTmnXYO3dZFo+SBgsY2o6O+v7eq6TW1JKKTx++pPAOAWqlKXoswwNym/hb5YNPsjFz5YaFFAa5DksXdi2Un01iEvz9NGqw+LixdOPJ05oLI6EhNUZRnQ3UQxrzIC4GROwcMu6fyfpg54Gh6Z3xyO8+KL1pqU2EUIkLWOuOPI/OMyvtNo82wXiFlmEUb8RVNx7uBI9WTVBMvmnEGAqxULJEEvnjlhPRN4uvTLspjUVCcUjPL8v7l0xEX7H/2Z8I/utR1AQjAwl35C94ccAKDzGaBkF97JbX/umdRq77v4QUmv/hN6s7lsBFNWyQDK+Sblv9M+yGsRubk9Qo6AcIqubJCGLJJ1Xf/jjs0XD1Cy/SuowNdRiJE6sZyj3adeGZNi9KppiaQMfigENiFxofUuFtUpq7taViX0wUAXrYzviLKi1EY/3EB9zGz628xtsoYFQmPBmMPltANRvca9hcgoh9rEpeL/0qQimejMBymk0+oCt57tLyoTr7eCe2OU14rgqsGexmXAl+1LhFykY+9mg2p9q8SZ0h3I+vA1jqXOWWKLjO81ItLdM4lusT4l0zK2XbRdWu5w3FQJycoKaTEXqaRQ9nTJ3uFiuTJWfRWb4winK53B/mpMkdKgtDmz19clWI9F44XgJoa3k9U8Dj9ZEt+IZeqUCctM13HFOKYEp3FMhc8O7+E5WuPv1Y6Ol7RYwTUSXquAy6pZr9RG90ZPpV9l1ezobUoUjkO58k1J4KBq3Wirp8LZo+q92ve2C0ejXM/X1OUdmQ6aokELaG/A6wTsqPlttofxNApSY15o19Ryqrn49dOuPQDRrCzEAsv16iVwhDoYH6YSEWyNZnUsSdgXbnJoNuLRp9XO1PqgKfnwbn7DGweS/oOW7IwmoNEUKgGpxqkSggy198Lm0FFtLkuw1sWw5VxlDMbz7tSqgolffyirYMFdDcmSB++zG8ZuEYrIwY/7+8w4FRhnsZbGHY/WngTuYtkGgnDTRUAX4ee6kfJFfhpfmb7vdeHQiujf4FRvvSc4UDDdqVwWsQeUJsbvczGCYUtKWc98GeTdiPNdX4iRMejZVMW94vAWZNG8nYAZeXLhadT3iyV1sNZgkwByYWwJAilkONtBv7uRzrr5cIk1723by0GSFCqK8VWzrAEeRG9dDWcBIa6Mq6Bs3SuWhNNabMK+VvW5XpW2Ujy7/NBcwrqEmvSaDQXFWlEQ4RqjXvhI8jaEiWBU9gLck3mbZo/NDVwpN8llNdVMFMWm2xDDAbw0MB0HRC5SuohRvUm7xd60DHfrO4maMUoMZY/mohPKl7CnJVivjreTQ5VINSVvfYLii6DhcgMkz9kjTpxYmMvTPjkdrXvMCVw9LKhyCGyNuSf X-Exchange-RoutingPolicyChecked: kql0X0w3dGvVWB6CBU0fPzA3CfV3/49n55MUtVK3scy0kHgAY2XQAPN8gCje4EhtHHchEU9jtpMOXNy6osnlF/vYs1TZdIsn7zQUr0vazUWtTyCemdja3Apx7Md29rjBGPRyEGhRoOyJILBUlzJSEqRiAcqdvz87RHj8/eMFCjtuiKX7Hyjn6/v6jPM7R27QRDjLz302vrjvhI9wFl4f7WvojVe81RahQ/ViQuYOX23cDkPqoyOZxT25Xl3iA2TyjUaApdZacc/+oqAyNFCS2dYP82CZHJag68t7v/q9u08UHrGr4IluPUvFrU8xZEbKtl5b2qelcf6cLwJkkh7rIA== X-OriginatorOrg: windriver.com X-MS-Exchange-CrossTenant-Network-Message-Id: e2b7b685-6f01-407d-eb3e-08def1163538 X-MS-Exchange-CrossTenant-AuthSource: SN7PR11MB6677.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2026 04:18:01.8893 (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: TLq0HW1NMeL5+Ih/dMDoqKCPdwU1czWZqi3rDsHHtnr3TC00MwHFMiqXF1cMsv6oH0i9ineW/2NOeE37dELLz6SLlk3uVWueekI8hSLoRuvZkTfQcgzB5/3ZnJMVSzjw X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB4726 X-Authority-Analysis: v=2.4 cv=cYTiaHDM c=1 sm=1 tr=0 ts=6a70167b cx=c_pps a=iBoLJ+TzW6OYwHE2Vh/RVw==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=Sv0fKeRqtYgA:10 a=VkNPw1HP01LnGYTKEx00:22 a=bi6dqmuHe4P4UrxVR6um:22 a=iKiJcTA2PjBS6x5JeXcw:22 a=t7CeM3EgAAAA:8 a=Q7J_BWS0j0Z7kq5DsWMA:9 a=FdTzh2GWekK77mhwV6Dw:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODAzMDAzNCBTYWx0ZWRfX7LWtioeTMvl/ Zg81LbqWDAX0zBVgwdjMXFMZDRYP06ywt12MOO6GE+3L++/VvN/g8VTTivX2Q6X5/xOJ4F7QArG s91Kt3ZnJlgVm/ecHIklxWZpHw38G5nWPaGRoI3F1tKMEOesiKlfK+4UoFdWHWKPJQz2FuWKEbT pzRKtrOMy33C6l2XSW28Xi1ng8BG+LOwJcrevq+QJbSHTAhw9MB76t89bcMLjUXfX3AMPg6/dJa YDNPann6KtV6dn+E57qDfaXfFF+p+wdMbI1YyJs3MWofl0deqKvyAT0LqBP62Q35cmpz9NaDEkt he4ShO+ALP3rRDa1lkicPNz0nK96pOhdtGdAXl/5hm8UAPtALAsVDJjhJWz6b2ZMyOzcvHSWvb5 yotH4bGTVT/IZYvMc3wywnBvhugE+7ALhaWzgovJSWh0hlprH1b50cR4+Ed6A0cqp9gUBW7KiMD MHVdWZ/9jvPNQd2dNpw== X-Proofpoint-Spam-Info: AW1haW4tMjYwODAzMDAzNCBTYWx0ZWRfX17i5z18vk3J6 +atb2LIk7SiQ5ywNTe1h1qEICCarZ5fQgtW+YP0yrSTk26XIavpXNUMCfek4n1JAPKMnzxulS71 u0qjuEMPcquNEc5bxGj4MVf9IrpC39mZXlge/TNXyS5Wp4/S0d92 X-Proofpoint-ORIG-GUID: qTnH4WTA4e6ykhcmLAarU4WahkGr9FAl X-Proofpoint-GUID: qTnH4WTA4e6ykhcmLAarU4WahkGr9FAl X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-02_06,2026-07-30_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 spamscore=0 phishscore=0 priorityscore=1501 suspectscore=0 adultscore=0 clxscore=1015 impostorscore=0 lowpriorityscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608030034 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Mon, 03 Aug 2026 04:18:16 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/242596 From: Deepesh Varatharajan Enable the necessary CMake flags to build and run tests for LLVM, Clang and LLD. Install the LLVM target tools needed to run tests via llvm-lit inside QEMU only when CLANG_ENABLE_TESTSUITE = "1". Signed-off-by: Deepesh Varatharajan --- meta/recipes-devtools/clang/clang_git.bb | 8 ++++++++ meta/recipes-devtools/clang/lld_git.bb | 5 +++++ meta/recipes-devtools/clang/llvm_git.bb | 18 +++++++++++++++++- 3 files changed, 30 insertions(+), 1 deletion(-) diff --git a/meta/recipes-devtools/clang/clang_git.bb b/meta/recipes-devtools/clang/clang_git.bb index d55c59ffa0..a8c5e8cb2d 100644 --- a/meta/recipes-devtools/clang/clang_git.bb +++ b/meta/recipes-devtools/clang/clang_git.bb @@ -75,6 +75,14 @@ EXTRA_OECMAKE += "-DLLVM_ENABLE_ASSERTIONS=OFF \ -DCMAKE_STRIP=${STAGING_BINDIR_NATIVE}/llvm-strip \ " +CLANG_ENABLE_TESTSUITE ??= "0" +CLANG_TESTSUITE_FLAGS = "\ + -DCLANG_INCLUDE_TESTS=ON \ + -DLLVM_INCLUDE_TESTS=ON \ +" + +EXTRA_OECMAKE:append:class-target = " ${@bb.utils.contains('CLANG_ENABLE_TESTSUITE', '1', d.getVar('CLANG_TESTSUITE_FLAGS'), '', d)}" + DEPENDS = "llvm-tblgen-native llvm-native llvm binutils zlib zstd libffi libxml2 libxml2-native" DEPENDS:append:class-target = " ${@bb.utils.contains('TC_CXX_RUNTIME', 'llvm', 'compiler-rt libcxx', '', d)}" diff --git a/meta/recipes-devtools/clang/lld_git.bb b/meta/recipes-devtools/clang/lld_git.bb index ba36942790..8960cac2d3 100644 --- a/meta/recipes-devtools/clang/lld_git.bb +++ b/meta/recipes-devtools/clang/lld_git.bb @@ -19,4 +19,9 @@ OECMAKE_SOURCEPATH = "${S}/lld" EXTRA_OECMAKE += "-DLLVM_INCLUDE_TESTS=OFF -DLLVM_USE_SYMLINKS=ON \ -DLLVM_TABLEGEN_EXE=${STAGING_BINDIR_NATIVE}/llvm-tblgen" +CLANG_ENABLE_TESTSUITE ??= "0" +LLD_TESTSUITE_FLAGS = "-DLLVM_INCLUDE_TESTS=ON" + +EXTRA_OECMAKE:append:class-target = " ${@bb.utils.contains('CLANG_ENABLE_TESTSUITE', '1', d.getVar('LLD_TESTSUITE_FLAGS'), '', d)}" + BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/clang/llvm_git.bb b/meta/recipes-devtools/clang/llvm_git.bb index 96ea383731..e7823154b9 100644 --- a/meta/recipes-devtools/clang/llvm_git.bb +++ b/meta/recipes-devtools/clang/llvm_git.bb @@ -80,6 +80,18 @@ PACKAGECONFIG[opt-viewer] = "-DLLVM_TOOL_OPT_VIEWER_BUILD=ON,-DLLVM_TOOL_OPT_VIE PACKAGECONFIG[lto] = "-DLLVM_ENABLE_LTO=Full -DLLVM_BINUTILS_INCDIR=${STAGING_INCDIR},,binutils," PACKAGECONFIG[thin-lto] = "-DLLVM_ENABLE_LTO=Thin -DLLVM_BINUTILS_INCDIR=${STAGING_INCDIR},,binutils," +CLANG_ENABLE_TESTSUITE ??= "0" +LLVM_TESTSUITE_FLAGS = "\ + -DLLVM_BUILD_TESTS=ON \ + -DLLVM_INSTALL_GTEST=ON \ + -DLLVM_INCLUDE_TESTS=ON \ + -DLLVM_TOOL_LLVM_EXEGESIS_BUILD=ON \ + -DLLVM_TOOL_OBJ2YAML_BUILD=ON \ + -DLLVM_TOOL_YAML2OBJ_BUILD=ON \ + " + +EXTRA_OECMAKE:append:class-target = " ${@bb.utils.contains('CLANG_ENABLE_TESTSUITE', '1', d.getVar('LLVM_TESTSUITE_FLAGS'), '', d) } " + # LLVM debug symbols are very large (several gigabytes), reduce the debug level # so they're just hundreds of megabytes. DEBUG_LEVELFLAG = "-g1" @@ -118,7 +130,7 @@ do_install:append:class-native() { rm ${D}${bindir}/*-tblgen } -SYSROOT_PREPROCESS_FUNCS:append:class-target = " llvm_sysroot_preprocess" +SYSROOT_PREPROCESS_FUNCS:append:class-target = " llvm_sysroot_preprocess ${@bb.utils.contains('CLANG_ENABLE_TESTSUITE', '1', 'llvm_sysroot_preprocess_testsuite', '', d) }" SYSROOT_PREPROCESS_FUNCS:append:class-nativesdk = " llvm_sysroot_preprocess" llvm_sysroot_preprocess() { @@ -126,6 +138,10 @@ llvm_sysroot_preprocess() { install -m 0755 ${S}/llvm/tools/llvm-config/llvm-config ${SYSROOT_DESTDIR}${bindir_crossscripts}/ } +llvm_sysroot_preprocess_testsuite() { + install -m 0755 ${B}/bin/* ${SYSROOT_DESTDIR}${bindir}/ +} + FILES:${PN}-dev += "${libdir}/llvm-config" BBCLASSEXTEND = "native nativesdk" From patchwork Mon Aug 3 04:17:41 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Varatharajan, Deepesh" X-Patchwork-Id: 94267 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 34D96C55179 for ; Mon, 3 Aug 2026 04:18:16 +0000 (UTC) Received: from mx0a-0064b401.pphosted.com (mx0a-0064b401.pphosted.com [205.220.166.238]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.36428.1785730686190140526 for ; Sun, 02 Aug 2026 21:18:08 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@windriver.com header.s=PPS06212021 header.b=loLuMBLp; spf=temperror, err=temporary DNS error (domain: windriver.com, ip: 205.220.166.238, mailfrom: prvs=267553595e=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 6731um04181757 for ; Sun, 2 Aug 2026 21:18:05 -0700 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=QoU4l+JK/OPyoPfynXBDl3zPkB5jEzvQcgeA8u9Wvf0=; b= loLuMBLpqTtaCgCdiGqa6F+k9e7F/iKGygP8WQdn5WN8z84BnaspC1olfETpTghE 8GRe8zOtKiRE+Bu//EDrM9m4f4uI3p1WxtATjmqXaKi3pcmFx3ih8jYHFuBf559s frM5HgBl1M8O2gkJSDY6bmFaPqPolgmMK5ejZ1HQdVL4F5ds9df1OjlDIVtW6vLH l9epogrgr8vGw+mnCXHuCZherQs0kkQcDCBs8qCFjmS2AJcgw8VHE5BXJYpeA1Ik 8KAcfaIcEt9oG44OVXMxpFo/CcryXDJH/5dhw1AY4iEH2FRpo4Ne9pPM6J2Ic6co yc/td/d+dEG0D+s/MpOYhQ== Received: from sa9pr02cu001.outbound.protection.outlook.com (mail-southcentralusazon11013003.outbound.protection.outlook.com [40.93.196.3]) by mx0a-0064b401.pphosted.com (PPS) with ESMTPS id 4fsc31hpvu-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT) for ; Sun, 02 Aug 2026 21:18:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=cE8wR/AEoETqngfCsebYblyPIUw4/f9InTNxXgiKMCmMsVY3Pbg1IyR7fS179JiN88dF1C9lGE79o1yCd3Te7IeZXcrAgAEo/PgISNityn4bmv/4mVhj419VWrV0y5VqpbbLNoeyEeP8h77Q24F1ccvv5tV+bXgnXXKyWw/yyOoEe0KGYuwyWdbM/nWNymv42MrJTofjpcTJdOgFU5Uwx13GZs72TQHizHIKg3Mcmzf9nzsEv1r41uQnu9UOgKoRe1VvVLM9ESW4FXkqDZMl+DTUYp8tH/DOt0jHl9dnpiIv/vGA+JWFmNO65aaYsqKUD+CNvHXXiqurvIuO43u4vg== 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=QoU4l+JK/OPyoPfynXBDl3zPkB5jEzvQcgeA8u9Wvf0=; b=fCj1T5kKDh7EXvjtI3/zpQ8dYJOvjSZwdkj8tqLjGPVz3YVXv8kpbiNUdDCDR7Mu96SO3C2my4hcTypdn8ADMPuvH144b1dOVIkC9Y4uG/Rf5918hajiULoQl6WENZ87nioMjXu3O7S24ZK4HQWymZjr4IKtHUdqTimpNjDhHVHZNVD5rYAox4JIr0U2yWXOIP8T6gbJ2/qg4YH+c8mrRVrOmri7kWgyAGFAgu5L5yAIqkQWvgPdF5JAMFDGzyaDpW4uskPraRIkUE4BidkBfoz9ljLY22zlLsAssEOdq+KJu04Zky5huqmeH2j3WGQs54GY13uhJ1ZLJ/NEeWllBw== 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 SN7PR11MB6677.namprd11.prod.outlook.com (2603:10b6:806:26b::6) by MN2PR11MB4726.namprd11.prod.outlook.com (2603:10b6:208:269::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.270.16; Mon, 3 Aug 2026 04:18:03 +0000 Received: from SN7PR11MB6677.namprd11.prod.outlook.com ([fe80::490a:519b:d657:99ab]) by SN7PR11MB6677.namprd11.prod.outlook.com ([fe80::490a:519b:d657:99ab%4]) with mapi id 15.21.0270.016; Mon, 3 Aug 2026 04:18:03 +0000 From: Deepesh.Varatharajan@windriver.com To: openembedded-core@lists.openembedded.org Cc: Sundeep.Kokkonda@windriver.com, Deepesh.Varatharajan@windriver.com Subject: [PATCH 3/3] oeqa/selftest/clang: Add oe-selftests for Clang/LLVM/LLD test suites Date: Sun, 2 Aug 2026 21:17:41 -0700 Message-ID: <20260803041741.790019-4-Deepesh.Varatharajan@windriver.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20260803041741.790019-1-Deepesh.Varatharajan@windriver.com> References: <20260803041741.790019-1-Deepesh.Varatharajan@windriver.com> X-ClientProxiedBy: BY1P220CA0050.NAMP220.PROD.OUTLOOK.COM (2603:10b6:a03:59e::12) To SN7PR11MB6677.namprd11.prod.outlook.com (2603:10b6:806:26b::6) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN7PR11MB6677:EE_|MN2PR11MB4726:EE_ X-MS-Office365-Filtering-Correlation-Id: bb9aa065-f5bc-47c5-2cf7-08def1163664 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|52116014|376014|23010399003|56012099006|11063799006|21046099003|3023799007|10067099003|6133799003|22082099003|18002099003|38350700014; X-Microsoft-Antispam-Message-Info: FzCdOC6tDbk80Fs4G0lb/B+75JJp9ibCnIKJ9d0GxDyg7k2seBZ841G7KwQ2l2PRH/m0oC4c8t69ON407bHyZyT0Zdn5r2AMjkxbEt/u5G/BN5bEkFgM+dKU0zBAFSXu8P2sUbJMJHoCEuuf3CDwgvN2JIOQgIgAPMo591YqeiKyX5byvKaEcvxYBO/JDS4mZtTdea61zvlWqnBxq8R0b191uIdrwwFJVVMCK5bQ3mHgtZPUNW42qBJ8xpgBu4Pp4fzFQ6s1a8O64HIj6/1tsDM1I4P0okAgRNyp6+XSy8UoWelTuvis/zaoF0YHEf0M+y/Mh8OBk28jzM3Go4fMYCJ/9+c66XDbcJIR3OqvmQm8bEqEY03G6Ok0BiinDW3aUZvhHpy2xNpRR1W4vRcdxG5xdyl1XFpVM5aJqfiFtfi8Hq97rEPzfoe2i3rDkTLLHp98AuiveXrwfvo0FPKEN+mzLOiHMzy6Mcg1HfgGmRr/0tQmwoNNTdU0rFXfZwLM5OoF2FbZeMjLmrJqasklnjQRcX1HNpZq/syfkPT/zKfm8Iq4HstolqyFsY3CzE6KmAl6dDSrrPHi1l5nxaB2B9baBbm5Zt/rAD+HkPuWOaU6jSgx+zKQFyDCAuAedSKTIZX4UJW+SS/veXz75ed5KV8jTwPgid7XkDRohU2MPs6SZ+cz1e2a6159cfi1MENquUjO4TTG+GXyxt2Nu/bs+pl9/vhKnf04T0vuGpudwPU= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN7PR11MB6677.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(52116014)(376014)(23010399003)(56012099006)(11063799006)(21046099003)(3023799007)(10067099003)(6133799003)(22082099003)(18002099003)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: dGnixqBQZ8X1T9C0C1Cl7SUgMjsml4MHpe71YnezYSQj8DQs/U4irtkS2drb5XtoYwfdyOP9Y4A0GCynKQ02KW+zB0EoLhnzd6P815K8JagI3KT7m7VI3drdRRpRqIFhpsrAcjJKaYjmSq3WP/WX8ezbW3/7ap3YLU5uLCg7/mUQTVDDA23EMYhhnZXuijx4wJR9MVvHdGq/9P2P+ZPy/r/10CES588hZ0iPbETaIirfDsjnGrn48KrpSbg472Nj7FQLBCNJHSLUYDlKy3DaJCkTji0dFTirSvXk92ON8J9Je1ip6skabKjYmNzOa0f7yTi6CEj//cD9KU/6ida56bkEutHIwhXcQdThW3z0XuRGMITTmcQ73iCCzRq/0qjRNaDpHtXy0jT+C8MrDrfT8/8lf5SxSzlHvsTgMw17Gm1H/PB6rd42vjGdqINp1B6S2Mfu16CWHMTOoHmfArA6jAEJVgZyHxebelWjlXZ6Pk5iGCMrcbb3Gxzr18QpfiVFw2RE3Ro0trsx5JhnuqvXAtKYrRB+ghSPl7APf3ZsIeo4aqRrRzMd1k6LsUqQW6ESxEyTmMSm4itCfhfvpqHhlczSL/mRgjQos4sbBJec8WN/3vbOg1MF5j5JB8172Ftb1yFcW82wfxpMl4XTvV165OZaL+i9fjxpc4ROiveYe6blpHuOYFmfNMHk1ij1KaWlfY8R78hsiOmd0c4xP7CmYdiLUaI/Tb5egFX+i+fkcf2D+V9Vcx2eFJBbrS2iyudybr6OqCBj6C1DKbJjIAJMarzvWOg3qN0UDf0HHWNv/XqloRMpGs1buUzByDU8rlcElPSkXsDAxzCPRqxt3hXpB1zkFV8MBXOvgnO/JOEZXyD4agCBEP21MD1rGM/rsOvkMaBtPA1HhTtIgFPbhs7DEMMrmtrnPyWi8drRFTFB8aFEbAYCl+gwtoL0AT31O7bmT0wKlLLjLfzmKC7kuvOE1bOEmHV5PDG+AYM316CrXxBLB6cqFBp089BhYKVVB7j8gxFf4p+kn26iLK25DVEA0fSEK0JBQinADAJwykiJTTzXGU0F+zirouoI1tNUMoAj5puOwbGUEDcWpkt/lzvSn9en8OC2YTT3iy8kMndWPzCwCXndi014p4fEuURa2+f6XwO3IwCUEVR05BHrs4246cAQ/05R2GDhXQlq8LIoGq8O35yVVf23zGjwTRKhVzg0aGZaMF4g5yiOXIvYxDC3ybCKUdUpOWS0yFRxJmMpezPDkkbagUQQYjwD88hYH8UYTd8KU+JPI7YaNrx/eVW57miq7pBPgeBRSnZXfwMgdSKW8gTLQK7C0kHKgpL163PkQiHyJEuu3ZGRoetRwM5EJcvNhQcYD1ELZl8H1sxQIwmSH6uQTMO5bbu72RGfQqkGgam9iApXBTZIaFHun9LAJ/9rT5w7rdwSET8Q0+YYC90N/yizPlvZaMDzvr7xGwLt9rBDgdRpQPaq/TmfQPjQ4SVudeu3w8I8qoPMCXiXI9I29tBI7lkh6j6TILuWWjlgKpuCae31PsG2NAqMrC7mNnSk8IN3HAdFLkHNJ34sOfqpP0j00UVqIpz5PjXoiIDOP/xKs8mXO7QeQQhWBmXiippfzd9AUJxSkTaaGP/54iaFVaOYjZE32n6o8O3OJPk1Bn4fL/gzoN4SCtBayK+mdLU9fLClCBex7GQjKZ1akN+ehRgwiE4CVgAJEmE+9GjPXbFlX/8/iq45F9C7N/et2n4ZtrUg5hDY/Ie1nBcth6w98TItck+QwS50rUa1ORo/ X-Exchange-RoutingPolicyChecked: g0KGez5q6n/f1dS5aDqZDslAhKLv/Ce910+wtaqRAMJFrX3gL1i8cmte2cVoFUnTp6FMn3E/WCimeltRpWsyFVVySUPH4IWnCrbgBt+EtM+HZrLR7yMth/o0AXE8ZyMmPZYoTFcB0PXX93e0zE89BLh0q/PRyErMwo6Bixe9RUK69UsqICqNCHfS4mMN2pT5J6276Yemnj9RfBH72qZkEeQ+LQB1kGzPm6W/4iPkCX0YHcR9EbSZeH5mOUeXwwXyxpz2wAEqE1r+AMjPovPz1UeHh2wDpAAVBLPiNz5TzcuwEfJcVP1o04DO3kAORdUfPLJfrZe0GxVkkqHEiOeu+A== X-OriginatorOrg: windriver.com X-MS-Exchange-CrossTenant-Network-Message-Id: bb9aa065-f5bc-47c5-2cf7-08def1163664 X-MS-Exchange-CrossTenant-AuthSource: SN7PR11MB6677.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2026 04:18:03.8311 (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: c/fLtYBIKegSafeHSTOwxQtZYa9JapCUPfw8v77F8VIdHZW6wNkajtPdGNfNFuYi0XtRLxuhU1ka1z0DOz/pggMeSaiVW8Pbuit9yRKy7gTwTKyb5H2d1g9gqapsFYkb X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB4726 X-Proofpoint-GUID: 2UyRyVDeOGUq7CGe4mSy3BC5kYd7uFre X-Proofpoint-ORIG-GUID: 2UyRyVDeOGUq7CGe4mSy3BC5kYd7uFre X-Authority-Analysis: v=2.4 cv=afFRWxot c=1 sm=1 tr=0 ts=6a70167d cx=c_pps a=rjhVvYU/dOM9ArBm263f9w==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=Sv0fKeRqtYgA:10 a=VkNPw1HP01LnGYTKEx00:22 a=bi6dqmuHe4P4UrxVR6um:22 a=HK-ge7EqtdluswH-FwHe:22 a=t7CeM3EgAAAA:8 a=vt5UAA18XtpM3BQpoEEA:9 a=FdTzh2GWekK77mhwV6Dw:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODAzMDAzNCBTYWx0ZWRfX9A+AulfMbfuN 8oGsj1gaiOK8C5SnTZNO6REILs0mW/ijKwr5uHLrjGpiIUnwhxJ3PZ0CX+ono45/B5dYkPlfhcD 5znXZN8TUKER2eQmlSrxXxG+Hs+5hmc6PqmvhuUmD2e5h4E/2Jz1sWD90Kn/eYVWfUro5w/gyI5 ldzyUtO5qs1FHPcLRXNGYS1QCbM6nI/4ViXEvqqhsUiac0cnvj7pgvlJQPBEBg3XxZATRhWQmXm 2Oh8XMHz+Wf8cOfhtj2VC7k8QY2H8bmdWWI4vdV5k4Tb0HWQn8SPfLXWuR3sWSrZ8wXGvMzWji6 wBiwriegOW1loE6G8Lnykvctiy+qjqEp2SrpcXbQzO5fL1/dqRhYWDN9gd7e1VMfnyND+P1jUET /k+EKseZQGhEs6HbW9y1luLUjI6zlAtV67HBn7bC8CRFToKAeDwhedXUxhCR3IPoBVsXBqTKbXU 6zfuUAviwOh44Y5ZHEQ== X-Proofpoint-Spam-Info: AW1haW4tMjYwODAzMDAzNCBTYWx0ZWRfX4FNBu5WErVzD mtKYLHowg/kOIrXzNI4pRxYemkcpv+je/SRXg/L3v6/dUVdE+1XLE6Q/GIFM7z06LiMyZOPFTZb PVeRGRXGzlUqO6DgNTZp15hzhQB0LV1jKDMo3pFLxxLcGFMj8r8L X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-02_06,2026-07-30_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 impostorscore=0 clxscore=1015 priorityscore=1501 phishscore=0 adultscore=0 malwarescore=0 spamscore=0 lowpriorityscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608030034 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Mon, 03 Aug 2026 04:18:16 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/242597 From: Deepesh Varatharajan Add three selftest classes (LLVMSelfTestSystemEmulated, ClangSelfTestSystemEmulated, LLDSelfTestSystemEmulated) that run the upstream LLVM, Clang, and LLD regression test suites on target using llvm-lit inside QEMU. Each test: - Automatically sets CLANG_ENABLE_TESTSUITE = "1" to enable testsuite CMake flags and target tool installation - Builds core-image-minimal with Python3 and LLVM dependencies - Boots QEMU with 8GB RAM / 4 CPUs (3GB for 32-bit ARM) - NFS-mounts the host TMPDIR into the guest to access build artifacts (lit configs, test inputs, and target tools) - Runs llvm-lit with filters to exclude tests for non-target architectures and unsupported OS platforms - Excludes known-failing tests specific to each component Signed-off-by: Deepesh Varatharajan --- meta/lib/oeqa/selftest/cases/clang.py | 332 ++++++++++++++++++++++++++ 1 file changed, 332 insertions(+) create mode 100644 meta/lib/oeqa/selftest/cases/clang.py diff --git a/meta/lib/oeqa/selftest/cases/clang.py b/meta/lib/oeqa/selftest/cases/clang.py new file mode 100644 index 0000000000..d2b8dbdd13 --- /dev/null +++ b/meta/lib/oeqa/selftest/cases/clang.py @@ -0,0 +1,332 @@ +# +# Copyright (c) 2026 by Wind River Systems, Inc. +# +# SPDX-License-Identifier: MIT +# +import contextlib +from oeqa.core.decorator import OETestTag +from oeqa.selftest.case import OESelftestTestCase +from oeqa.utils.commands import bitbake, get_bb_var, runqemu +from oeqa.utils.nfs import unfs_server + +class ClangFamilyBase(OESelftestTestCase): + + ALL_ARCHS = [ + "aarch64", "arm", "i386", "x86_64", "x86", + "mips", "riscv", "riscv64", "ppc", "ppc64", + "hexagon", "sparc", "sparcv9", "msp430", + "loongarch" + ] + + EXCLUDE_OS = [ + "Mac", "macho", "Darwin", "OSX", "wasm", + "Windows", "Win", "MinGW", "COFF", "zos", + "FreeBSD", "aix", "fuchsia", "ve" + ] + + DEFAULT_PACKAGES = [ + "libgcc", + "libstdc++", + "llvm", + "python3", + "python3-core", + "python3-modules", + "nfs-utils", + ] + + def setUp(self): + super().setUp() + self.write_config('CLANG_ENABLE_TESTSUITE = "1"') + self.target_arch = get_bb_var("TARGET_ARCH") + self.tmpdir = get_bb_var("TMPDIR") + arches = [a for a in self.ALL_ARCHS if a != self.target_arch] + self.filter_out = "|".join(arches + self.EXCLUDE_OS) + + def build_core_image(self): + features = [ + 'CLANG_ENABLE_TESTSUITE = "1"', + 'IMAGE_FEATURES += "ssh-server-openssh"', + 'CORE_IMAGE_EXTRA_INSTALL += "{}"'.format(" ".join(self.DEFAULT_PACKAGES)) + ] + self.write_config("\n".join(features)) + bitbake("core-image-minimal") + + def start_qemu_nfs(self): + ctx = contextlib.ExitStack() + s = ctx.__enter__() + nfsport, mountport = s.enter_context(unfs_server(self.tmpdir, udp=False)) + + # 32-bit ARM can only address up to ~3GB + if self.target_arch == "arm": + qemu_mem = 3072 + else: + qemu_mem = 8192 + + qemu = s.enter_context( + runqemu("core-image-minimal", runqemuparams="nographic", + qemuparams=f"-m {qemu_mem} -smp 4") + ) + + status, _ = qemu.run("uname") + if status != 0: + raise AssertionError("QEMU SSH check failed") + + status, _ = qemu.run(f"mkdir -p {self.tmpdir}") + if status != 0: + raise AssertionError("Failed to create TMPDIR on target") + + mountcmd = ( + f"mount -o nfsvers=3,local_lock=all,port={nfsport},mountport={mountport} " + f"\"{qemu.server_ip}:{self.tmpdir}\" \"{self.tmpdir}\"" + ) + status, output = qemu.run(mountcmd) + if status != 0: + raise AssertionError(f"NFS mount failed: {output}") + return ctx, qemu + + def run_llvm_lit(self, recipe, extra_filter=None): + build_dir = get_bb_var("B", recipe) + workdir = get_bb_var("WORKDIR", recipe) + guest_result = f"/tmp/{recipe}-target-results.json" + host_result = f"{workdir}/{recipe}-target-results.log" + + filter_regex = self.filter_out + if extra_filter: + filter_regex += "|" + "|".join(extra_filter) + + cmd = ( + f"cd {build_dir}/bin && " + f"python3 ./llvm-lit -j 4 --filter-out '{filter_regex}' ../test -o {guest_result}" + ) + + return cmd, guest_result, host_result + +@OETestTag("toolchain-system") +@OETestTag("toolchain-user") +@OETestTag("runqemu") +class LLVMSelfTestSystemEmulated(ClangFamilyBase): + + LLVM_EXTRA_EXCLUDE = [ + "ADT/.*", + "BugPoint/compile-custom\\.ll$", + "BugPoint/replace-funcs-with-null\\.ll$", + "CodeGen/AMDGPU/lds-run-twice-absolute-md\\.ll$", + "CodeGen/AMDGPU/lds-run-twice\\.ll$", + "CodeGen/Generic/fp128-math-libcalls\\.ll$", + "CodeGen/Thumb/2009-08-20-ISelBug\\.ll$", + "CodeGen/Thumb/2010-07-15-debugOrdering\\.ll$", + "CodeGen/Thumb/2014-06-10-thumb1-ldst-opt-bug\\.ll$", + "CodeGen/Thumb/PR17309\\.ll$", + "CodeGen/Thumb/dyn-stackalloc\\.ll$", + "CodeGen/Thumb/frame-access\\.ll$", + "CodeGen/Thumb/frame-chain\\.ll$", + "CodeGen/Thumb/ldm-merge-call\\.ll$", + "CodeGen/Thumb/pop\\.ll$", + "CodeGen/Thumb/pr35836\\.ll$", + "CodeGen/Thumb/pr35836_2\\.ll$", + "CodeGen/Thumb/scmp\\.ll$", + "CodeGen/Thumb/smul_fix\\.ll$", + "CodeGen/Thumb/stack-guard-xo\\.ll$", + "CodeGen/Thumb/stm-deprecated\\.ll$", + "CodeGen/Thumb/stm-merge\\.ll$", + "CodeGen/Thumb/thumb-ldm\\.ll$", + "CodeGen/Thumb/ucmp\\.ll$", + "CodeGen/Thumb/vargs\\.ll$", + "CodeGen/Thumb2/2009-08-21-PostRAKill4\\.ll$", + "CodeGen/Thumb2/2009-09-01-PostRAProlog\\.ll$", + "CodeGen/Thumb2/constant-islands\\.ll$", + "CodeGen/Thumb2/ldr-str-imm12\\.ll$", + "CodeGen/Thumb2/pacbti-m-varargs-1\\.ll$", + "CodeGen/Thumb2/pacbti-m-varargs-2\\.ll$", + "CodeGen/Thumb2/thumb2-ldm\\.ll$", + "ExecutionEngine/JITLink/Generic/llvm-jitlink-option-show-addrs\\.test$", + "ExecutionEngine/JITLink/Generic/sectcreate\\.test$", + "ExecutionEngine/MCJIT/.*", + "Other/can-execute\\.txt$", + "Other/spirv-sim/.*", + "Transforms/LoopLoadElim/.*", + "tools/llvm-cas/validation\\.test$", + "tools/llvm-cgdata/merge-combined-funcmap-hashtree\\.test$", + "tools/llvm-cgdata/merge-funcmap-concat\\.test$", + "tools/llvm-cgdata/merge-funcmap-double\\.test$", + "tools/llvm-cgdata/merge-funcmap-single\\.test$", + "tools/llvm-cgdata/merge-hashtree-concat\\.test$", + "tools/llvm-cgdata/merge-hashtree-double\\.test$", + "tools/llvm-cgdata/merge-hashtree-single\\.test$", + "tools/llvm-locstats/locstats\\.ll$", + "tools/llvm-locstats/no_scope_bytes\\.ll$", + "tools/llvm-objcopy/DXContainer/dump-section\\.yaml$", + "tools/llvm-objcopy/ELF/basic-binary-copy\\.test$", + "tools/llvm-objcopy/ELF/binary-first-seg-offset-zero\\.test$", + "tools/llvm-objcopy/ELF/binary-no-paddr\\.test$", + "tools/llvm-objcopy/ELF/binary-paddr\\.test$", + "tools/llvm-objcopy/ELF/binary-segment-layout\\.test$", + "tools/llvm-objcopy/ELF/check-addr-offset-align-binary\\.test$", + "tools/llvm-objcopy/ELF/dump-section\\.test$", + "tools/llvm-objcopy/ELF/gap-fill\\.test$", + "tools/llvm-objcopy/ELF/pad-to\\.test$", + "tools/llvm-objcopy/ELF/parent-loop-check\\.test$", + "tools/llvm-objcopy/ELF/strip-all-gnu\\.test$", + "tools/llvm-objcopy/ELF/strip-sections-keep\\.test$", + "tools/llvm-objcopy/ELF/strip-sections-only-section\\.test$", + "tools/llvm-objcopy/ELF/strip-sections\\.test$", + "tools/llvm-objcopy/ELF/update-section\\.test$", + "tools/llvm-original-di-preservation/acceptance-test\\.test$", + "tools/llvm-original-di-preservation/basic\\.test$", + "tools/llvm-reduce/temporary-files-as-bitcode-split\\.ll$", + "tools/not/disable-symbolization\\.test$", + "tools/opt-viewer/.*", + "tools/UpdateTestChecks/.*", + "tools/yaml2obj/ELF/custom-fill\\.yaml$", + "tools/yaml2obj/ELF/header-elfdatanone\\.yaml$", + "tools/yaml2obj/ELF/header-sh-fields\\.yaml$", + "tools/yaml2obj/GOFF/GOFF-header-end\\.yaml$", + "tools/yaml2obj/GOFF/GOFF-header-settings\\.yaml$", + ] + + def test_llvm(self): + bitbake("llvm -c install") + self.build_core_image() + ctx, qemu = self.start_qemu_nfs() + with ctx: + cmd, guest_result, host_result = self.run_llvm_lit( + "llvm", extra_filter=self.LLVM_EXTRA_EXCLUDE + ) + status, output = qemu.run(cmd, timeout=7200) + if status != 0: + raise AssertionError(f"llvm-lit failed for LLVM: {output}") + status, _ = qemu.run(f"cp {guest_result} {host_result}") + if status != 0: + raise AssertionError("Failed to copy LLVM lit results back to host") + +@OETestTag("toolchain-system") +@OETestTag("toolchain-user") +@OETestTag("runqemu") +class ClangSelfTestSystemEmulated(ClangFamilyBase): + + CLANG_EXTRA_EXCLUDE = [ + "APINotes/yaml-roundtrip-2\\.test$", + "APINotes/yaml-roundtrip\\.test$", + "AST/ByteCode/builtin-bit-cast-long-double\\.cpp$", + "AST/ByteCode/builtin-bit-cast\\.cpp$", + "AST/ByteCode/builtin-functions\\.cpp$", + "AST/ByteCode/builtin-object-size\\.cpp$", + "AST/ByteCode/c\\.c$", + "AST/ByteCode/codegen\\.cpp$", + "AST/ByteCode/complex\\.c$", + "AST/ByteCode/complex\\.cpp$", + "AST/ByteCode/const-eval\\.c$", + "AST/ByteCode/const-fpfeatures\\.cpp$", + "AST/ByteCode/constexpr\\.c$", + "AST/ByteCode/cxx20\\.cpp$", + "AST/ByteCode/fixed-point\\.cpp$", + "AST/ByteCode/floats\\.cpp$", + "AST/ByteCode/functions\\.cpp$", + "AST/ByteCode/hlsl\\.hlsl$", + "AST/ByteCode/intap\\.cpp$", + "AST/ByteCode/invalid\\.cpp$", + "AST/ByteCode/lambda\\.cpp$", + "AST/ByteCode/literals\\.cpp$", + "AST/ByteCode/memberpointers\\.cpp$", + "AST/ByteCode/neon\\.c$", + "AST/ByteCode/new-delete\\.cpp$", + "AST/ByteCode/placement-new\\.cpp$", + "AST/ByteCode/records\\.cpp$", + "AST/ByteCode/spaceship\\.cpp$", + "AST/ByteCode/unions\\.cpp$", + "Analysis/dead-stores\\.c$", + "Analysis/exploded-graph-rewriter/.*", + "Analysis/scan-build/cxx-name\\.test$", + "Analysis/scan-build/deduplication\\.test$", + "Analysis/scan-build/exclude_directories\\.test$", + "Analysis/scan-build/help\\.test$", + "Analysis/scan-build/html_output\\.test$", + "Analysis/scan-build/plist_html_output\\.test$", + "Analysis/scan-build/plist_output\\.test$", + "Analysis/scan-build/rebuild_index/rebuild_index\\.test$", + "Analysis/scan-build/silence-core-checkers\\.test$", + "Analysis/virtualcall-fixits\\.cpp$", + "C/C23/n3018\\.c$", + "ClangScanDeps/module.*", + "ClangScanDeps/multiple-commands\\.c$", + "ClangScanDeps/optimize-vfs-edgecases\\.m$", + "ClangScanDeps/optimize-vfs-pch\\.m$", + "ClangScanDeps/visible-modules\\.c$", + "ClangScanDeps/Wsystem-headers-in-module\\.c$", + "CodeGen/builtins\\.c$", + "CodeGen/compound-literal\\.c$", + "CodeGenCUDA/static-device-var-rdc\\.cu$", + "CodeGenCXX/int64_uint64\\.cpp$", + "CodeGenCXX/pointers-to-data-members\\.cpp$", + "CodeGenOpenCLCXX/constexpr\\.clcpp$", + "Format/docs_updated\\.test$", + "Frontend/rewrite-includes-bom\\.c$", + "Interpreter/cxx20-modules\\.cppm$", + "Modules/crash-vfs-umbrella-frameworks\\.m$", + "Modules/double-quotes\\.m$", + "Modules/framework-public-includes-private\\.m$", + "Modules/implicit-module-header-maps\\.cpp$", + "Preprocessor/embed_constexpr\\.c$", + "Preprocessor/header-search-crash\\.c$", + "Preprocessor/headermap-rel\\.c$", + "Preprocessor/headermap-rel2\\.c$", + "Preprocessor/include-header-missing-in-framework-with-headermap\\.c$", + "Preprocessor/search-path-usage\\.m$", + "Sema/arithmetic-fence-builtin\\.c$", + "Sema/atomic-expr\\.c$", + "Sema/auto-type\\.c$", + "Sema/builtin-expect-with-probability\\.cpp$", + "Sema/c2x-auto\\.c$", + "Sema/constant-builtins-fmax\\.cpp$", + "Sema/constant-builtins-fmaximum-num\\.cpp$", + "Sema/constant-builtins-fmin\\.cpp$", + "Sema/constant-builtins-fminimum-num\\.cpp$", + "Sema/constexpr\\.c$", + "Sema/fp-eval-pragma-with-float-double_t-1\\.c$", + "Sema/fp-eval-pragma-with-float-double_t-2\\.c$", + "Sema/fp-eval-pragma-with-float-double_t-3\\.c$", + ] + + def test_clang(self): + bitbake("clang -c install") + self.build_core_image() + ctx, qemu = self.start_qemu_nfs() + with ctx: + cmd, guest_result, host_result = self.run_llvm_lit( + "clang", extra_filter=self.CLANG_EXTRA_EXCLUDE + ) + status, output = qemu.run(cmd, timeout=3600) + if status != 0: + raise AssertionError(f"llvm-lit failed for Clang: {output}") + status, _ = qemu.run(f"cp {guest_result} {host_result}") + if status != 0: + raise AssertionError("Failed to copy Clang lit results back to host") + +@OETestTag("toolchain-system") +@OETestTag("toolchain-user") +@OETestTag("runqemu") +class LLDSelfTestSystemEmulated(ClangFamilyBase): + + LLD_EXTRA_EXCLUDE = [ + "ELF/fill-trap\\.s$", + "ELF/lto/cache-warnings\\.ll$", + "ELF/oformat-binary-ttext\\.s$", + "ELF/oformat-binary\\.s$", + "ELF/partition-synthetic-sections\\.s$", + "ELF/reproduce\\.s$", + ] + + def test_lld(self): + bitbake("lld -c install") + self.build_core_image() + ctx, qemu = self.start_qemu_nfs() + with ctx: + cmd, guest_result, host_result = self.run_llvm_lit( + "lld", extra_filter=self.LLD_EXTRA_EXCLUDE + ) + status, output = qemu.run(cmd, timeout=3600) + if status != 0: + raise AssertionError(f"llvm-lit failed for LLD: {output}") + status, _ = qemu.run(f"cp {guest_result} {host_result}") + if status != 0: + raise AssertionError("Failed to copy LLD lit results back to host")