From patchwork Thu Apr 10 02:54:40 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 61077 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 4F423C369A1 for ; Thu, 10 Apr 2025 02:55:07 +0000 (UTC) Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by mx.groups.io with SMTP id smtpd.web10.25473.1744253692831451670 for ; Wed, 09 Apr 2025 19:54:53 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@qualcomm.com header.s=qcppdkim1 header.b=epaKIix1; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: oss.qualcomm.com, ip: 205.220.180.131, mailfrom: dmitry.baryshkov@oss.qualcomm.com) Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 539HDiEZ026713 for ; Thu, 10 Apr 2025 02:54:52 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= EnlX3QWUCYrIsL2ngorW5rdEdpjwxn2t0gbHgboQkRY=; b=epaKIix1Zj+e/Cxi UWmMvHTwXINwoZl6gBgPt3O49Kom7HC6MYEhRlpnRZjJqdwdJNam5ILaisUEnSb5 Ry5bbElmhCcvkBQjaH8Wda6vVLyWvqqlXvb5M7+nbIUN0bzGvgS55X5UTraUwmrm VEqgUL1TeEKSp0drN3guoZOFi9oE12/SJ6Q/hrEsBqmOJK8YJm+nj4lrZr2IiMKI j7K1/sHkaIrQlK4ZaMLu3E7El1nXwUbMl9Sim9HXXWRv7qtv+thwwN6jVt4PBBID kZCFSooG+qEk7RCqFt4IttxnmFG8Z8f4NLidddYOuggSimUQsJo51lgXT6qogoV7 eRUdHw== Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 45twdgng2g-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Thu, 10 Apr 2025 02:54:51 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-7c5c77aff55so91622485a.3 for ; Wed, 09 Apr 2025 19:54:51 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744253690; x=1744858490; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=EnlX3QWUCYrIsL2ngorW5rdEdpjwxn2t0gbHgboQkRY=; b=qEvOC4H3mnLNxkiIvIpst+/6F6d5XUf4I+tyJxoFBIuFh8LuoE92wGgrXVygjuBetf xyxxZqL5uuvnKy+0R4JAKdJVgMeF4LQgb4P8jDGYhIenjZWq/W6dwhNDsfBVE25E2wZn WNVa6qRN5FnvUMokmv8dqAmBNuIwqqSMim6gah+eUMJcv7Icdwr0JsOUoh3B2LBHLWas Fsic0OCsDnYDdz1TuSwe8Azi7HhI0ta9dPeu+4mksIdSlqGvnIaeKtBDh9W/dketMHsz Es9hw3mjETWJ9wv+RByZTUUxUzmcTma7fdtkhU++nYqWAaUrW3ZBgiJAHc1ZH/TiaKgS VbpA== X-Gm-Message-State: AOJu0Yy+1EVKN6gPaT/jaBhAkc5Y5Mu1WfavXOKeIhzsRgLZVdc1c6e+ TYsxOxM0XUWVcamqkPaYupR/3pPwPefZvY32OWLysTCT6psSQaweZnTsB+6NQCRZ3uSDcqTw0c2 7m7MMELBEMvJ8xoQKWTRLgb4b8bdUSVAQ4jw7f4c5BdTn7IV8KxfTK9XpXLPXpo5shrtUih4ucJ qResBlBUh/grQ= X-Gm-Gg: ASbGncs9Fxaz46aXMbaxUeZGwetz0f8/WDiYfwQQd0pXGi/yLOWLlGmJV29cPvdr7FQ 0h7NXgAOnnhP30m913VneJp8TjRK+fM/1kWvqDKqMtkvoXeAOBSOZMXXSb9gmubmQ42mmjuQv4W 5cgZ3vhWeau0LxsUyL0aRUCc6f8bjqupXFmv1fj67oodShnJJB21opLgHXew4cUNlvSaL6gmmwS 9YD6NGyIpOsl/+J9ughGENl20BTDJLeZmVMmOkq3TYPFKJq+Pdn9neJUYgHmH9BISFOjQG2XvP6 Dn0bTPDJL+TDXmyYZqdnAqahGq6okOgehbfrLSRu+Szi08AjDr+jyVTgkObMNk4iubbD52BWkA+ 523YqUFM+wTFbvRXZzA+7vPeZ X-Received: by 2002:a05:620a:2943:b0:7c7:a555:4a11 with SMTP id af79cd13be357-7c7a76c22dcmr187488285a.44.1744253690425; Wed, 09 Apr 2025 19:54:50 -0700 (PDT) X-Google-Smtp-Source: AGHT+IG+bYH1TUBN5Oda5YoVIAtgxLKr0EpSDK487i4DsAgZRfThJ16ToBukUItfrJxU/q4KejdJNA== X-Received: by 2002:a05:620a:2943:b0:7c7:a555:4a11 with SMTP id af79cd13be357-7c7a76c22dcmr187486585a.44.1744253690016; Wed, 09 Apr 2025 19:54:50 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54d3d123197sm24032e87.44.2025.04.09.19.54.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Apr 2025 19:54:47 -0700 (PDT) From: Dmitry Baryshkov Date: Thu, 10 Apr 2025 05:54:40 +0300 Subject: [PATCH v7 01/12] runqemu: also set GBM_BACKENDS_PATH MIME-Version: 1.0 Message-Id: <20250410-mesa-25-v7-1-59d715c66e19@oss.qualcomm.com> References: <20250410-mesa-25-v7-0-59d715c66e19@oss.qualcomm.com> In-Reply-To: <20250410-mesa-25-v7-0-59d715c66e19@oss.qualcomm.com> To: openembedded-core@lists.openembedded.org Cc: Khem Raj X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2660; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=tmoZR/PXF7m507OV2TN8Rfngn0pELOvLeNUojKEA+3w=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBn9zLwiR4hB+gJYFvINh22uUTll5Cl78yuWmzKh l08nWPxupiJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ/cy8AAKCRCLPIo+Aiko 1UkyB/wKsgi6yJmAWkjx/4NW89LS0Q3rIEzt6YK5E3HBvqyceWg6K6fS8mNXIVxNeYJF42mDWV3 8VZ8nobX4lvhKKl4hxoLV0PiTte71A3EVN2+RSn7jyorz/szHun7TVdG+p2Tgm10ylY1+FxdkOw t+orpxbkOaoTz58/WgUV0KgR5g8je0YpXZOVNukfrcN4oMPowXyAHRImGsyR61iMg20RD2qQxC0 ZaTlu59mYewEwU/qy07vkRd6LovxFLsVImh8uC1YvhqBQHSH3q7c2upL0xSI+AbwMi0ImCdBVF3 yjvHAmlJzkN8hJU7UGhHsHQO0YSqPPpdPFjXTdzPS0d6+0uc X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Authority-Analysis: v=2.4 cv=PJgP+eqC c=1 sm=1 tr=0 ts=67f732fc cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=XR8D0OoHHMoA:10 a=EUspDBNiAAAA:8 a=5p7H2duF2IrNtC3iPlkA:9 a=QEXdDO2ut3YA:10 a=NFOGd7dJGGMPyQGDc5-O:22 X-Proofpoint-ORIG-GUID: q7gxUuiMuZWech3mkkmslQ3RezcCDlrD X-Proofpoint-GUID: q7gxUuiMuZWech3mkkmslQ3RezcCDlrD X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-04-09_06,2025-04-08_04,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 lowpriorityscore=0 clxscore=1015 adultscore=0 malwarescore=0 spamscore=0 impostorscore=0 suspectscore=0 mlxlogscore=811 bulkscore=0 mlxscore=0 priorityscore=1501 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2502280000 definitions=main-2504100021 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 ; Thu, 10 Apr 2025 02:55:07 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/214603 Newer Mesa dynamically loads GBM backends from the libdir. This is going to cause issues with running native QEMU as the libdir (mesa-native/recipes-sysroot-native) will not exist when it's executed. Follow the LIBGL_DRIVERS_PATH approach and specify a path to GBM backends via GBM_BACKENDS_PATH environment variable. Signed-off-by: Dmitry Baryshkov --- scripts/runqemu | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/scripts/runqemu b/scripts/runqemu index 86124a4a6a327e8c522944fd2ff9fe645c200722..3d7704697285ff9a5da45644eef4b7b3fce93dbf 100755 --- a/scripts/runqemu +++ b/scripts/runqemu @@ -468,9 +468,11 @@ class BaseConfig(object): self.set("IMAGE_LINK_NAME", image_link_name) logger.debug('Using IMAGE_LINK_NAME = "%s"' % image_link_name) - def set_dri_path(self): + def set_mesa_paths(self): drivers_path = os.path.join(self.bindir_native, '../lib/dri') - if not os.path.exists(drivers_path) or not os.listdir(drivers_path): + gbm_path = os.path.join(self.bindir_native, '../lib/gbm') + if not os.path.exists(drivers_path) or not os.listdir(drivers_path) \ + or not os.path.exists(gbm_path) or not os.listdir(gbm_path): raise RunQemuError(""" qemu has been built without opengl support and accelerated graphics support is not available. To enable it, add: @@ -479,6 +481,7 @@ DISTRO_FEATURES_NATIVESDK:append = " opengl" to your build configuration. """) self.qemu_environ['LIBGL_DRIVERS_PATH'] = drivers_path + self.qemu_environ['GBM_BACKENDS_PATH'] = gbm_path def check_args(self): for debug in ("-d", "--debug"): @@ -1461,7 +1464,7 @@ to your build configuration. self.qemu_opt += ' -display ' if self.egl_headless == True: self.check_render_nodes() - self.set_dri_path() + self.set_mesa_paths() self.qemu_opt += 'egl-headless,' else: if self.sdl == True: @@ -1471,10 +1474,10 @@ to your build configuration. self.qemu_opt += 'gtk,' if self.gl == True: - self.set_dri_path() + self.set_mesa_paths() self.qemu_opt += 'gl=on,' elif self.gl_es == True: - self.set_dri_path() + self.set_mesa_paths() self.qemu_opt += 'gl=es,' self.qemu_opt += 'show-cursor=on' From patchwork Thu Apr 10 02:54:41 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 61072 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 67202C369A4 for ; Thu, 10 Apr 2025 02:54:57 +0000 (UTC) Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by mx.groups.io with SMTP id smtpd.web10.25474.1744253696167716695 for ; Wed, 09 Apr 2025 19:54:56 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@qualcomm.com header.s=qcppdkim1 header.b=Ff4Vknf6; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: oss.qualcomm.com, ip: 205.220.168.131, mailfrom: dmitry.baryshkov@oss.qualcomm.com) Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 539IKL91029024 for ; Thu, 10 Apr 2025 02:54:55 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 1d0cE5Am2Y6/pwqtB7RLaFoA0POG5JwuJqFgpJvFuQs=; b=Ff4Vknf679sy9qlU 8PyFQYEFzU8MykSc0TBG96QqpKv+XBQyUclMgqrwI1G4lwCOcoeR2ScBKbE8pwsT H8e8K0mxYg79v+aHZNvU0Zg143n7esC+urpec+oMe/j48w72YiJanhm4SZX1gVAf rEvI31HgpaFQp1r2B4vr0eM4c0opxBCNR9eD2atzbjycSxG6gi1UqzksEiK78xQS iIg1um+2gku2xtWjlNLpy6rHDR29Og/luockmGCvZThDPy/s8m9TYHV/YeroYSnW fBCgAOK+hNLSWvSUI1DwhEGYvTKWn1fHmgFG0l1hdtNk45ASj+VF1Hr0YoUTqH8/ 7tWBWg== Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 45twpmdbds-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Thu, 10 Apr 2025 02:54:55 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-7c54e9f6e00so220741085a.0 for ; Wed, 09 Apr 2025 19:54:55 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744253694; x=1744858494; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=1d0cE5Am2Y6/pwqtB7RLaFoA0POG5JwuJqFgpJvFuQs=; b=Ko+tIoQr23TDxNGTMv1GLC6xqfaOsClsY5nIhOFB27KYtcDPuNmENnPSGmoyMH9Um6 JZnNYpHsB+XLYscF7EpAoqHUgtnMVnpgihrV+plHixEM6uSwLiIuY9IdnStgwjoebR/a efr2Nmb6TxpjwnouEcMVfXgVmq5tV48I4g05MMDFtFgCFF6LVBpRusWHzdPW5oB/NpkG to9AWDI6UcVbmCmDEJnAHrrGLVdDteZ/08wZlrVN5iDJQURpO72E7bItshFlIv/OHF42 DvLhwtr85ekmZYoEGjdi0x49WXL2QHyd3L3pbcOCH52fokIMdT4GpuCjWqUBreClwTXH HhJg== X-Gm-Message-State: AOJu0YxfAnXq2QN6Aj6R+kEN1KdoF+KO1Opao+frfYdUqRAwwtLM1dAu ASi6Vh9pbjjMumJnyT0+GWVPQGjJUXG9R0AwST63ICjDORdWMNkodj4MVJ2bemTSUpJSADwg+j7 1rVWLz21eR3fVgvDfFc6+jfj79z6e3WVy0AvseYI1dBx/VdHape+Q4zYYeXjIPJtkEqj8QaM9Qf e710rZCz2yG+8= X-Gm-Gg: ASbGncv805lZ5Y8IhhMK/oN09n9FBcs9VFH05/Fd764zrS2PDe5mxIxBmqdncX+BtCu 2uKwPmU9SO1j9b1lrkdh+6TTv7KEFjHJwVlU+9yl4Uqn+HKGaEoJdQe//I1gv7FnDhXIO+gvaXq +vgRJ5jMLKRvuNh4zVmI3Fm/g1M8Yu6LhCWa3EfBeZRVc+aZJziRBg54gu+wAVuK8lz988DBzlI 4WXyT7Jnrsh32IZISJ4k5eq1YwNX0+hNIHhaRsTXxMGw4UnqGgaYvWLkqCJ6LsJ4wIn5zKP2SlY bcSi2Cr2HxAc78fjiuZ8IM5Ijd4J1SEVnJZwM3kdg8V3X0kW597sMMGyyoV1ZEYYz6GZb3ksweN On7eyYYEtg9rz+F5xVdwxWXRa X-Received: by 2002:a05:620a:319a:b0:7c0:5b5d:c82b with SMTP id af79cd13be357-7c7a76c74femr165575785a.28.1744253694142; Wed, 09 Apr 2025 19:54:54 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGqbr/tM1QrN4Xbdfz1dUPlw5Ipks7aaqt8bV5bhphh9yJ1ct9lrKVBgJY0K2nb4aptlKPtbQ== X-Received: by 2002:a05:620a:319a:b0:7c0:5b5d:c82b with SMTP id af79cd13be357-7c7a76c74femr165574385a.28.1744253693797; Wed, 09 Apr 2025 19:54:53 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54d3d123197sm24032e87.44.2025.04.09.19.54.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Apr 2025 19:54:51 -0700 (PDT) From: Dmitry Baryshkov Date: Thu, 10 Apr 2025 05:54:41 +0300 Subject: [PATCH v7 02/12] llvm: move libLLVM.so.N.M to llvm-libllvm package MIME-Version: 1.0 Message-Id: <20250410-mesa-25-v7-2-59d715c66e19@oss.qualcomm.com> References: <20250410-mesa-25-v7-0-59d715c66e19@oss.qualcomm.com> In-Reply-To: <20250410-mesa-25-v7-0-59d715c66e19@oss.qualcomm.com> To: openembedded-core@lists.openembedded.org Cc: Khem Raj X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1221; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=cw48dZ0EB/mqrjyTkxQ6kJ8lX3vxhmwkpNaF3KTcj8U=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBn9zLwP7HyixH1ambvxw3S+wBeDxXGwsy/muVmv 14a2MyBLBSJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ/cy8AAKCRCLPIo+Aiko 1RZuCACU3fGoYdak6PRfZkujcgG/XJptXlP9k97f7Lfag+EWLz3gfI6hZRzX2SeqJFxCf6HT52Y qXr2Y8DtLxPuIAQKNkpkpZp5r3yG2SdJPlCyG0H9FLWBYxBuRUvAeCoydcgsp2i+EoaZ29pnDrA sZm4McwI8yaG6JGENKPLUVJ6AYFCqFobb1PaR++iqLRy/6uPP2CMP1NCmGvT2Xn5mQ9Btgp2Ue4 qtM6O/iTlRdJzZ3PMUzbAanuejKxbqUBmfnG5sIX08MznG5MsTBtrte5/7qSJYqCjUect+xkXmj jjXhoSzZPSX6JfgE9eC8jT/j7r+hwcEEbzI8vokj8e7Kexv4 X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-GUID: SJjpAMNogcJm3OvcnPRxXbw7kVreSMny X-Proofpoint-ORIG-GUID: SJjpAMNogcJm3OvcnPRxXbw7kVreSMny X-Authority-Analysis: v=2.4 cv=MpRS63ae c=1 sm=1 tr=0 ts=67f732ff cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=XR8D0OoHHMoA:10 a=EUspDBNiAAAA:8 a=UXYEonSiWARR60OBTlUA:9 a=QEXdDO2ut3YA:10 a=bTQJ7kPSJx9SKPbeHEYW:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-04-09_06,2025-04-08_04,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 mlxlogscore=812 clxscore=1015 priorityscore=1501 impostorscore=0 spamscore=0 bulkscore=0 suspectscore=0 malwarescore=0 adultscore=0 phishscore=0 mlxscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2502280000 definitions=main-2504100021 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 ; Thu, 10 Apr 2025 02:54:57 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/214604 Neither MAJOR_VER nor MINOR_VER are defined, so libLLVM.so.N.M ends up in the main libllvm package rather than the llvm-libllvm package, as expected. Fix this by properly using two-component version. Fixes: db3bf550a372 ("llvm: Update to 18.1.0 RC4") Signed-off-by: Dmitry Baryshkov --- meta/recipes-devtools/llvm/llvm_20.1.1.bb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meta/recipes-devtools/llvm/llvm_20.1.1.bb b/meta/recipes-devtools/llvm/llvm_20.1.1.bb index 5c6c5a2ffd19fbd8ee5e139179c23c447253919e..194660fdad1f8837eedce3293d56e7251e5030b7 100644 --- a/meta/recipes-devtools/llvm/llvm_20.1.1.bb +++ b/meta/recipes-devtools/llvm/llvm_20.1.1.bb @@ -19,6 +19,7 @@ VER_SUFFIX = "" PV .= "${VER_SUFFIX}" MAJOR_VERSION = "${@oe.utils.trim_version("${PV}", 1)}" +MAJ_MIN_VERSION = "${@oe.utils.trim_version("${PV}", 2)}" LLVM_RELEASE = "${PV}" @@ -152,7 +153,7 @@ FILES:${PN}-bugpointpasses = "\ FILES:${PN}-libllvm = "\ ${libdir}/libLLVM-${MAJOR_VERSION}.so \ - ${libdir}/libLLVM.so.${MAJOR_VER}.${MINOR_VER} \ + ${libdir}/libLLVM.so.${MAJ_MIN_VERSION} \ " FILES:${PN}-liblto += "\ From patchwork Thu Apr 10 02:54:42 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 61074 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 51DF4C3DA4A for ; Thu, 10 Apr 2025 02:55:07 +0000 (UTC) Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by mx.groups.io with SMTP id smtpd.web10.25475.1744253697297989787 for ; Wed, 09 Apr 2025 19:54:57 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@qualcomm.com header.s=qcppdkim1 header.b=fiLKW1lM; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: oss.qualcomm.com, ip: 205.220.180.131, mailfrom: dmitry.baryshkov@oss.qualcomm.com) Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 539HDr61027515 for ; Thu, 10 Apr 2025 02:54:56 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= mxVIQywhiZ9YOuUBkpl3wuYcNsg05g4TxVdzCoz5Ol0=; b=fiLKW1lMO7DIoAxp a2gwp/31foaqNCY2XYUQheXM5jRr+lX1TOJ29FKQ+0Eq1JXus8UV5/KYUWBgsajb xonqlvkRWK8cyqcmeZsG+NG6j6RaQc0r2k5Vve74dyZsAdOJ0kQsaZrJoFOH7AS4 OVHziOq0LqfvFkacAKhySYUxA4kHtRK4PSsBG3/nssbRL+Upo1JuxYtyAg670bU5 zqdFDoejZqBUcZ1seh1hCwJI6lWhGbbGij0mcvoZdmjP3fMHiYZGX0kAMsCJ8f1R +x+7wY3U/Psq9+BdUl3DE9wYKnPt62aI2bNNgnCiFdkwljIfKKHMqRK3efi/l6/1 KFlsSg== Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 45twcrnh57-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Thu, 10 Apr 2025 02:54:56 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-7c5c77aff55so91638385a.3 for ; Wed, 09 Apr 2025 19:54:56 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744253695; x=1744858495; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=mxVIQywhiZ9YOuUBkpl3wuYcNsg05g4TxVdzCoz5Ol0=; b=YTs9192M0XNG/Glcuj5Qqu0DIbchaYrusTRgo/hPYQoZsetIeHuUhzaTHrT+Ip/gRs OH/Srj6imQ2KKJhAEsZQiIOjAa0Egz8e2PLDY/48TWurM63wHwlnPIH2abHDPTymItKF 12V9yVbUHwpSdBq7O68TczfGqSytJh9AcNJhsWpXWzx1tLtoG073YDblNRB6YiKmkrGB iNiHHXVDmlQBiC3RArLQxa9OADUnVZYEgkz0jbCPrHuVlc4cu0KtWxjGPPacr8wzNgfn yRPo8v3Pv07+c5kEZ4GSTKexljLVNsFKrJBkvfIzw5w5yEv5wbH6wXjAHUxTrI40IDOK Mgug== X-Gm-Message-State: AOJu0YzFvR44yRRzcyi/Oa2LnDd2FS41oAfkRSNzjLK5v1dZMe4ExnPZ d1rrAV0VOTkGNLfCbUBXAtDF/wEaVYgxhPYJpBeDAk6jQXcHIfWMoGczz3Bg5kpLn30gjLMz/EI RTfh7wHl6CCzFvbwHgICWRymcQEEdJoBhlSrio9KgOqzgYh9i9Z2dHimB3g4DX/bIQzmSbckmYg LEPDcHe13v+bk= X-Gm-Gg: ASbGncuBt+qZitzvqe/8+D55sOpx3s5lMWvwRRcY9MHUD9LNYUoaHsrWg4ZZSMrpLqi AOy4EL41Dl4q7wd5N4TZCrargtuBKVHUormVo27J14gUQucG/G9xSWbDggEIULdAlOpGbuo0Ho6 lvL0O1S1mru3FY4TTj6A0bZbsH/Kc2t2teRTXRXRRsKGUBpAWr6BijKLM0dM+5S374BadCcJ7Hj 6L9FT2z37SzTOKe73pei4DOM8xqrWQknLwkH/abV10uFuCE47EAKA2AljBA2BSDLsQEpNeMtT2d fH+No+6jwwkBw6pMoBaaVqoJaGX36SI9WQgvRQwVwlYv1ZDpok+P63q0mKmi2XdOz25AnFxQiAe hWzYFcNmaQatacxiibP8MiL10 X-Received: by 2002:a05:620a:2410:b0:7c5:9a4e:7b8a with SMTP id af79cd13be357-7c7a76d1542mr204776685a.54.1744253695565; Wed, 09 Apr 2025 19:54:55 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFLusf4L55k5cyoOJaPteudzBR0tdZKI/Skpz9qPuT5CrXBwrRfkV0BFvNRIVfTXQNev0pJNg== X-Received: by 2002:a05:620a:2410:b0:7c5:9a4e:7b8a with SMTP id af79cd13be357-7c7a76d1542mr204775485a.54.1744253695241; Wed, 09 Apr 2025 19:54:55 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54d3d123197sm24032e87.44.2025.04.09.19.54.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Apr 2025 19:54:54 -0700 (PDT) From: Dmitry Baryshkov Date: Thu, 10 Apr 2025 05:54:42 +0300 Subject: [PATCH v7 03/12] llvm: use OECMAKE_SOURCEPATH to specify cmake dir MIME-Version: 1.0 Message-Id: <20250410-mesa-25-v7-3-59d715c66e19@oss.qualcomm.com> References: <20250410-mesa-25-v7-0-59d715c66e19@oss.qualcomm.com> In-Reply-To: <20250410-mesa-25-v7-0-59d715c66e19@oss.qualcomm.com> To: openembedded-core@lists.openembedded.org Cc: Khem Raj X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1677; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=msY/GiaQPn1I+mVA/wJknsgTpKRthaqaRkWh46fJtgQ=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBn9zLxpzlnccepjMW+ayKYJl2JCmyw2eq36G+mw 4FF7d9L0dCJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ/cy8QAKCRCLPIo+Aiko 1bKbCACjSjdHdFdW5CMkFupIv6ZRLpXY/3QPJtwTzmTAPBIMLUq3s3YRvzaEFAYz6ILYHH97WZY P4FktvPoQUnfgpcDPnQf/WvES/fvpPWqoutNaLBPbH34406QjvSabgXHXw4b9I56KV2JagyU17G mB4QH31efTZHhedk70BxmBj4449prBulm6Z+1avy/TcjlAzv1JcvFm5RmjjK5/X9BMfQJtvP5ws vrziRGf0zpKe2WKYKXOautpD6Pf1W1esNIYCghlIfdpXFaq1LARTiGA8tlTWpR8UVXBQmK8SQ5u /DLXhwzDfsQiVjhdsOae9W7eIKy1/UHOJf/yZA5uzFOgKhsT X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-ORIG-GUID: enocBTlm1vMjUbONHjd-n2gNBroQvDqs X-Authority-Analysis: v=2.4 cv=QuVe3Uyd c=1 sm=1 tr=0 ts=67f73300 cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=XR8D0OoHHMoA:10 a=NEAV23lmAAAA:8 a=EUspDBNiAAAA:8 a=DXol61RQ6zBorhFbQVEA:9 a=QEXdDO2ut3YA:10 a=NFOGd7dJGGMPyQGDc5-O:22 X-Proofpoint-GUID: enocBTlm1vMjUbONHjd-n2gNBroQvDqs X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-04-09_06,2025-04-08_04,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 adultscore=0 spamscore=0 malwarescore=0 mlxlogscore=855 bulkscore=0 priorityscore=1501 clxscore=1015 phishscore=0 impostorscore=0 suspectscore=0 lowpriorityscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2502280000 definitions=main-2504100021 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 ; Thu, 10 Apr 2025 02:55:07 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/214605 Instead of pushing an `llvm` sourcedir into S, specify it through the OECMAKE_SOURCEPATH so that all the patches are applied to the topdir and debug paths also use top path to map. Signed-off-by: Dmitry Baryshkov --- meta/recipes-devtools/llvm/llvm_20.1.1.bb | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/meta/recipes-devtools/llvm/llvm_20.1.1.bb b/meta/recipes-devtools/llvm/llvm_20.1.1.bb index 194660fdad1f8837eedce3293d56e7251e5030b7..8719faebe38b96d161b557a469c92490fe44f370 100644 --- a/meta/recipes-devtools/llvm/llvm_20.1.1.bb +++ b/meta/recipes-devtools/llvm/llvm_20.1.1.bb @@ -24,15 +24,17 @@ MAJ_MIN_VERSION = "${@oe.utils.trim_version("${PV}", 2)}" LLVM_RELEASE = "${PV}" SRC_URI = "https://github.com/llvm/llvm-project/releases/download/llvmorg-${PV}/llvm-project-${PV}.src.tar.xz \ - file://0007-llvm-allow-env-override-of-exe-path.patch;striplevel=2 \ - file://0001-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch;striplevel=2 \ + file://0007-llvm-allow-env-override-of-exe-path.patch \ + file://0001-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch \ file://llvm-config \ " SRC_URI[sha256sum] = "4d5ebbd40ce1e984a650818a4bb5ae86fc70644dec2e6d54e78b4176db3332e0" UPSTREAM_CHECK_URI = "https://github.com/llvm/llvm-project" UPSTREAM_CHECK_REGEX = "llvmorg-(?P\d+(\.\d+)+)" -S = "${WORKDIR}/llvm-project-${PV}.src/llvm" +S = "${WORKDIR}/llvm-project-${PV}.src" + +OECMAKE_SOURCEPATH = "${S}/llvm" LLVM_INSTALL_DIR = "${WORKDIR}/llvm-install" From patchwork Thu Apr 10 02:54:43 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 61073 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 4F460C369A2 for ; Thu, 10 Apr 2025 02:55:07 +0000 (UTC) Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by mx.groups.io with SMTP id smtpd.web11.25731.1744253698752381424 for ; Wed, 09 Apr 2025 19:54:58 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@qualcomm.com header.s=qcppdkim1 header.b=Sb1L9xtA; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: oss.qualcomm.com, ip: 205.220.168.131, mailfrom: dmitry.baryshkov@oss.qualcomm.com) Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 539HJ2fo015749 for ; Thu, 10 Apr 2025 02:54:58 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= Lsu9CYuzgNcf1mzGOXPVNDoxsmAY5YjYnKxsk6fwwkw=; b=Sb1L9xtA5WcCT+00 dlhu5YS5X9DgRILjs0UMRg8M/LS+eIBNBJZCwdHKkUML/1KR9o8DvphCa5zjkGcu 1SJahZulduK9ZvB5a7iBNw72rs+Kon8ZsTtjNZ+2yAhcc02Ovuov2+o/mG3StI0c Lbuk/znTQT/tm1UF5LUlenf4ywsGpeeocBYakZPS6S3A/9Is+tf6HR/HTPvSSdZ/ 4I3tzRlsDwWoS4B1nAqXGqG3PIFN9skjANNl3wzdFQ/cR6s2x3yY5NXrHxSMZfgp 6EVJJ+XMAvmC7PU9ZKcWvEDujBGsgYnP1JKTt/L6bhEvYCWjfqj+eCsAH8cdNIia wsKHqw== Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com [209.85.222.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 45twd2wc41-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Thu, 10 Apr 2025 02:54:58 +0000 (GMT) Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-7c579d37eeeso67979885a.0 for ; Wed, 09 Apr 2025 19:54:58 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744253697; x=1744858497; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Lsu9CYuzgNcf1mzGOXPVNDoxsmAY5YjYnKxsk6fwwkw=; b=A5bqJQCKDTjyK6UwOOHhTl8DflO6mirv3C2/ceCdlNp9lsBXH5IvuhpjWVVTN9Exn9 M7v0YgvI1D6z9kgMw/kWw2GbUPT9/XDbyvh2SyRbjbz8Z+UknM54fZxGkDMEoFVrmdKm k+A7J9mPsJeQWgLt1gLucD9VKmtoqa6lQW/qzVdrNWQhKDaN/qbNgaM6ykDImVY74Mih 3TjVTXTXvPo8epXX1tASGG3fHV6y2mTawzYynGnSLBllW6wqp+uv/avfZ+4dhtmvwx20 AI5dujHtShFjcvyyvcV+yodK5Ny68zXYCwKCcs0Asmh8YFOCqXbqi6YQE0zgXjTUxmOh fXsw== X-Gm-Message-State: AOJu0YzS+QYRvLIH/GKz57ZcZCg5PY+quSW+PHy1/kFJpmRjLXE+TY8q 7Eoort+LT066WsGeA5AXJL0xdwe1WJgFF+dEN4MeDTosMlQAMtBJRj/fbSmFJGUWdsl1wSuOFAQ EuLj8exgHWXWq8cDtwngw1VKHDceuI8Km4wgTBegt7tWVlYRmSDKsB/YcOo67+OHIhpZFLrGqtd 0dhXoNFSTDspA= X-Gm-Gg: ASbGncsAdxJRcoqBhkErxhhWGqMyIdi+e10bX6hr7m/LhXea6FdBLJmx5wTu6Z4Ak7J qHwl6Hyju9S+NVGdu+vFexrxCDK9zFpxveLzAlWwBLR4xCh0+rj16xLlgLUxDM3sAZp9vWvqiGx 2ZXme3mYSAkeKquX/qVEgA+cZ0w8Byq1gl32fl7rkpBdTQpRtL93v7YTb6c8CCGA1A4GHpDD7dB x+0Xrv5hV4ubDtXAYXKtZchHWDeUMO9j2+oe7tm2WPXf14wzPfQzuiASJsfZ26eKL72O+fXDkLj NacxswFpQ9/9iD1/gSIKThuG9fg+AFlYjqi52hiRemoaRX/s3+X3Evbhi9NF0gcOY3tp7/cXk9Y rWKBebWq4roUG3KPSOiFqvOm5 X-Received: by 2002:a05:620a:192a:b0:7c5:6a2a:d0d0 with SMTP id af79cd13be357-7c7a7659f89mr169489785a.5.1744253696819; Wed, 09 Apr 2025 19:54:56 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHrVvCZIHwuDZ2/8L0fHk0cGDEy3BTJ7ZnP0Z04SYrB0njdxEUSZqqZcDAxzKB90ZCxPlJXGQ== X-Received: by 2002:a05:620a:192a:b0:7c5:6a2a:d0d0 with SMTP id af79cd13be357-7c7a7659f89mr169488385a.5.1744253696500; Wed, 09 Apr 2025 19:54:56 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54d3d123197sm24032e87.44.2025.04.09.19.54.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Apr 2025 19:54:55 -0700 (PDT) From: Dmitry Baryshkov Date: Thu, 10 Apr 2025 05:54:43 +0300 Subject: [PATCH v7 04/12] llvm: handle libdir in llvm-config MIME-Version: 1.0 Message-Id: <20250410-mesa-25-v7-4-59d715c66e19@oss.qualcomm.com> References: <20250410-mesa-25-v7-0-59d715c66e19@oss.qualcomm.com> In-Reply-To: <20250410-mesa-25-v7-0-59d715c66e19@oss.qualcomm.com> To: openembedded-core@lists.openembedded.org Cc: Khem Raj X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=905; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=IuzzLH49YcN+VIIkSFokCKJ3AWdCIlrAtboeqw5vZ2E=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBn9zLxFK7b2qCDxTW/BNhimlgaewYws7LakS+Vy aom/okXvOCJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ/cy8QAKCRCLPIo+Aiko 1QH3B/465ApR0dQcWQ4BNNFjdaIp3At+TzJptCgYcvrqSj0g3H/x9UDsta9fK5pqgGri4NHFGtu jBhFC3IXsh1u0hvIN3LNc8AGPio8nUj2fONYh9FamB0C33fbT+JCnEn5oyHx8yfa4w1jyVZ+G0n 3my4yW68XpVJXfo8aOLsod7rkjWatIxH8KvEbg3gEFODK/I2ehshjYvIWrRcsTlRxBl4n02J5ty hgW2p6LSPC+Ysmep36JyO6eLoLADUVfadUW53B/oCeVbMhsNxPlDXPGe7dWE+mzvKFgkMNhUAtc cl77+tdCZ0BCjBEQ3GcwjZ/Sd69RxV8i07CfZzdHU2U4UCPz X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-ORIG-GUID: RgBANFALc_-QUMukgxZU9zm3B5Y7rAJ9 X-Proofpoint-GUID: RgBANFALc_-QUMukgxZU9zm3B5Y7rAJ9 X-Authority-Analysis: v=2.4 cv=NaLm13D4 c=1 sm=1 tr=0 ts=67f73302 cx=c_pps a=50t2pK5VMbmlHzFWWp8p/g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=XR8D0OoHHMoA:10 a=EUspDBNiAAAA:8 a=DFIL5-tCekSmT_aHp3cA:9 a=QEXdDO2ut3YA:10 a=IoWCM6iH3mJn3m4BftBB:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-04-09_06,2025-04-08_04,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 impostorscore=0 priorityscore=1501 adultscore=0 malwarescore=0 suspectscore=0 lowpriorityscore=0 bulkscore=0 mlxlogscore=778 clxscore=1015 phishscore=0 spamscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2502280000 definitions=main-2504100021 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 ; Thu, 10 Apr 2025 02:55:07 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/214606 The llvm-config wrapper also needs to override a --libdir switch, otherwise software (like mesa) end up using TMPDIR-based directory for Clang resource lookup (and also encoding TMPDIR into the target binary). Signed-off-by: Dmitry Baryshkov --- meta/recipes-devtools/llvm/llvm/llvm-config | 3 +++ 1 file changed, 3 insertions(+) diff --git a/meta/recipes-devtools/llvm/llvm/llvm-config b/meta/recipes-devtools/llvm/llvm/llvm-config index 5e4ded2da5bc95d429c6f717a2f25223bbbe210e..6cf3e7578fa96f2893f73077bece4db45f29547c 100644 --- a/meta/recipes-devtools/llvm/llvm/llvm-config +++ b/meta/recipes-devtools/llvm/llvm/llvm-config @@ -35,6 +35,9 @@ for arg in "$@"; do --libs) output="${output} -lLLVM" ;; + --libdir) + output="${output} ${libdir}" + ;; --link-shared) break ;; From patchwork Thu Apr 10 02:54:44 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 61075 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 5E678C369A4 for ; Thu, 10 Apr 2025 02:55:07 +0000 (UTC) Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by mx.groups.io with SMTP id smtpd.web11.25732.1744253702599633605 for ; Wed, 09 Apr 2025 19:55:02 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@qualcomm.com header.s=qcppdkim1 header.b=VSjW46Y3; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: oss.qualcomm.com, ip: 205.220.168.131, mailfrom: dmitry.baryshkov@oss.qualcomm.com) Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 539HIqDJ032322 for ; Thu, 10 Apr 2025 02:55:02 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= zt7selowXioo6Gi5XyyneJokuRQ5jdUvxtb+yM5J/aw=; b=VSjW46Y351RhW0SN lvYsJjUY9BvDExljFH0lYfzqKR9EmNKM3vlTYQI2peUc2DX2ruduN93PdR6I9wxp FTLLt/3B6Qo0WxD/hmzLEhMQT1rs59ikhmMzce3qUUPFyzDNYC9Rzyc6Ln8UffqW V+qzw7p6PNF5Lmt3U0u9P21oQ6wGrvIO02k9nZq4mK2EBZZ0L7dLHQsfXQr888ai 6z93lXXQQd1z/HeswKLvwQbGAgzfbg+7Xknq654J/cHELG001H2tolmvHrRrKrd0 6Mm9lto5UfUDkbT4ifD3EG9bjWlIPoApaVcMkQlag+XM3sC9o5DDyOyFlYsts4Vp srw+sQ== Received: from mail-qv1-f71.google.com (mail-qv1-f71.google.com [209.85.219.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 45twbedff8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Thu, 10 Apr 2025 02:55:02 +0000 (GMT) Received: by mail-qv1-f71.google.com with SMTP id 6a1803df08f44-6f0c089909aso4871086d6.2 for ; Wed, 09 Apr 2025 19:55:02 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744253700; x=1744858500; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=zt7selowXioo6Gi5XyyneJokuRQ5jdUvxtb+yM5J/aw=; b=A7wQvm9EydhM4kPXxtwCSU9I+6tocuWdFynoVmE7N1NyEPXq6UYvXyT9Dka7etBJGe El1SCF9yFbLP+w8RjwZNo5NPOBq15I3mgXQHb1Pt9G9o71VEDSXqbNXD3VaYxySK8FKi O+kX8l1ZdXGF0GvJUCGFVMjHKqP5Rblg+ehYGomf7HElOUVXDIeKD/XjC2MvOlcHABqJ Ed5yw0duy2cpqP8FaZbxyHZ4XvnpKMN1jI5Fo6b1NNYSl89jqfPeoC1Yy9eLF7Q8QD99 gzBAFKR8E7I4c7YR615gXhTTOpWdeNlNHoZAudIQMeKW0fmcqTQvMgpYLU0x+Eg9cjq9 390Q== X-Gm-Message-State: AOJu0YxUOBqa0Y7aDr+J7SKEWz53qYB19fizZP87OxM+vcYJtYEu+Zu/ cNS2gqNbnSXbp11umix85OZVZy/kR+ATArB5oVkl8PdpLnebfwqGpQHDRzGJk/mTMKYzycyDHM/ LEhES8MCtZo+fpXgPt5f+/zhQvPsSGD5UOLAt4aC9ua4/kQRTa+NXQyG2Gt/8anvAIT3Y7PHoz2 7G/iwrA/TNKXE= X-Gm-Gg: ASbGncsitNNJUGWjcB6kIqtpJmgAbW4EkcdKJp97d8CfUxfrFH1mv67jPWYWG55chny katP4N8rHJyh5tyj/+lEaFP7GVUmZhI7QDsYNeRlHLbxg1XrT8TO6aTYboyE9kvgnYwX/Pi8mEv 770WKM1Tz9t3aX1xboE+dnizgzsW0zOgoOc3FxTfki8+De9oEbAI6GUGs4Mar3tee5ML8Q3fr5W K5KPQyD9TgIVTHV2gpSP74Oa4WsfA6h2hWjhqaf164KngH7ViSUDfEmjrmAJ959WQo+abRGcu9p p5TReyfmkN+VAUYCbuWCY/RPXroLKI9O13GEhbETEew6F/P29xMpYPQTB5mdYg38GYKRX7LsPyG uFL/Q9g969ZzX3hJbdyN1c6hG X-Received: by 2002:a05:620a:d93:b0:7c7:a543:dcfd with SMTP id af79cd13be357-7c7a7688832mr189772085a.25.1744253700541; Wed, 09 Apr 2025 19:55:00 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEZjsjkHW3mvH5copQxNyzIIV/i3ZRfaBq6+ZcHF55H4s9PDC1wUJTKZ7qUoGeQbtGta2mntg== X-Received: by 2002:a05:620a:d93:b0:7c7:a543:dcfd with SMTP id af79cd13be357-7c7a7688832mr189770885a.25.1744253700230; Wed, 09 Apr 2025 19:55:00 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54d3d123197sm24032e87.44.2025.04.09.19.54.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Apr 2025 19:54:58 -0700 (PDT) From: Dmitry Baryshkov Date: Thu, 10 Apr 2025 05:54:44 +0300 Subject: [PATCH v7 05/12] llvm: also use llvm-config wrapper for nativesdk recipes MIME-Version: 1.0 Message-Id: <20250410-mesa-25-v7-5-59d715c66e19@oss.qualcomm.com> References: <20250410-mesa-25-v7-0-59d715c66e19@oss.qualcomm.com> In-Reply-To: <20250410-mesa-25-v7-0-59d715c66e19@oss.qualcomm.com> To: openembedded-core@lists.openembedded.org Cc: Khem Raj X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1022; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=4cayM6tuJjZmEh9NCkIWzIAK74OirFasFDapnDJu3oQ=; b=owGbwMvMwMXYbdNlx6SpcZXxtFoSQ/p3o48PixS2/FMPsmYIk3BUuF525FqI12SJGfztFjwc4 T6Z3vc7GY1ZGBi5GGTFFFl8ClqmxmxKDvuwY2o9zCBWJpApDFycAjCR2jAOhvU//zL7nb12xrvi 14RFD0UaD0e0psi6+LjLiPsGG4t92ZHJW/Vqy8zCHx+dtj196pTsH2gu77HPpSPnMvPLG0LcU22 0xDWCxeyVsrKNImZNj/+6Y+HDsoWsuzp9GRIF1id83tDftjLYMC5F1PPUC/GzqRFLO97Jq14xyb Nu/Smb6tR+3Xuh9/vM+tWeoUxzm8631rbIqtoq7tmTvkIgyyUwep75o4650czNXTw6hl2fLWwCS +eEKsT3/6h1TUnhv7arSs1rrfUziSlvhdT7zqkuWD6vsWF95uwTu5s3sN76mvQu2O9sovbkT3V7 WVstHpsfmZaaHHrZPaYsujIy6syHnEXr96RXvok+PQ8A X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-GUID: DCL4Bh_9ztekScV2mwsKXCpiq9MiSM9Z X-Authority-Analysis: v=2.4 cv=T7OMT+KQ c=1 sm=1 tr=0 ts=67f73306 cx=c_pps a=UgVkIMxJMSkC9lv97toC5g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=XR8D0OoHHMoA:10 a=EUspDBNiAAAA:8 a=gB5LcxD2NF1HxfupLLgA:9 a=QEXdDO2ut3YA:10 a=1HOtulTD9v-eNWfpl4qZ:22 X-Proofpoint-ORIG-GUID: DCL4Bh_9ztekScV2mwsKXCpiq9MiSM9Z X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-04-09_06,2025-04-08_04,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 mlxlogscore=743 lowpriorityscore=0 adultscore=0 phishscore=0 bulkscore=0 mlxscore=0 malwarescore=0 suspectscore=0 priorityscore=1501 spamscore=0 clxscore=1015 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2502280000 definitions=main-2504100021 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 ; Thu, 10 Apr 2025 02:55:07 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/214607 The recipes targeting the SDK (e.g. nativesdk-mesa) should also use the llvm-config wrapper, otherwise they get get a lot of incorrect flags, the most offensive being the rpath, as it results in TMPDIR being a part of the resulting binary. Signed-off-by: Dmitry Baryshkov --- meta/recipes-devtools/llvm/llvm_20.1.1.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/recipes-devtools/llvm/llvm_20.1.1.bb b/meta/recipes-devtools/llvm/llvm_20.1.1.bb index 8719faebe38b96d161b557a469c92490fe44f370..1ea94327161a8002453ac1aa79d7661d4da72499 100644 --- a/meta/recipes-devtools/llvm/llvm_20.1.1.bb +++ b/meta/recipes-devtools/llvm/llvm_20.1.1.bb @@ -138,6 +138,7 @@ do_install:append:class-native() { } SYSROOT_PREPROCESS_FUNCS:append:class-target = " llvm_sysroot_preprocess" +SYSROOT_PREPROCESS_FUNCS:append:class-nativesdk = " llvm_sysroot_preprocess" llvm_sysroot_preprocess() { install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/ From patchwork Thu Apr 10 02:54:45 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 61076 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 5E7B1C369A9 for ; Thu, 10 Apr 2025 02:55:07 +0000 (UTC) Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by mx.groups.io with SMTP id smtpd.web11.25735.1744253706462953482 for ; Wed, 09 Apr 2025 19:55:06 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@qualcomm.com header.s=qcppdkim1 header.b=CWbV5jMw; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: oss.qualcomm.com, ip: 205.220.168.131, mailfrom: dmitry.baryshkov@oss.qualcomm.com) Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 539HEN5n032317 for ; Thu, 10 Apr 2025 02:55:06 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 5HJcaMFJSwT4eIdh9u5ZiT7/jhxEj2oPM6ltbxl5x44=; b=CWbV5jMwJJr/84Z+ RoSP6kx/cZH4kh8R3tKVopZtTgBhjmaHFQLDj4bym5G9CO1Yg8IrMqQMmk+JLWDR C6pIGsaq9EQVJWTZBApobUi7Dz3SV+BnQeGeNgwZKxDLaZjr1uRUvSpuia2gdZxj e6u228KSi9Fi0Fo4vIYNHy0JxQ2wloSxc+Lnrz1UR1dR2jh7n/PXJYh8Y+oFs+Yz 5EVQ/DznOoNK8hxWUUXZwAB1u87lE4CosiAg/6czUYT4jPwIjb1TPri09jHyCUbn Aup4cabjIxAU35L2N4VeihDcywy04tNdHxTyjzuxeWOsg7HZPfCX3Ox/Ok9Hzpqo asTVyg== Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 45twbedffj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Thu, 10 Apr 2025 02:55:06 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-7c760637fe5so87753585a.0 for ; Wed, 09 Apr 2025 19:55:05 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744253704; x=1744858504; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=5HJcaMFJSwT4eIdh9u5ZiT7/jhxEj2oPM6ltbxl5x44=; b=jD7K6vDSCe9YslH0fZhQQtrZO5RZ/szcHpiyel9IdcARBrK/zwkAQic9F6QCRtWoU0 p9QsAkXXxloEJvsBYlaLLbGZN6xDBFVzQmmeROq/wVI67z306Q5yrEFNLkqPFjJgYhx+ gTbNXc40YbYU1KbjI1ce/jIbXu0gY7Yn0GYeIUL/0/zMoeV+o/HByBA7clZkzN8hsInL bkUJrnFPm3UxvIZfioI+YCHy3ccQcKvOZ8zEYG6lrU7fb042qziMVmx0SbIdjKqPgTtm LHNPsCcK5rIdA7jFW3mZsbhSesHHR54d9bf1UkX5TjCYuwQ3f6DOOA72kylblReiXOdV RBcQ== X-Gm-Message-State: AOJu0Yw4Brw4aF72+3ciC3MW+l+70ETnHJzA6lcjW8gVArHJDWDC0qgp Vb3WAg/RJCMPPgPur1q5q7+Qo/nqIsJ4wq7hYod8UNedXVj3qlYsC+rI4PvXxm8dHSPf9fAgGAI 5WLfGA2DCWSSZZdSqGQxMcyEToVPIbPgaLIDMo1mT0XkgxcMfbLoyYZfBjD+HKC0G/tsu9JxxjQ qDrpbo8LDyUm0= X-Gm-Gg: ASbGncsoO7hirYo4aOWE0W1BNCgwBB3jW00InNpcUbV3GJQky3ByObvztnvzaHGdiJh I6ZaJf27WLHaqgIa6ixx/Xw3xww73hqRbioHJjSycx3Sm6ZcCoKTqynPMNAPp//+RhU+TpLxzqa 4dbSQxSSXdJbXhPUxIcV9NzoYOMdX8hoE37VKIh86zcmvf8RsooWk6tQlXIf5yeR2WF3bqyQAEn jpA/Gd7NAmqqp5Y72zG1nHQSwAbmTW6vYQTne8O18CHo8xEqADm6raKh/+rJLDsyx6htM888tkY X8uAat1W90puBsKw9U32CABcftSkruOg6H3Ky4Up3PG4XHAeUr9wz5Y4ea7je3kkfxr6T1btlps UHMwad8ckmBN8jrAuQfxTakHL X-Received: by 2002:a05:620a:3946:b0:7c7:93ae:fe56 with SMTP id af79cd13be357-7c7a76d0401mr145569485a.51.1744253704223; Wed, 09 Apr 2025 19:55:04 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHoOEgY+9wlVeA7AKConOiNmot1LTBte7TVfqyoPYFASEVOX4JOG00e1iXU6KkhQ4Xkpaxlhg== X-Received: by 2002:a05:620a:3946:b0:7c7:93ae:fe56 with SMTP id af79cd13be357-7c7a76d0401mr145568085a.51.1744253703891; Wed, 09 Apr 2025 19:55:03 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54d3d123197sm24032e87.44.2025.04.09.19.55.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Apr 2025 19:55:01 -0700 (PDT) From: Dmitry Baryshkov Date: Thu, 10 Apr 2025 05:54:45 +0300 Subject: [PATCH v7 06/12] llvm: remove LLVM_LDFLAGS from llvm-config --ldflags output MIME-Version: 1.0 Message-Id: <20250410-mesa-25-v7-6-59d715c66e19@oss.qualcomm.com> References: <20250410-mesa-25-v7-0-59d715c66e19@oss.qualcomm.com> In-Reply-To: <20250410-mesa-25-v7-0-59d715c66e19@oss.qualcomm.com> To: openembedded-core@lists.openembedded.org Cc: Khem Raj X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=3323; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=+gxJKfRSnv3UH2cvcNI+hzuaDpPxkXATCwLaG9OR8K0=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBn9zLxtIidv3jb6+UCHDdhBozJfvLl8hHLpA5/U q1atVn50PmJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ/cy8QAKCRCLPIo+Aiko 1X4/B/4iwnGZL/uBI8fBFI83C5D/D1nvexQ6rDxs3PQXRmkdYAvLeW2YkKCQjuC0ZnFRy4t4LVx CXzcub0QwutnxLGWOmt3fGpeyCZ0tOKNIeXlYZL1A6JJIxu61fa7nvOfC+3GBovcpefnDcC0tTv t+IbkT8T+rC58GmV9K0EuoshaDMLyq5QDQsoVG5FMCdYg7iwBg2b5MIK2Y35tQH1qauR26J5Lif 51enbpEdJDXmAdSsGRGWp2uAtpiw3QVbZvIpmalkU65TpeHuMJDC+Ac1aLfTgfhuWWn1W56RF5q Un4P9Y00gp6vhK29kf3263xbxR9Deiai1SWq8634TSN/rF62 X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-GUID: -pIbj3CZRwozC9z-xSM2VFYlVk6kJaDi X-Authority-Analysis: v=2.4 cv=T7OMT+KQ c=1 sm=1 tr=0 ts=67f7330a cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=XR8D0OoHHMoA:10 a=NEAV23lmAAAA:8 a=EUspDBNiAAAA:8 a=WIpSu2wNbg6c4CAHoA0A:9 a=QEXdDO2ut3YA:10 a=NFOGd7dJGGMPyQGDc5-O:22 X-Proofpoint-ORIG-GUID: -pIbj3CZRwozC9z-xSM2VFYlVk6kJaDi X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-04-09_06,2025-04-08_04,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 mlxlogscore=999 lowpriorityscore=0 adultscore=0 phishscore=0 bulkscore=0 mlxscore=0 malwarescore=0 suspectscore=0 priorityscore=1501 spamscore=0 clxscore=1015 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2502280000 definitions=main-2504100021 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 ; Thu, 10 Apr 2025 02:55:07 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/214608 On native OE builds the LLVM_LDFLAGS gets a lot of extra flags which may depend on exact build dir and as such be inappropriate to binaries shared through sstate-cache. It is not possible to override this behaviour in llvm-config since crossscripts are not being used for native builds. Ignore LLVM_LDFLAGS for native builds. Signed-off-by: Dmitry Baryshkov --- ...g-remove-LLVM_LDFLAGS-from-ldflags-output.patch | 34 ++++++++++++++++++++++ meta/recipes-devtools/llvm/llvm_20.1.1.bb | 2 ++ 2 files changed, 36 insertions(+) diff --git a/meta/recipes-devtools/llvm/llvm/0001-llvm-config-remove-LLVM_LDFLAGS-from-ldflags-output.patch b/meta/recipes-devtools/llvm/llvm/0001-llvm-config-remove-LLVM_LDFLAGS-from-ldflags-output.patch new file mode 100644 index 0000000000000000000000000000000000000000..2320399d5f7de44cf9cc4269d180c097c1b4a616 --- /dev/null +++ b/meta/recipes-devtools/llvm/llvm/0001-llvm-config-remove-LLVM_LDFLAGS-from-ldflags-output.patch @@ -0,0 +1,34 @@ +From caff2482f786dd7fd5f1f46f2667f7ed847cb8f8 Mon Sep 17 00:00:00 2001 +From: Dmitry Baryshkov +Date: Wed, 2 Apr 2025 17:05:17 +0300 +Subject: [PATCH] llvm-config: remove LLVM_LDFLAGS from --ldflags output + +On native OE builds the LLVM_LDFLAGS gets a lot of extra flags which may +depend on exact build dir and as such be inappropriate to binaries +shared through sstate-cache. It is not possible to override this +behaviour in llvm-config since crossscripts are not being used for +native builds. As a OE-specific modification ignore LLVM_LDFLAGS for +native builds. + +Signed-off-by: Dmitry Baryshkov +Upstream-Status: Inappropriate [OE-Specific] +--- + llvm/tools/llvm-config/llvm-config.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/llvm/tools/llvm-config/llvm-config.cpp b/llvm/tools/llvm-config/llvm-config.cpp +index d5b76b1bb6c1..29f7c2eaa419 100644 +--- a/llvm/tools/llvm-config/llvm-config.cpp ++++ b/llvm/tools/llvm-config/llvm-config.cpp +@@ -529,7 +529,7 @@ int main(int argc, char **argv) { + OS << ActiveIncludeOption << ' ' << LLVM_CXXFLAGS << '\n'; + } else if (Arg == "--ldflags") { + OS << ((HostTriple.isWindowsMSVCEnvironment()) ? "-LIBPATH:" : "-L") +- << ActiveLibDir << ' ' << LLVM_LDFLAGS << '\n'; ++ << ActiveLibDir << '\n'; + } else if (Arg == "--system-libs") { + PrintSystemLibs = true; + } else if (Arg == "--libs") { +-- +2.39.5 + diff --git a/meta/recipes-devtools/llvm/llvm_20.1.1.bb b/meta/recipes-devtools/llvm/llvm_20.1.1.bb index 1ea94327161a8002453ac1aa79d7661d4da72499..b95473c88b64961cb6ae2f4ace14aac4600cf98e 100644 --- a/meta/recipes-devtools/llvm/llvm_20.1.1.bb +++ b/meta/recipes-devtools/llvm/llvm_20.1.1.bb @@ -32,6 +32,8 @@ SRC_URI[sha256sum] = "4d5ebbd40ce1e984a650818a4bb5ae86fc70644dec2e6d54e78b4176db UPSTREAM_CHECK_URI = "https://github.com/llvm/llvm-project" UPSTREAM_CHECK_REGEX = "llvmorg-(?P\d+(\.\d+)+)" +SRC_URI:append:class-native = " file://0001-llvm-config-remove-LLVM_LDFLAGS-from-ldflags-output.patch" + S = "${WORKDIR}/llvm-project-${PV}.src" OECMAKE_SOURCEPATH = "${S}/llvm" From patchwork Thu Apr 10 02:54:46 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 61078 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 689BFC369A2 for ; Thu, 10 Apr 2025 02:55:17 +0000 (UTC) Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by mx.groups.io with SMTP id smtpd.web10.25483.1744253710546013160 for ; Wed, 09 Apr 2025 19:55:10 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@qualcomm.com header.s=qcppdkim1 header.b=Iv9kox6M; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: oss.qualcomm.com, ip: 205.220.180.131, mailfrom: dmitry.baryshkov@oss.qualcomm.com) Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 539HJQmt006884 for ; Thu, 10 Apr 2025 02:55:09 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= uhbgRMHi43F6BAVFsoITE282IxTPF38L3skl19W1NB8=; b=Iv9kox6MzRgORFXo 4UwUCaWNSPYQ4Vc2ed4/C7tq99tUihbkxwiG9v+1gs9oOQJR65GsDN1OSfp2a2Y6 orkc8O+sfy2LErKFnEiRUyMMfUaNwusFFeaJQfOxYWJxendxJbF1TP5q652SK6XT 0SBf+AI3v/1XGjcWTD1vrPjOTjWce4jxcTwitbqPQsMaWKRTtO+7z5Gb9g6nlY5j 3WxCphfIh9zlAvLvbYOsF28Msl+3xtjCvFMwiLvmczkGFp3jdLhVnqWfBSr7Vnfb FKGgGPtxmjvELHKz6xlsBz8EE0jemsmYdJ9vJve1A/f7kVZr7Art/JNp6jHrn4/L 5sKzxw== Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com [209.85.222.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 45twg3nc8x-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Thu, 10 Apr 2025 02:55:09 +0000 (GMT) Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-7c760637fe5so87762385a.0 for ; Wed, 09 Apr 2025 19:55:09 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744253708; x=1744858508; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=uhbgRMHi43F6BAVFsoITE282IxTPF38L3skl19W1NB8=; b=sMXCgaT+jEqfQAa4iw0Xiya75A2zlLuHN2PU+D/GAeDtY7iSTNN1xTiKZTOGt/RZB7 O6k0KjRJAGKvQ1MEKuocS2RT5aQ8of3sBuPWHHYWdTZGlj0cv9vPrfts+CrOagtaWaas ZJUd9WgPNQDD4D+KFC3y+HjyhvP3fpn82lkfvpY6MlqopMbj09TV7lgmpoVqsgfvZ00n /VVmklwXnoNJ9VK20Lu4pxlCO+XWyTVtOfARfv4kLsGJ3awm+SK+iyeOe2c5wE+sOwdf S0oqkwATI+NW7lk3+YH/yUGsUYrkOAdhUr3oM+HaSLBZZnvmDMzgjKMF/kB5AjA380l3 hASQ== X-Gm-Message-State: AOJu0YwVlUKYHRGuhPt0qdd70+zu24hs2EumOvGEYtxJMgoWocqz1Vys Hv4kUPCCpVk7zUW2rnhIPsdBh8mCxNAOJwQ/uB+BQ0I8DvtX4MiNrfDQ5pNQSqPzjJWNTEtloFB 2PY9Ubc90DmAwdiA6wxvi7OzEgqxoCJCY35dDgIN3A0vy2PES1gz9m4H3BoUW7YhPJGtreBtpL6 wOr8cl5KISqp8= X-Gm-Gg: ASbGncs3ybvGh/oksrG19vrUpIfRkC0hN0fwkJbDu4SPo8qk2VUoNOxa6kDrI1ZJmCx +QYE/vmDPXl32XU1f3Cqf/nJV79fx74/Fgeno9Egrk/ikK8HtJUv0+30oMCt84SX6DYMrhHmq9B BUBeFQQmVHO2gKLE6Qxb8fcmOqF6HIgHVVPCkm0MhIYx8C3vx8qNqQFCBjN3uAbnx7L5k/VgbZu JzPosvmVEaQRq/W/KQtHJ3iLlmYQ0ZGK89vrKhsgWCz91G0/i1vZJzxqIr/bn966v5sRJ3+yBkk QI8U7FLSDJETYOWM+o+Gy8LNB02L7KjXUl3mZNnaiGuC1y2iShJz++cdsTbZ8ETx+xTAAxHDjU7 ErnKjB9v1CvtXBIlWvZJkhKRO X-Received: by 2002:a05:620a:28d1:b0:7c5:5596:8457 with SMTP id af79cd13be357-7c7a76d04abmr164329685a.57.1744253707988; Wed, 09 Apr 2025 19:55:07 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGqIBidXsE3bnRGa90a9HWuSLcR02fwUY93HojEYwuTr8z4SGkj0C/2WhOKJDqNWPLVEH4rxA== X-Received: by 2002:a05:620a:28d1:b0:7c5:5596:8457 with SMTP id af79cd13be357-7c7a76d04abmr164327885a.57.1744253707613; Wed, 09 Apr 2025 19:55:07 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54d3d123197sm24032e87.44.2025.04.09.19.55.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Apr 2025 19:55:05 -0700 (PDT) From: Dmitry Baryshkov Date: Thu, 10 Apr 2025 05:54:46 +0300 Subject: [PATCH v7 07/12] llvm: support building libclc MIME-Version: 1.0 Message-Id: <20250410-mesa-25-v7-7-59d715c66e19@oss.qualcomm.com> References: <20250410-mesa-25-v7-0-59d715c66e19@oss.qualcomm.com> In-Reply-To: <20250410-mesa-25-v7-0-59d715c66e19@oss.qualcomm.com> To: openembedded-core@lists.openembedded.org Cc: Khem Raj X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=6399; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=u092dSUlsgJaerFAE0RhIpVWb+dlqE4lK+d4UpDu+14=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBn9zLxDIm0Dpbmv0by34OeJUZ3YEHFZf9Gokvrf xCE6LsNv6KJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ/cy8QAKCRCLPIo+Aiko 1QSiB/93UjPpvivy9cZNANG4qRcs2bpU2YImetEu0u5SJMqjmG3NdtX+OF+pTYjAvHAWsCuKZ2r YgaXmtGqIpHiBz4Tt7Brarf82usssJUBvJOYO1Z11jL6OzBQu2WpPN7oO91bbxnB5LxF9MAhDR1 0nqZAX9lrslqCTbocDxvp72/Ff2YwFmSNhN9duMhq+73VsKZYbJg8FcMzS1LLC6De7dfzFzGFXd xNV2RfwzHXl2b7kFIonG6cl/l3ieWXhF3rFUFeryFSk15vpstljF2D/tgSWw8lswmVG74Y37nGC JIGOuxz9J/CzgN6vwhiXN/hxgOwzcRgdedYv10+f1beZNj3A X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-GUID: NlbK_56zdC0TXyg02W9TqeENujmROIoT X-Proofpoint-ORIG-GUID: NlbK_56zdC0TXyg02W9TqeENujmROIoT X-Authority-Analysis: v=2.4 cv=I/9lRMgg c=1 sm=1 tr=0 ts=67f7330d cx=c_pps a=50t2pK5VMbmlHzFWWp8p/g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=XR8D0OoHHMoA:10 a=Twlkf-z8AAAA:8 a=EUspDBNiAAAA:8 a=-uxSO3zEkdLPsdym20oA:9 a=QEXdDO2ut3YA:10 a=a97rIl97qucA:10 a=IoWCM6iH3mJn3m4BftBB:22 a=-74SuR6ZdpOK_LpdRCUo:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-04-09_06,2025-04-08_04,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=42 mlxscore=0 phishscore=0 suspectscore=0 mlxlogscore=664 lowpriorityscore=42 spamscore=0 clxscore=1015 malwarescore=0 adultscore=0 priorityscore=1501 impostorscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2502280000 definitions=main-2504100021 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 ; Thu, 10 Apr 2025 02:55:17 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/214609 Current Mesa requires libclc in order to build Intel Gallium (iris) or Vulkan drivers. In order to unblock Mesa updates, build libclc as a part of the LLVM build process. The libclc requires Clang for building, so enable Clang too via LLVM_PROJECTS. Remove clang from the DESTDIR, so that it is only used during the build process. Proper handling of Clang as a toolchain is a separate and much more complicated topic. Clang is enabled for all kinds of builds as it is a requirement for libclc to build. Cleaning of ${datadir} has been moved to happen at the end of do_install to be performed after do clang removal and made not to fail if ${datadir} is not empty, as libclc install files into that location. NVPTX and SPIRV targets are enabled since they are required for the libclc to link. LLVM_NATIVE_TOOL_DIR is used to pass a path to the native tools built via llvm-native instead of building them during the target and/or nativesdk build. The llvm-clc package is set to RPROVIDE libclc (and the recipe also PROVIDEs libclc) in order to be compatible with the meta-clang packages (and to be future-compatible with the split package after proper Clang support is introduced to OE-Core). Signed-off-by: Dmitry Baryshkov --- meta/recipes-devtools/llvm/llvm_20.1.1.bb | 40 +++++++++++++++++++++++++++---- 1 file changed, 36 insertions(+), 4 deletions(-) diff --git a/meta/recipes-devtools/llvm/llvm_20.1.1.bb b/meta/recipes-devtools/llvm/llvm_20.1.1.bb index b95473c88b64961cb6ae2f4ace14aac4600cf98e..736eeb944f033c909a77fc552c83ab253f84398a 100644 --- a/meta/recipes-devtools/llvm/llvm_20.1.1.bb +++ b/meta/recipes-devtools/llvm/llvm_20.1.1.bb @@ -58,19 +58,22 @@ def get_llvm_arch(bb, d, arch_var): def get_llvm_host_arch(bb, d): return get_llvm_arch(bb, d, 'HOST_ARCH') -PACKAGECONFIG ??= "libllvm" +PACKAGECONFIG ??= "libllvm libclc" # if optviewer OFF, force the modules to be not found or the ones on the host would be found PACKAGECONFIG[optviewer] = ",-DPY_PYGMENTS_FOUND=OFF -DPY_PYGMENTS_LEXERS_C_CPP_FOUND=OFF -DPY_YAML_FOUND=OFF,python3-pygments python3-pyyaml,python3-pygments python3-pyyaml" PACKAGECONFIG[libllvm] = "" +PACKAGECONFIG[libclc] = "" # # Default to build all OE-Core supported target arches (user overridable). # -LLVM_TARGETS ?= "AMDGPU;${@get_llvm_host_arch(bb, d)}" +LLVM_TARGETS ?= "AMDGPU;NVPTX;SPIRV;${@get_llvm_host_arch(bb, d)}" ARM_INSTRUCTION_SET:armv5 = "arm" ARM_INSTRUCTION_SET:armv4t = "arm" +LLVM_PROJECTS = "${@bb.utils.contains('PACKAGECONFIG', 'libclc', 'clang;libclc', '', d)}" + EXTRA_OECMAKE += "-DLLVM_ENABLE_ASSERTIONS=OFF \ -DLLVM_ENABLE_EXPENSIVE_CHECKS=OFF \ -DLLVM_ENABLE_PIC=ON \ @@ -84,6 +87,7 @@ EXTRA_OECMAKE += "-DLLVM_ENABLE_ASSERTIONS=OFF \ -DLLVM_VERSION_SUFFIX='${VER_SUFFIX}' \ -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON \ -DCMAKE_BUILD_TYPE=Release \ + -DLLVM_ENABLE_PROJECTS='${LLVM_PROJECTS}' \ " EXTRA_OECMAKE:append:class-target = "\ @@ -91,6 +95,7 @@ EXTRA_OECMAKE:append:class-target = "\ -DLLVM_HOST_TRIPLE=${TARGET_SYS} \ -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen${PV} \ -DLLVM_CONFIG_PATH=${STAGING_BINDIR_NATIVE}/llvm-config${PV} \ + -DLLVM_NATIVE_TOOL_DIR=${STAGING_BINDIR_NATIVE} \ " EXTRA_OECMAKE:append:class-nativesdk = "\ @@ -98,6 +103,7 @@ EXTRA_OECMAKE:append:class-nativesdk = "\ -DLLVM_HOST_TRIPLE=${SDK_SYS} \ -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen${PV} \ -DLLVM_CONFIG_PATH=${STAGING_BINDIR_NATIVE}/llvm-config${PV} \ + -DLLVM_NATIVE_TOOL_DIR=${STAGING_BINDIR_NATIVE} \ " # patch out build host paths for reproducibility @@ -126,17 +132,39 @@ do_install() { # Remove opt-viewer: https://llvm.org/docs/Remarks.html rm -rf ${D}${datadir}/opt-viewer - rmdir ${D}${datadir} # reproducibility sed -i -e 's,${WORKDIR},,g' ${D}/${libdir}/cmake/llvm/LLVMConfig.cmake fi + + # Remove clang bits from target packages, we are not providing it for the system + if ${@bb.utils.contains('PACKAGECONFIG', 'libclc', 'true', 'false', d)} && + [ "${CLASSOVERRIDE}" != "class-native" ] ; then + rm -f ${D}${bindir}/clang* + rm -fr ${D}${libdir}/clang + rm -fr ${D}${datadir}/clang + + rm -f ${D}${bindir}/scan* + rm -fr ${D}${libdir}/libscanbuild + rm -fr ${D}${datadir}/scan-build + rm -fr ${D}${datadir}/scan-view + + rm -fr ${D}${libdir}/libear + fi + + # Try to clean up datadir if it is empty, but don't fail if there are + # libclc files there + rmdir ${D}${datadir} || true } do_install:append:class-native() { install -D -m 0755 ${B}/bin/llvm-tblgen ${D}${bindir}/llvm-tblgen${PV} install -D -m 0755 ${B}/bin/llvm-config ${D}${bindir}/llvm-config${PV} ln -sf llvm-config${PV} ${D}${bindir}/llvm-config + + if ${@bb.utils.contains('PACKAGECONFIG', 'libclc', 'true', 'false', d)} ; then + install -D -m 0755 ${B}/bin/prepare_builtins ${D}${bindir}/prepare_builtins + fi } SYSROOT_PREPROCESS_FUNCS:append:class-target = " llvm_sysroot_preprocess" @@ -148,9 +176,11 @@ llvm_sysroot_preprocess() { ln -sf llvm-config ${SYSROOT_DESTDIR}${bindir_crossscripts}/llvm-config${PV} } -PACKAGES =+ "${PN}-bugpointpasses ${PN}-llvmhello ${PN}-libllvm ${PN}-liboptremarks ${PN}-liblto" +PACKAGES =+ "${PN}-bugpointpasses ${PN}-llvmhello ${PN}-libllvm ${PN}-liboptremarks ${PN}-liblto ${PN}-clc" +PROVIDES = "${@bb.utils.filter('PACKAGECONFIG', 'libclc', d)}" RRECOMMENDS:${PN}-dev += "${PN}-bugpointpasses ${PN}-llvmhello ${PN}-liboptremarks" +RPROVIDES:${PN}-clc = "${@bb.utils.filter('PACKAGECONFIG', 'libclc', d)}" FILES:${PN}-bugpointpasses = "\ ${libdir}/BugpointPasses.so \ @@ -183,6 +213,8 @@ FILES:${PN}-staticdev += "\ ${libdir}/*.a \ " +FILES:${PN}-clc += "${datadir}/clc" + INSANE_SKIP:${PN}-libllvm += "dev-so" BBCLASSEXTEND = "native nativesdk" From patchwork Thu Apr 10 02:54:47 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 61079 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 68462C369A1 for ; Thu, 10 Apr 2025 02:55:17 +0000 (UTC) Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by mx.groups.io with SMTP id smtpd.web10.25485.1744253714792923670 for ; Wed, 09 Apr 2025 19:55:14 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@qualcomm.com header.s=qcppdkim1 header.b=OpwKDWhF; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: oss.qualcomm.com, ip: 205.220.168.131, mailfrom: dmitry.baryshkov@oss.qualcomm.com) Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 539HIqDN032322 for ; Thu, 10 Apr 2025 02:55:14 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= uNz6I1ZvS1hLdIHbCmOWgxa5PB0vWeik4eWlng/fYUM=; b=OpwKDWhF30kMLKVx Lbw6xFQamvQwaz+VdS/6ilqmEeGFZf0YPRQo8YpoAXa2yxT+axtKMAZoqQw/Dh8J Gb8gwQBZs8tPdu0IY7vjqxvhQLJCUIte13aix00vZMtuobi1pvd9N4GZCJ9jpqcL m46T2NFmmHnRmBmDAZ1JFiBDBhcQz8XO6WaklOIJQsPSsaRxlThp/x2afxukOVjW 4K/ObaVq7nRogk9yClQtct/g+PWZQ8Qg4lSDZhndINmm+mcYIbuewYPmzn/Nng3Q iriJfwlrhR9Kp2fogr2xwtyaH92OE72k+4VzGng+0kVUmednlvnmlPovEImYPxIi 66MqIQ== Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 45twbedfg1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Thu, 10 Apr 2025 02:55:14 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-7c548e16909so33101585a.2 for ; Wed, 09 Apr 2025 19:55:13 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744253712; x=1744858512; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=uNz6I1ZvS1hLdIHbCmOWgxa5PB0vWeik4eWlng/fYUM=; b=JSje8cokilY47HmizuXQuCJEcq/UHIajXadMzMoZb46QwbXsm5OXr8vMAhLp1CfUsx WaAWCiN099aJ0KpvZVwPiHlwqALoqLatwjL3QdYZHKNSSn7DXWeZafoE4TWn5EMH6YBA q0kXhb3RMUEfJ6oIqmHZUmGZSBN0Qo1FWz8x/hZGF6mu0NPL0HjtUmJ1BwWWuV67vpNb klqEb4Zdenc30A1CLNPS7p3ai9XpNeS4A8wiyzh6YmK7H+bW1McYaWdQXwN4aYc142Cc exnaaTAkabvxBGPzXgytjBNqUZNNnC3fFtwbvSL55uQurxJjYuZmtRdlAa4xcYtOS3bx rvpg== X-Gm-Message-State: AOJu0Yz3OvObHLnzrXRyDFd/zvEbDFoH3kvJ5f7NemcWS/2DugJWSijd 2aRfPXbj12eE5ThaU/x++uIzxgbIsbCrqC36xpeOwYdoOfAVfPWMrGL0MutkPjBmLspVWHSHd1I lrpkVWZbdZ5v+BYD0FM8RFQv+QmncZumdCGcE9tJjITdoMp3BZxoS7flTzhHsTZu8StXOSpYnOC E5AsKMTLmaUK0= X-Gm-Gg: ASbGncsJNOTqO597yQe67GsWwTxPAGRirYjuOffvilT9lqYKNSOmtuYcq9Br2VFIOJ2 kNh+kuN1RA3ow3RE4ld3/a5iNdeOyEwFsRNXekSKNG4ur6hxonvUGgzLFLOuIfG78+lZZb6CSJ7 5UYmt3WsgMcHckeQaFyD7Q2IzzQ6BdfCJqlCT2S30SDQ4VdSVqFgCc0+3FhnaMi9s3BP3HXzFWC EYnsnEjt+WRk/moMQqXUN3azvJQUeRHaWzxBH40o+g0qvxUyHJ0RwUFq9gsiKKt/KtNR1BPNW+L XoagubipsY6W4iKbCj8nmIHoIzYcil/H94KJAZIFvtW0trLNkx/59Jwwb+WBlhOxVXkdlJxlgZZ KzDJ/jcEB8T55U6BInjyXXroO X-Received: by 2002:a05:620a:2905:b0:7c5:602f:51fc with SMTP id af79cd13be357-7c7a81afe00mr108011585a.44.1744253711840; Wed, 09 Apr 2025 19:55:11 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGb6jSBPgbRLvmWgK43JtT5Xrwm0Q0AaoA9SJrrnyzJXiWcuYmSHiRyeNFzqKY3GonhX7WcHA== X-Received: by 2002:a05:620a:2905:b0:7c5:602f:51fc with SMTP id af79cd13be357-7c7a81afe00mr108009485a.44.1744253711389; Wed, 09 Apr 2025 19:55:11 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54d3d123197sm24032e87.44.2025.04.09.19.55.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Apr 2025 19:55:09 -0700 (PDT) From: Dmitry Baryshkov Date: Thu, 10 Apr 2025 05:54:47 +0300 Subject: [PATCH v7 08/12] llvm: add SPIRV-LLVM-Translator support MIME-Version: 1.0 Message-Id: <20250410-mesa-25-v7-8-59d715c66e19@oss.qualcomm.com> References: <20250410-mesa-25-v7-0-59d715c66e19@oss.qualcomm.com> In-Reply-To: <20250410-mesa-25-v7-0-59d715c66e19@oss.qualcomm.com> To: openembedded-core@lists.openembedded.org Cc: Khem Raj X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=9085; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=2hkD9pj+wkIMchYxle3fOsartziKUtRt6e+7gy1GX9s=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBn9zLxbgsU4ARpIQ7YZz2U72wKKtrI0cgkj4ooh gPlmISFvL+JATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ/cy8QAKCRCLPIo+Aiko 1RJiB/wLPYuVFV+X619RfDxzeEEdCFoRTDNdzMwVdhHNdL9hTveR4xJbhC75RgGcGL68RhngGn+ KgeYKpPOF7rEuM8MkMg90uHhg09BXMQylZqDvBCp2whSdtzLx8iqRPhiWnX9h+SbA1EblBI1eNL zM7Yj5Htl4NZ+2GELjSb12UG7msB/mq/vRlnZmfxLJ8fcyaucEMSL7I6vEjN1tYirwvnC16TcLQ 6a0PukK+aUZRpQRBnV/YBw3CVU94VlK6Yh4YGpnVS6lJx+sTXXdTQEUxqL49PHLKAXOy3M0snQy 3Fiom62wykiQcmQrKsvekfoNxjiXHYm2GaN7zaQwVPWekNC+ X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-GUID: zoWU1WhLWuqp3uporAMC3_n1pFGsiY4J X-Authority-Analysis: v=2.4 cv=T7OMT+KQ c=1 sm=1 tr=0 ts=67f73312 cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=XR8D0OoHHMoA:10 a=NEAV23lmAAAA:8 a=EUspDBNiAAAA:8 a=NxEeosk9xJlwc9cSGm8A:9 a=QEXdDO2ut3YA:10 a=NFOGd7dJGGMPyQGDc5-O:22 X-Proofpoint-ORIG-GUID: zoWU1WhLWuqp3uporAMC3_n1pFGsiY4J X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-04-09_06,2025-04-08_04,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 mlxlogscore=999 lowpriorityscore=0 adultscore=0 phishscore=0 bulkscore=0 mlxscore=0 malwarescore=0 suspectscore=0 priorityscore=1501 spamscore=0 clxscore=1015 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2502280000 definitions=main-2504100021 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 ; Thu, 10 Apr 2025 02:55:17 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/214610 Mesa builds require SPIRV-LLVM-Translator in order to build CLC support. While it is possible to build it separately (like meta-clang does), it also requires a separate clang compiler (which OE-Core doesn't provide). Use an alternative path and build SPIRV-LLVM-Translator as a part of the LLVM build process, lifting the requirement for the separate clang. Once Clang is properly integrated into the OE-Core layer, this can be split to a separate package and dropped. In order to ease migration from meta-clang and to ease future split, PROVIDE the spirv-llvm-translator and make the llvm-spirv package RPROVIDE spirv-llvm-translator. Signed-off-by: Dmitry Baryshkov --- .../llvm/llvm/spirv-internal-build.patch | 30 +++++++++++++++++ .../llvm/llvm/spirv-shared-library.patch | 25 ++++++++++++++ meta/recipes-devtools/llvm/llvm_20.1.1.bb | 39 +++++++++++++++++++--- 3 files changed, 89 insertions(+), 5 deletions(-) diff --git a/meta/recipes-devtools/llvm/llvm/spirv-internal-build.patch b/meta/recipes-devtools/llvm/llvm/spirv-internal-build.patch new file mode 100644 index 0000000000000000000000000000000000000000..555d40f4fb07342cc204c7c578662688605b2cb1 --- /dev/null +++ b/meta/recipes-devtools/llvm/llvm/spirv-internal-build.patch @@ -0,0 +1,30 @@ +From e94e529aefb28b65165e978daa2bfd89867ee8d0 Mon Sep 17 00:00:00 2001 +From: Dmitry Baryshkov +Date: Fri, 21 Mar 2025 17:17:52 +0200 +Subject: [PATCH] SPIRV-LLVM-Translator: fix handling of built-in SPIRV targer + +If the SPIRV-LLVM-Translator is being built together with the LLVM, set +the defines declaring whether SPIRV target is also included into the +LLVM library or not. Otherwise llvm-spirv execution fails because +spirv-ext option is registered twice. + +Upstream-Status: Pending [will be submitted upstream after internal clearance] +Signed-off-by: Dmitry Baryshkov + +Index: llvm-project-20.1.0.src/llvm/projects/SPIRV-LLVM-Translator/CMakeLists.txt +=================================================================== +--- llvm-project-20.1.0.src.orig/llvm/projects/SPIRV-LLVM-Translator/CMakeLists.txt ++++ llvm-project-20.1.0.src/llvm/projects/SPIRV-LLVM-Translator/CMakeLists.txt +@@ -116,6 +116,12 @@ if(LLVM_SPIRV_BUILD_EXTERNAL) + set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache) + set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache) + endif() ++else() ++ is_llvm_target_library("SPIRV" spirv_present_result INCLUDED_TARGETS) ++ if(spirv_present_result) ++ set(SPIRV_BACKEND_FOUND TRUE) ++ add_compile_definitions(LLVM_SPIRV_BACKEND_TARGET_PRESENT) ++ endif() + endif() + + set(LLVM_SPIRV_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/include) diff --git a/meta/recipes-devtools/llvm/llvm/spirv-shared-library.patch b/meta/recipes-devtools/llvm/llvm/spirv-shared-library.patch new file mode 100644 index 0000000000000000000000000000000000000000..edc595d57699a682e62f3b3b1cf999e409060226 --- /dev/null +++ b/meta/recipes-devtools/llvm/llvm/spirv-shared-library.patch @@ -0,0 +1,25 @@ +From e94e529aefb28b65165e978daa2bfd89867ee8d0 Mon Sep 17 00:00:00 2001 +From: Dmitry Baryshkov +Date: Thu, 9 Apr 2025 15:20:32 +0200 +Subject: [PATCH] SPIRV-LLVM-Translator: build shared library + +By default SPIRV-LLVM-Translator builds only a static version of the library. +Unfortunately this might result in linking erros when uninative is in play, if +libLLVMSPIRV uses symbols which are provided only by the uninative libc and are +not provided by the host libc. + +Upstream-Status: Inappropriate [OE-Specific] +Signed-off-by: Dmitry Baryshkov + +Index: llvm-project-20.1.1.src/llvm/projects/SPIRV-LLVM-Translator/lib/SPIRV/CMakeLists.txt +=================================================================== +--- llvm-project-20.1.1.src.orig/llvm/projects/SPIRV-LLVM-Translator/lib/SPIRV/CMakeLists.txt ++++ llvm-project-20.1.1.src/llvm/projects/SPIRV-LLVM-Translator/lib/SPIRV/CMakeLists.txt +@@ -42,6 +42,7 @@ set(SRC_LIST + ) + add_llvm_library(LLVMSPIRVLib + ${SRC_LIST} ++ SHARED + LINK_COMPONENTS + Analysis + BitWriter diff --git a/meta/recipes-devtools/llvm/llvm_20.1.1.bb b/meta/recipes-devtools/llvm/llvm_20.1.1.bb index 736eeb944f033c909a77fc552c83ab253f84398a..d1a7d8d7e9144beda8f6195aff096521632c466c 100644 --- a/meta/recipes-devtools/llvm/llvm_20.1.1.bb +++ b/meta/recipes-devtools/llvm/llvm_20.1.1.bb @@ -23,9 +23,23 @@ MAJ_MIN_VERSION = "${@oe.utils.trim_version("${PV}", 2)}" LLVM_RELEASE = "${PV}" +SRCREV_spirv = "68edc9d3d10ff6ec6353803a1bc60a5c25e7b715" +# pattern: llvm_branch_200, currently there are no minor releases, so, no llvm_branch_201 +SPIRV_BRANCH = "llvm_release_${@oe.utils.trim_version('${PV}', 1).replace('.', '')}0" + +SRC_URI_SPIRV = " \ + git://github.com/KhronosGroup/SPIRV-LLVM-Translator;protocol=https;name=spirv;branch=${SPIRV_BRANCH};destsuffix=llvm-project-${PV}.src/llvm/projects/SPIRV-LLVM-Translator \ + file://spirv-internal-build.patch \ +" + +SRC_URI_SPIRV:append:class-native = " \ + file://spirv-shared-library.patch \ +" + SRC_URI = "https://github.com/llvm/llvm-project/releases/download/llvmorg-${PV}/llvm-project-${PV}.src.tar.xz \ file://0007-llvm-allow-env-override-of-exe-path.patch \ file://0001-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch \ + ${@bb.utils.contains('PACKAGECONFIG', 'spirv-llvm-translator', '${SRC_URI_SPIRV}', '', d)} \ file://llvm-config \ " SRC_URI[sha256sum] = "4d5ebbd40ce1e984a650818a4bb5ae86fc70644dec2e6d54e78b4176db3332e0" @@ -58,11 +72,12 @@ def get_llvm_arch(bb, d, arch_var): def get_llvm_host_arch(bb, d): return get_llvm_arch(bb, d, 'HOST_ARCH') -PACKAGECONFIG ??= "libllvm libclc" +PACKAGECONFIG ??= "libllvm libclc spirv-llvm-translator" # if optviewer OFF, force the modules to be not found or the ones on the host would be found PACKAGECONFIG[optviewer] = ",-DPY_PYGMENTS_FOUND=OFF -DPY_PYGMENTS_LEXERS_C_CPP_FOUND=OFF -DPY_YAML_FOUND=OFF,python3-pygments python3-pyyaml,python3-pygments python3-pyyaml" PACKAGECONFIG[libllvm] = "" PACKAGECONFIG[libclc] = "" +PACKAGECONFIG[spirv-llvm-translator] = "-DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR=${STAGING_INCDIR}/.. ,,spirv-tools-native spirv-headers" # # Default to build all OE-Core supported target arches (user overridable). @@ -72,7 +87,9 @@ LLVM_TARGETS ?= "AMDGPU;NVPTX;SPIRV;${@get_llvm_host_arch(bb, d)}" ARM_INSTRUCTION_SET:armv5 = "arm" ARM_INSTRUCTION_SET:armv4t = "arm" -LLVM_PROJECTS = "${@bb.utils.contains('PACKAGECONFIG', 'libclc', 'clang;libclc', '', d)}" +LLVM_PROJECTS_CLANG = "${@bb.utils.contains_any('PACKAGECONFIG', 'libclc spirv-llvm-translator', 'clang', '', d)}" +LLVM_PROJECTS_CLC = "${@bb.utils.contains('PACKAGECONFIG', 'libclc', ';libclc', '', d)}" +LLVM_PROJECTS = "${LLVM_PROJECTS_CLANG}${LLVM_PROJECTS_CLC}" EXTRA_OECMAKE += "-DLLVM_ENABLE_ASSERTIONS=OFF \ -DLLVM_ENABLE_EXPENSIVE_CHECKS=OFF \ @@ -138,7 +155,7 @@ do_install() { fi # Remove clang bits from target packages, we are not providing it for the system - if ${@bb.utils.contains('PACKAGECONFIG', 'libclc', 'true', 'false', d)} && + if ${@bb.utils.contains_any('PACKAGECONFIG', 'libclc spirv-llvm-translator', 'true', 'false', d)} && [ "${CLASSOVERRIDE}" != "class-native" ] ; then rm -f ${D}${bindir}/clang* rm -fr ${D}${libdir}/clang @@ -176,11 +193,12 @@ llvm_sysroot_preprocess() { ln -sf llvm-config ${SYSROOT_DESTDIR}${bindir_crossscripts}/llvm-config${PV} } -PACKAGES =+ "${PN}-bugpointpasses ${PN}-llvmhello ${PN}-libllvm ${PN}-liboptremarks ${PN}-liblto ${PN}-clc" -PROVIDES = "${@bb.utils.filter('PACKAGECONFIG', 'libclc', d)}" +PACKAGES =+ "${PN}-bugpointpasses ${PN}-llvmhello ${PN}-libllvm ${PN}-liboptremarks ${PN}-liblto ${PN}-clc ${PN}-spirv" +PROVIDES = "${@bb.utils.filter('PACKAGECONFIG', 'libclc spirv-llvm-translator', d)}" RRECOMMENDS:${PN}-dev += "${PN}-bugpointpasses ${PN}-llvmhello ${PN}-liboptremarks" RPROVIDES:${PN}-clc = "${@bb.utils.filter('PACKAGECONFIG', 'libclc', d)}" +RPROVIDES:${PN}-spirv = "${@bb.utils.filter('PACKAGECONFIG', 'spirv-llvm-translator', d)}" FILES:${PN}-bugpointpasses = "\ ${libdir}/BugpointPasses.so \ @@ -215,6 +233,17 @@ FILES:${PN}-staticdev += "\ FILES:${PN}-clc += "${datadir}/clc" +FILES:${PN}-spirv = " \ + ${bindir}/llvm-spirv \ + ${includedir}/LLVMSPIRVLib \ + ${libdir}/pkgconfig/LLVMSPIRVLib.pc \ + ${libdir}/libLLVMSPIRV* \ +" + INSANE_SKIP:${PN}-libllvm += "dev-so" +# SPIRV-LLVM-Translator provides only static libraries, they are included into +# the llvm-spirv package. +INSANE_SKIP:${PN}-spirv += "staticdev" + BBCLASSEXTEND = "native nativesdk" From patchwork Thu Apr 10 02:54:48 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 61080 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 68228C369A1 for ; Thu, 10 Apr 2025 02:55:27 +0000 (UTC) Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by mx.groups.io with SMTP id smtpd.web11.25741.1744253717576541902 for ; Wed, 09 Apr 2025 19:55:17 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@qualcomm.com header.s=qcppdkim1 header.b=hP+mUuod; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: oss.qualcomm.com, ip: 205.220.168.131, mailfrom: dmitry.baryshkov@oss.qualcomm.com) Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 539HHmLs015876 for ; Thu, 10 Apr 2025 02:55:17 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= ZpyCRGtcHT9u2f9zoR5Gemn8nTvD6XpU8NqkpILzHCA=; b=hP+mUuod411lL+1L aJnpnhUd5i28jpk/idFzqC8dXB182luuw1Xh1ZGSi84FCCahJ5DlYIR1NbD5ixoG 5rbiiMcE9ROxfIBUXKZwP8P87TjRyCDCKULFD6lZ8catUVwxmtByCF6KH7cPJiJj X/rY2yhx2jGJaUsU4YGfsPKm3eW7eewTzFD/SQOnJ4aEwMwmA1cJcWe4zjA/0GhL GaLR4OImLRwGBaiEPO6STuUNCmJoGKDtZEzuCRn5a9iDBJM6gCrisnLKfip1vUxR zn5pVKnovfjjRYw1Ih5XEnZtRogIBJPgmy8ExO37+rzdDKVXgtVulAwaCDkZOiSa 3y9qLQ== Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com [209.85.222.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 45twd2wc54-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Thu, 10 Apr 2025 02:55:17 +0000 (GMT) Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-7c793d573b2so68361885a.1 for ; Wed, 09 Apr 2025 19:55:16 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744253715; x=1744858515; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ZpyCRGtcHT9u2f9zoR5Gemn8nTvD6XpU8NqkpILzHCA=; b=xHiaNIik0B8ZMYKz4XBT41M2BGle77s0hmm0bb5FdXm4x8x1z07F3HliGTLpT4Q3CS zLswPvzP4kM831j37bczFasS9whtEf6XpvestN4YUL3U5C087IffyRSR/ulBY0AOqUgQ cf6xDN3e3Q6fZYtElCjQZ94l/QINMT7iIKMxrvStM9yalnat3BBwiN0+rTIp4knig8mM RAEbjWH4ar2LF8nVDdU2rnVqrtdf5WWHWrcyBcDjv6pKOdLcsn25SSI/FINS5u9HBaRZ 79fk/WZ2tDK1O8cLIxLMyCgeU++onQKyxeHBChbVt4WYufDQcUmY08IgvRnTY5tUwLKD 1syg== X-Gm-Message-State: AOJu0YxhCOtNnPX3EadaXlcb56xWWaJlG6/rZd577t+KUXd7zRl4buDd G3gJBbgXjttPRNTmGX156POB23QjvqYVO0i4gFeGGuBpc14Q6cuSEZ210y9vcnxcGlSobgnmIBH sUsIswzU1txhnB26AqEH/4bppElSWS/S2AZ/2zp4YS/LBUt+Jzo4rqREApEmGEStVSJtMb5/GVy TacAuLzEilW4A= X-Gm-Gg: ASbGnctu1Hc12DnuBo/ebDJlImIP+zLY8PrfGknZd+TReuRcIZO4qkd4R162WtTfdMA KdmAU4QKaFG+f3sCaPxqeI/GY6Qtt3cgrdlD/ivCZH40pF0h/IkscR1UdI9i2ClRT7/dZHPN/g/ Ct56Htvm1dGydR665v5v58a/BkZQhbMOHE8ILnt8v+Bmk0A+vPKmJubi0966XeuZkizCuGhYTw6 RNPY4LtQxeS78J58isXeahydPxmt4djfBqh/bUZD23dkAjZb+y4U1i3umsJlzlcVbR/+WGdUysz U1jEMYQPOfeliDIqVdwE6xrifCrdF0bUiPlfD0leK16nYn0HLDkDGtfyJMvzyB28+a9XWLhTQIi wMqTVG1TvK3fxWasxYljQMYsG X-Received: by 2002:a05:620a:d8c:b0:7c5:4de8:bf71 with SMTP id af79cd13be357-7c7a76cfd8dmr173703385a.50.1744253715521; Wed, 09 Apr 2025 19:55:15 -0700 (PDT) X-Google-Smtp-Source: AGHT+IF8rE2cD9PhrNwvJ1INRabwY5/clVc67CuffmDYBGO4cV0NwKNku21rCFx9cFBfXJE61WNqNw== X-Received: by 2002:a05:620a:d8c:b0:7c5:4de8:bf71 with SMTP id af79cd13be357-7c7a76cfd8dmr173701285a.50.1744253715110; Wed, 09 Apr 2025 19:55:15 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54d3d123197sm24032e87.44.2025.04.09.19.55.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Apr 2025 19:55:13 -0700 (PDT) From: Dmitry Baryshkov Date: Thu, 10 Apr 2025 05:54:48 +0300 Subject: [PATCH v7 09/12] llvm: enable more targets to build MIME-Version: 1.0 Message-Id: <20250410-mesa-25-v7-9-59d715c66e19@oss.qualcomm.com> References: <20250410-mesa-25-v7-0-59d715c66e19@oss.qualcomm.com> In-Reply-To: <20250410-mesa-25-v7-0-59d715c66e19@oss.qualcomm.com> To: openembedded-core@lists.openembedded.org Cc: Khem Raj X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2474; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=Gf/klTJAuzqFxvlsmmSlxYEaZncPTBvpqRvuJlWP4CQ=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBn9zLy/NWH+FWCEZ+GiYdfRfu/zYV9x/8+VcvWG NTiU5XZHmyJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ/cy8gAKCRCLPIo+Aiko 1btPCACgCYjk3KiI3zQkP5xrev7GPO7FN546XxQNFZULhIVkMGZlRxHYHHxuEPi+tKXuT++oVv9 4vEOkg2aIroIJ4S8O3EHLXx6w8ThVzd411RwYN1jJU3WFr9r1U86TBXDbrEicFGVinWuvAeu3aS ykXDEy2WZEZXI8Wh57f3TFnXi6CRoEpjutvFxo68A/qbGSXN0DjpZEvIY9LlksNaphN0ZelSlwa YXWnzxcPqat4zaEGl9GnOdcQzXWR+PW9bqSgNtrvJ5cdGbkVQUMABoIo4IJF0w6iX/NxPqot+WC tRZd9bqK332vQ0oqjGouw+avMb/Cjyg36SmB8QV1F4yC0Hir X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-ORIG-GUID: BIl7MqgHMtBmPM1Bwz1gu7iurX9YE5jC X-Proofpoint-GUID: BIl7MqgHMtBmPM1Bwz1gu7iurX9YE5jC X-Authority-Analysis: v=2.4 cv=NaLm13D4 c=1 sm=1 tr=0 ts=67f73315 cx=c_pps a=50t2pK5VMbmlHzFWWp8p/g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=XR8D0OoHHMoA:10 a=EUspDBNiAAAA:8 a=4hFqx4qmI6RFarhmnyUA:9 a=QEXdDO2ut3YA:10 a=IoWCM6iH3mJn3m4BftBB:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-04-09_06,2025-04-08_04,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 impostorscore=0 priorityscore=1501 adultscore=0 malwarescore=0 suspectscore=0 lowpriorityscore=0 bulkscore=0 mlxlogscore=914 clxscore=1015 phishscore=0 spamscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2502280000 definitions=main-2504100021 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 ; Thu, 10 Apr 2025 02:55:27 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/214611 Pull in the list of targets being enabled by meta-clang in order to make the libllvm from OE-Core runtime compatible with the one built by the clang recipe inside meta-clang. Signed-off-by: Dmitry Baryshkov --- meta/recipes-devtools/llvm/llvm_20.1.1.bb | 20 +------------------- 1 file changed, 1 insertion(+), 19 deletions(-) diff --git a/meta/recipes-devtools/llvm/llvm_20.1.1.bb b/meta/recipes-devtools/llvm/llvm_20.1.1.bb index d1a7d8d7e9144beda8f6195aff096521632c466c..f837f1b2896e3252a32e3ca76ce6add3544c33a1 100644 --- a/meta/recipes-devtools/llvm/llvm_20.1.1.bb +++ b/meta/recipes-devtools/llvm/llvm_20.1.1.bb @@ -54,24 +54,6 @@ OECMAKE_SOURCEPATH = "${S}/llvm" LLVM_INSTALL_DIR = "${WORKDIR}/llvm-install" -def get_llvm_arch(bb, d, arch_var): - import re - a = d.getVar(arch_var) - if re.match(r'(i.86|athlon|x86.64)$', a): return 'X86' - elif re.match(r'arm$', a): return 'ARM' - elif re.match(r'armeb$', a): return 'ARM' - elif re.match(r'aarch64$', a): return 'AArch64' - elif re.match(r'aarch64_be$', a): return 'AArch64' - elif re.match(r'loongarch(32|64|)$', a): return 'LoongArch' - elif re.match(r'mips(isa|)(32|64|)(r6|)(el|)$', a): return 'Mips' - elif re.match(r'riscv(32|64)(eb|)$', a): return 'RISCV' - elif re.match(r'p(pc|owerpc)(|64)', a): return 'PowerPC' - else: - raise bb.parse.SkipRecipe("Cannot map '%s' to a supported LLVM architecture" % a) - -def get_llvm_host_arch(bb, d): - return get_llvm_arch(bb, d, 'HOST_ARCH') - PACKAGECONFIG ??= "libllvm libclc spirv-llvm-translator" # if optviewer OFF, force the modules to be not found or the ones on the host would be found PACKAGECONFIG[optviewer] = ",-DPY_PYGMENTS_FOUND=OFF -DPY_PYGMENTS_LEXERS_C_CPP_FOUND=OFF -DPY_YAML_FOUND=OFF,python3-pygments python3-pyyaml,python3-pygments python3-pyyaml" @@ -82,7 +64,7 @@ PACKAGECONFIG[spirv-llvm-translator] = "-DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR # # Default to build all OE-Core supported target arches (user overridable). # -LLVM_TARGETS ?= "AMDGPU;NVPTX;SPIRV;${@get_llvm_host_arch(bb, d)}" +LLVM_TARGETS ?= "AMDGPU;AArch64;ARM;BPF;Mips;PowerPC;RISCV;X86;LoongArch;NVPTX;SPIRV" ARM_INSTRUCTION_SET:armv5 = "arm" ARM_INSTRUCTION_SET:armv4t = "arm" From patchwork Thu Apr 10 02:54:49 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 61081 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 6ADD1C369A2 for ; Thu, 10 Apr 2025 02:55:27 +0000 (UTC) Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by mx.groups.io with SMTP id smtpd.web10.25488.1744253721380792666 for ; Wed, 09 Apr 2025 19:55:21 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@qualcomm.com header.s=qcppdkim1 header.b=lTcp082T; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: oss.qualcomm.com, ip: 205.220.168.131, mailfrom: dmitry.baryshkov@oss.qualcomm.com) Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 539HeZvV014976 for ; Thu, 10 Apr 2025 02:55:21 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= ZO4BF2VrOX3BHk+hnTgszZKPZk4UAF9t8GMp/i+DLdI=; b=lTcp082T+anFOM7l SfKSraEUE1/J1fS0Yzlu+Q7KxPVdHDbPyZCL59i6llCkS25CO//bSuzeQ0sbB05e E/nIqSgRh0/2RKNrEsrgVwM2Qjf2KG9/+/VQmyTqzJc6orxFf2Quf+ZcLMqup89x Ws5/GYSfvIxkMloacXJgMBPyCwm9lshgiudQcOgLZuQidZI+PANkEB1dCCUncgJj wnYbW4fFW2lvw7o26/iIb/k6zKpApB67zxEVT5JiyovIlWKR3stsIFzPGJa0TGZl w200SDYmAtUEGLc17rVhmT6ZZq5fiqls0Wtfrx7lbZMN021BfBEW72D9clzlFZ7j fRmvAA== Received: from mail-qk1-f200.google.com (mail-qk1-f200.google.com [209.85.222.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 45twbundyp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Thu, 10 Apr 2025 02:55:20 +0000 (GMT) Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-7c543ab40d3so59492685a.2 for ; Wed, 09 Apr 2025 19:55:20 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744253719; x=1744858519; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ZO4BF2VrOX3BHk+hnTgszZKPZk4UAF9t8GMp/i+DLdI=; b=XqfxQdN8MVB4BmrM8ISSVSUyWFg+R27Cx04KbuJIBbDZ4NrmcpFxZRDRvX/ttfG9cQ 84aIBW0nNfttb9KOwXU7lbFbOqOnD/qf0/aBSSdGL3Jhp/aorvlaksIvcivMbNPXPPLt sqoGnU2qRL+xjtdLUxYkfS0PxuoqA0oDJbfIyctlfb4B823AWfrw/mkleTF4BVNtoScg NwU5Y7QClAkNX1fgc+QxFyc6kiePbflyku/u0Fql/oDwCoAgs+P/wMiN//hxlxrdT83V 74cBGe6vDg2RqWfM62orELBKCPo8DApyClqVWK5ko+klD2D4VAysFZss9ASFFNtIkiN7 wQkA== X-Gm-Message-State: AOJu0Ywj0qITCt7RvALyyck/b9oTH4Mzsq8lhbKsM55K68kDYMQDdSOF sJFaoNFZKlgctsTz+uibgmacTBpHx4LDSXeKuJ52yjyIdJffxX4HHOk4T1LEhYTmpoonzwojklo adSmq71RE28JAm7pt2Y3ddYVG0s+8hP1BCWW35zZL0FVUuEyOy3+zOesdaQTWbNvVnLvTjGDDu5 F8iOFqdqOdB/k= X-Gm-Gg: ASbGncteLT+k0Fei1zdUfvrr6by3/wMcTuMDyBro8rE+JUw6Za5j98Dt/g7h+saC1LI hILUsCJZy+PoNojG3PncYvsc222VpH9KkokLcTe5s3mfMynf8BAdeopJpB/co2+wSlyTuy9viX0 UIe3Clugo9Rq6sHpK3qtrQ7oFIqL/tDolHMawhHMtUM6zrpybjPWifcVzK26r3Q+BDBaIkoK9P0 iDteiN986LrRNzI84rJXj/L1eZ/M2jl8MNPbYQN+WdK540/atnuCn5wrOs7CUqqNWsXew6WXxAp ZJjzpJj76eu7kKLztVSKfJF2KMvKOcUi8V783Lk1HCc/lGxUFArMoV9ydeyntoI376Ocdxhi444 bj08rQEhw/Vpbk/UsRc8dkJC8 X-Received: by 2002:a05:620a:2451:b0:7c5:5670:bd76 with SMTP id af79cd13be357-7c7a76bf797mr154860585a.46.1744253718388; Wed, 09 Apr 2025 19:55:18 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGJFE87l2BsNBWbxS4ZNxGus/iW0CqKXa2Ji5dsHMSoyxdPzv8ZnYeyajdhmCqcRCha84YyRQ== X-Received: by 2002:a05:620a:2451:b0:7c5:5670:bd76 with SMTP id af79cd13be357-7c7a76bf797mr154857385a.46.1744253717662; Wed, 09 Apr 2025 19:55:17 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54d3d123197sm24032e87.44.2025.04.09.19.55.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Apr 2025 19:55:15 -0700 (PDT) From: Dmitry Baryshkov Date: Thu, 10 Apr 2025 05:54:49 +0300 Subject: [PATCH v7 10/12] mesa: upgrade 24.0.7 -> 25.0.2 MIME-Version: 1.0 Message-Id: <20250410-mesa-25-v7-10-59d715c66e19@oss.qualcomm.com> References: <20250410-mesa-25-v7-0-59d715c66e19@oss.qualcomm.com> In-Reply-To: <20250410-mesa-25-v7-0-59d715c66e19@oss.qualcomm.com> To: openembedded-core@lists.openembedded.org Cc: Khem Raj X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=26879; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=VU9dz+SNP06vwuFnrl8gAMkrNNdjyzw/E6+H/YpKQ0o=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBn9zLyz/frIKOzTcAE1dhFGmXwQka0qWvgb7cYh ElqOTnFhImJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ/cy8gAKCRCLPIo+Aiko 1WPpB/4of3w8eMiki/DVOcjt1lbTW42cmoQa6dD1zgzLnjXGOqmplGd3gA+a7MITBAoFv8G9Nsm 1eeyLtoYk5wsFM/8jxZj6tKbKxPnl5bUrfsFiGEju5IdzZAoC9iLwdMKOChRQ9wOzOgw356I/OL DrBOpb8YWu7knwxjH/FqrIYrmVsU7dvHA88yyDpKrme7SufSvX4TcqwcfZ3kp6ynLeTewNEtqKY JEVCBPss3lqT1XxauKmc3x4rMjDVvcs0WwM62r2rK+USHtjqpEX++/gSbCEUwVTymfTf4Utntuk GuDnsQaZ6Lfp0yHUfA8k7XBpCALhR0EFEO6rYa6G/2GSQrV0 X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-GUID: aB4NvA5mrJAR2OfDZqGycWoz-bX7xHNN X-Proofpoint-ORIG-GUID: aB4NvA5mrJAR2OfDZqGycWoz-bX7xHNN X-Authority-Analysis: v=2.4 cv=dbeA3WXe c=1 sm=1 tr=0 ts=67f73318 cx=c_pps a=hnmNkyzTK/kJ09Xio7VxxA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=XR8D0OoHHMoA:10 a=e5mUnYsNAAAA:8 a=ZpVaWaFtAAAA:8 a=EUspDBNiAAAA:8 a=pGLkceISAAAA:8 a=aR16PxjQAAAA:8 a=zUL-4DGhXe84LyRR3DIA:9 a=gJk4xi6hdQGAnkM4:21 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=PEH46H7Ffwr30OY-TuGO:22 a=Vxmtnl_E_bksehYqCbjh:22 a=5tn4MO8azEBWFjlAA-rn:22 a=zbFvvTOBjyH4ze5LlUjX:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-04-09_06,2025-04-08_04,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 suspectscore=0 mlxlogscore=999 phishscore=0 mlxscore=0 spamscore=0 malwarescore=0 clxscore=1015 adultscore=0 priorityscore=1501 lowpriorityscore=0 bulkscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2502280000 definitions=main-2504100021 X-MIME-Autoconverted: from 8bit to quoted-printable by mx0a-0031df01.pphosted.com id 539HeZvV014976 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 ; Thu, 10 Apr 2025 02:55:27 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/214612 Upgrade the Mesa package, dropping applied and refreshing outstanding patches. The dri3 config option is now gone, dependencies are merged into X11 deps. The swrast gallium driver has been split into softpipe and llvmpipe drivers. Reworked OpenCL support to use mesa_clc compiler. License-Update: license text cleared and clarified. Signed-off-by: Dmitry Baryshkov --- ...evert-meson-do-not-pull-in-clc-for-clover.patch | 53 ------------- ...d-Include-missing-llvm-IR-header-Module.h.patch | 41 ---------- .../files/0001-drisw-fix-build-without-dri3.patch | 58 -------------- ...eno-don-t-encode-build-path-into-binaries.patch | 46 +++++++++-- ...able-SIMD-blake-optimisations-on-x32-host.patch | 28 +++++++ ...ext-don-t-try-zink-if-not-enabled-in-mesa.patch | 42 ---------- meta/recipes-graphics/mesa/mesa.inc | 91 ++++++++++++---------- 7 files changed, 117 insertions(+), 242 deletions(-) diff --git a/meta/recipes-graphics/mesa/files/0001-Revert-meson-do-not-pull-in-clc-for-clover.patch b/meta/recipes-graphics/mesa/files/0001-Revert-meson-do-not-pull-in-clc-for-clover.patch deleted file mode 100644 index 1711e22585a72d1909473e4d9716c4734d4c5eee..0000000000000000000000000000000000000000 --- a/meta/recipes-graphics/mesa/files/0001-Revert-meson-do-not-pull-in-clc-for-clover.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 051f41beda540f0ae77b341db01a6de83c9e938a Mon Sep 17 00:00:00 2001 -From: Markus Volk -Date: Fri, 8 Mar 2024 15:53:11 +0100 -Subject: [PATCH] Revert "meson: do not pull in clc for clover" - -This reverts commit 815a6647eb1383e9dc704ffcc266d85f3b13338a. -Upstream-Status: Inappropriate [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27783/diffs?commit_id=a976f2c9f0c07f9e06cc9affd9124b45bc60c2bd] - -Once the merge request above was added, it will only be possible to provide opencl spir-v with gallium-rusticl=true. This is not yet supported in the mesa recipe. -For now reverting this commit allows to still use clover with opencl-spirv, which would otherwise be broken starting from mesa 24.0.2. - -After it was merged, this patch needs to be removed and rusticl support will be required - -Signed-off-by: Markus Volk ---- - meson.build | 3 ++- - src/compiler/meson.build | 2 +- - 2 files changed, 3 insertions(+), 2 deletions(-) - -diff --git a/meson.build b/meson.build -index 2db6185..741b5d1 100644 ---- a/meson.build -+++ b/meson.build -@@ -813,6 +813,7 @@ if _opencl != 'disabled' - error('The Clover OpenCL state tracker requires rtti') - endif - -+ with_clc = true - with_gallium_opencl = true - with_opencl_icd = _opencl == 'icd' - else -@@ -837,7 +838,7 @@ if with_gallium_rusticl - endif - - dep_clc = null_dep --if with_gallium_opencl or with_clc -+if with_clc - dep_clc = dependency('libclc') - endif - -diff --git a/src/compiler/meson.build b/src/compiler/meson.build -index 8d73544..1dae56d 100644 ---- a/src/compiler/meson.build -+++ b/src/compiler/meson.build -@@ -79,7 +79,7 @@ subdir('nir') - - subdir('spirv') - --if with_clc -+if with_opencl_spirv - subdir('clc') - endif - if with_gallium diff --git a/meta/recipes-graphics/mesa/files/0001-amd-Include-missing-llvm-IR-header-Module.h.patch b/meta/recipes-graphics/mesa/files/0001-amd-Include-missing-llvm-IR-header-Module.h.patch deleted file mode 100644 index 82ad88a079c144153778120bf2a3c1d1c36a0c94..0000000000000000000000000000000000000000 --- a/meta/recipes-graphics/mesa/files/0001-amd-Include-missing-llvm-IR-header-Module.h.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 777d69cf15b80ab1f109a4936d6e4801c4b0e0f3 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Mon, 1 Jul 2024 23:09:29 -0700 -Subject: [PATCH] amd: Include missing llvm IR header Module.h -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -With LLVM-19, Module.h header is not being pulled, which results in -compile errors e.g. - -src/amd/llvm/ac_llvm_helper.cpp:102:10: error: no matching function for call to ‘unwrap(LLVMOpaqueModule*&)’ - 102 | unwrap(module)->setTargetTriple(TM->getTargetTriple().getTriple()); - | ~~~~~~^~~~~~~~ -In file included from /mnt/b/yoe/master/build/tmp/work/x86_64-linux/mesa-native/24.0.7/recipe-sysroot-native/usr/include/llvm/IR/Type.h:18, - from /mnt/b/yoe/master/build/tmp/work/x86_64-linux/mesa-native/24.0.7/recipe-sysroot-native/usr/include/llvm/IR/DerivedTypes.h:23, - from /mnt/b/yoe/master/build/tmp/work/x86_64-linux/mesa-native/24.0.7/recipe-sysroot-native/usr/include/llvm/IR/InstrTypes.h:26, - from /mnt/b/yoe/master/build/tmp/work/x86_64-linux/mesa-native/24.0.7/recipe-sysroot-native/usr/include/llvm/Analysis/TargetLibraryInfo.h:14, - from ../mesa-24.0.7/src/amd/llvm/ac_llvm_helper.cpp:8: - -Its getting the definition from llvm/IR/Type.h instead of Module.h and caused -confusion to compiler - -Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29993] -Signed-off-by: Khem Raj ---- - src/amd/llvm/ac_llvm_helper.cpp | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/amd/llvm/ac_llvm_helper.cpp b/src/amd/llvm/ac_llvm_helper.cpp -index 5d065279ad1..af4a50f8409 100644 ---- a/src/amd/llvm/ac_llvm_helper.cpp -+++ b/src/amd/llvm/ac_llvm_helper.cpp -@@ -8,6 +8,7 @@ - #include - #include - #include -+#include - #include - #include - #include diff --git a/meta/recipes-graphics/mesa/files/0001-drisw-fix-build-without-dri3.patch b/meta/recipes-graphics/mesa/files/0001-drisw-fix-build-without-dri3.patch deleted file mode 100644 index ab1615209063fb0b7bee74f3b49843790801e40a..0000000000000000000000000000000000000000 --- a/meta/recipes-graphics/mesa/files/0001-drisw-fix-build-without-dri3.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 4bd15a419e892da843489c374c58c5b29c40b5d6 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Tue, 6 Feb 2024 09:47:09 +0100 -Subject: [PATCH 1/2] drisw: fix build without dri3 - -commit 1887368df41 ("glx/sw: check for modifier support in the kopper path") -added dri3_priv.h header and dri3_check_multibuffer() function in drisw that -can be build without dri3. - - i686-buildroot-linux-gnu/bin/ld: src/glx/libglx.a.p/drisw_glx.c.o: in function `driswCreateScreenDriver': - drisw_glx.c:(.text.driswCreateScreenDriver+0x3a0): undefined reference to `dri3_check_multibuffer' - collect2: error: ld returned 1 exit status - -Add HAVE_DRI3 guard around dri3_priv.h header and the zink code using -dri3_check_multibuffer(). - -Fixes: 1887368df41 ("glx/sw: check for modifier support in the kopper path") - -Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27478] -Signed-off-by: Romain Naour -Signed-off-by: Khem Raj ---- - src/glx/drisw_glx.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/glx/drisw_glx.c b/src/glx/drisw_glx.c -index 3d3f752..4b19e2d 100644 ---- a/src/glx/drisw_glx.c -+++ b/src/glx/drisw_glx.c -@@ -32,7 +32,9 @@ - #include - #include "dri_common.h" - #include "drisw_priv.h" -+#ifdef HAVE_DRI3 - #include "dri3_priv.h" -+#endif - #include - #include - #include -@@ -995,6 +997,7 @@ driswCreateScreenDriver(int screen, struct glx_display *priv, - goto handle_error; - } - -+#ifdef HAVE_DRI3 - if (pdpyp->zink) { - bool err; - psc->has_multibuffer = dri3_check_multibuffer(priv->dpy, &err); -@@ -1005,6 +1008,7 @@ driswCreateScreenDriver(int screen, struct glx_display *priv, - goto handle_error; - } - } -+#endif - - glx_config_destroy_list(psc->base.configs); - psc->base.configs = configs; --- -2.44.0 - diff --git a/meta/recipes-graphics/mesa/files/0001-freedreno-don-t-encode-build-path-into-binaries.patch b/meta/recipes-graphics/mesa/files/0001-freedreno-don-t-encode-build-path-into-binaries.patch index 5975ab4472ecebc34ef1504904523de73c9f5c51..953a724dc092667a5ac6f19f6b41d4277fab4ba2 100644 --- a/meta/recipes-graphics/mesa/files/0001-freedreno-don-t-encode-build-path-into-binaries.patch +++ b/meta/recipes-graphics/mesa/files/0001-freedreno-don-t-encode-build-path-into-binaries.patch @@ -22,18 +22,29 @@ diff --git a/src/freedreno/afuc/meson.build b/src/freedreno/afuc/meson.build index bb7cebf5a748..351cc31ef2de 100644 --- a/src/freedreno/afuc/meson.build +++ b/src/freedreno/afuc/meson.build -@@ -56,6 +56,7 @@ if with_tests +@@ -56,10 +56,12 @@ if with_tests asm_fw = custom_target('afuc_test.fw', output: 'afuc_test.fw', - command: [asm, '-g', '6', files('../.gitlab-ci/traces/afuc_test.asm'), '@OUTPUT@'], + command: [asm, files('../.gitlab-ci/traces/afuc_test.asm'), '@OUTPUT@'], ++ env: {'RNN_PATH': rnn_src_path}, + ) + asm_fw_a7xx = custom_target('afuc_test_a7xx.fw', + output: 'afuc_test_a7xx.fw', + command: [asm, files('../.gitlab-ci/traces/afuc_test_a7xx.asm'), '@OUTPUT@'], + env: {'RNN_PATH': rnn_src_path}, ) test('afuc-asm', diff, -@@ -120,6 +122,7 @@ if cc.sizeof('size_t') > 4 +@@ -120,11 +122,13 @@ if cc.sizeof('size_t') > 4 disasm_fw = custom_target('afuc_test.asm', output: 'afuc_test.asm', - command: [disasm, '-u', files('../.gitlab-ci/reference/afuc_test.fw'), '-g', '630'], + command: [disasm, '-u', files('../.gitlab-ci/reference/afuc_test.fw')], ++ env: {'RNN_PATH': rnn_src_path}, + capture: true + ) + disasm_fw_a7xx = custom_target('afuc_test_a7xx.asm', + output: 'afuc_test_a7xx.asm', + command: [disasm, '-u', files('../.gitlab-ci/reference/afuc_test_a7xx.fw')], + env: {'RNN_PATH': rnn_src_path}, capture: true ) @@ -71,8 +82,29 @@ index 98e49b8fcf0e..145e72597eb9 100644 -rnn_path = rnn_src_path + ':' + get_option('prefix') + '/' + rnn_install_path +rnn_path = get_option('prefix') + '/' + rnn_install_path - dep_lua = dependency('lua54', 'lua53', 'lua52', 'lua', required: false, - allow_fallback: true, version: '>=5.2') --- + dep_libarchive = dependency('libarchive', allow_fallback: true, required: false) + dep_libxml2 = dependency('libxml-2.0', allow_fallback: true, required: false) +diff --git a/src/freedreno/registers/gen_header.py b/src/freedreno/registers/gen_header.py +--- a/src/freedreno/registers/gen_header.py ++++ b/src/freedreno/registers/gen_header.py +@@ -885,13 +885,14 @@ The rules-ng-ng source files this header + """) + maxlen = 0 + for filepath in p.xml_files: +- maxlen = max(maxlen, len(filepath)) ++ maxlen = max(maxlen, len(os.path.basename(filepath))) + for filepath in p.xml_files: +- pad = " " * (maxlen - len(filepath)) ++ filename = os.path.basename(filepath) ++ pad = " " * (maxlen - len(filename)) + filesize = str(os.path.getsize(filepath)) + filesize = " " * (7 - len(filesize)) + filesize + filetime = time.ctime(os.path.getmtime(filepath)) +- print("- " + filepath + pad + " (" + filesize + " bytes, from " + filetime + ")") ++ print("- " + filename + pad + " (" + filesize + " bytes, from " + filetime + ")") + if p.copyright_year: + current_year = str(datetime.date.today().year) + print() +--- 2.39.2 diff --git a/meta/recipes-graphics/mesa/files/0001-meson-disable-SIMD-blake-optimisations-on-x32-host.patch b/meta/recipes-graphics/mesa/files/0001-meson-disable-SIMD-blake-optimisations-on-x32-host.patch new file mode 100644 index 0000000000000000000000000000000000000000..bebe30037abffab676bdd371116c1b9cbd9f9cef --- /dev/null +++ b/meta/recipes-graphics/mesa/files/0001-meson-disable-SIMD-blake-optimisations-on-x32-host.patch @@ -0,0 +1,28 @@ +From f3c34b8da2662643089b33be8b93e56a4da8703d Mon Sep 17 00:00:00 2001 +From: Dmitry Baryshkov +Date: Wed, 2 Apr 2025 15:30:20 +0300 +Subject: [PATCH] meson: disable SIMD blake optimisations on x32 host + +On X.org startup libgallium crashes on x32 hosts inside +blake3_hash_many_sse41(), most likely because of the different pointer +size. Disable SIMD blake implementation if x32 is detected. + +Signed-off-by: Dmitry Baryshkov +Upstream-Status: Pending [will be submitted upstream after internal clearance] +--- + src/util/blake3/meson.build | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/util/blake3/meson.build b/src/util/blake3/meson.build +index 6b53daab6b32..ce6dd85ac1ea 100644 +--- a/src/util/blake3/meson.build ++++ b/src/util/blake3/meson.build +@@ -24,6 +24,8 @@ if cpu_family == 'x86_64' + else + files_blake3 += ['blake3_sse2_x86-64_windows_gnu.S', 'blake3_sse41_x86-64_windows_gnu.S', 'blake3_avx2_x86-64_windows_gnu.S', 'blake3_avx512_x86-64_windows_gnu.S'] + endif ++ elif meson.get_compiler('c').sizeof('void *') == 4 ++ blake3_defs += blake3_x86_no_simd_defs + else + files_blake3 += ['blake3_sse2_x86-64_unix.S', 'blake3_sse41_x86-64_unix.S', 'blake3_avx2_x86-64_unix.S', 'blake3_avx512_x86-64_unix.S'] + endif diff --git a/meta/recipes-graphics/mesa/files/0002-glxext-don-t-try-zink-if-not-enabled-in-mesa.patch b/meta/recipes-graphics/mesa/files/0002-glxext-don-t-try-zink-if-not-enabled-in-mesa.patch deleted file mode 100644 index 036a0b494539243e7850ba3ea24669e0749e2dd2..0000000000000000000000000000000000000000 --- a/meta/recipes-graphics/mesa/files/0002-glxext-don-t-try-zink-if-not-enabled-in-mesa.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 62495ebb977866c52d5bed8499a547c49f0d9bc1 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Tue, 6 Feb 2024 09:47:10 +0100 -Subject: [PATCH 2/2] glxext: don't try zink if not enabled in mesa - -Commit 7d9ea77b459 ("glx: add automatic zink fallback loading between hw and sw drivers") -added an automatic zink fallback even when the zink gallium is not -enabled at build time. - -It leads to unexpected error log while loading drisw driver and -zink is not installed on the rootfs: - - MESA-LOADER: failed to open zink: /usr/lib/dri/zink_dri.so - -Fixes: 7d9ea77b459 ("glx: add automatic zink fallback loading between hw and sw drivers") - -Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27478] -Signed-off-by: Romain Naour -Signed-off-by: Khem Raj ---- - src/glx/glxext.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/glx/glxext.c b/src/glx/glxext.c -index 05c825a..7a06aa9 100644 ---- a/src/glx/glxext.c -+++ b/src/glx/glxext.c -@@ -908,9 +908,11 @@ __glXInitialize(Display * dpy) - #endif /* HAVE_DRI3 */ - if (!debug_get_bool_option("LIBGL_DRI2_DISABLE", false)) - dpyPriv->dri2Display = dri2CreateDisplay(dpy); -+#if defined(HAVE_ZINK) - if (!dpyPriv->dri3Display && !dpyPriv->dri2Display) - try_zink = !debug_get_bool_option("LIBGL_KOPPER_DISABLE", false) && - !getenv("GALLIUM_DRIVER"); -+#endif /* HAVE_ZINK */ - } - #endif /* GLX_USE_DRM */ - if (glx_direct) --- -2.44.0 - diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc index f6a91a7002f8aebc8845eda7f339912e086839b5..9edce6b2281c2e33e6fe20819f0f4998cceba60b 100644 --- a/meta/recipes-graphics/mesa/mesa.inc +++ b/meta/recipes-graphics/mesa/mesa.inc @@ -10,21 +10,18 @@ HOMEPAGE = "http://mesa3d.org" BUGTRACKER = "https://bugs.freedesktop.org" SECTION = "x11" LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://docs/license.rst;md5=63779ec98d78d823a9dc533a0735ef10" +LIC_FILES_CHKSUM = "file://docs/license.rst;md5=ffe678546d4337b732cfd12262e6af11" PE = "2" SRC_URI = "https://archive.mesa3d.org/mesa-${PV}.tar.xz \ file://0001-meson-misdetects-64bit-atomics-on-mips-clang.patch \ - file://0001-drisw-fix-build-without-dri3.patch \ - file://0002-glxext-don-t-try-zink-if-not-enabled-in-mesa.patch \ - file://0001-Revert-meson-do-not-pull-in-clc-for-clover.patch \ - file://0001-amd-Include-missing-llvm-IR-header-Module.h.patch \ + file://0001-meson-disable-SIMD-blake-optimisations-on-x32-host.patch \ file://0001-freedreno-don-t-encode-build-path-into-binaries.patch\ " -SRC_URI[sha256sum] = "7454425f1ed4a6f1b5b107e1672b30c88b22ea0efea000ae2c7d96db93f6c26a" -PV = "24.0.7" +SRC_URI[sha256sum] = "adf904d083b308df95898600ffed435f4b5c600d95fb6ec6d4c45638627fdc97" +PV = "25.0.2" UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P\d+(\.\d+)+)" @@ -38,8 +35,7 @@ do_install:append() { fi } -DEPENDS = "expat makedepend-native flex-native bison-native libxml2-native zlib chrpath-replacement-native python3-mako-native gettext-native" -DEPENDS:append:class-target = " ${@bb.utils.contains('PACKAGECONFIG', 'opencl', 'mesa-native', '', d)}" +DEPENDS = "expat makedepend-native flex-native bison-native libxml2-native zlib chrpath-replacement-native python3-mako-native gettext-native python3-pyyaml-native" EXTRANATIVEPATH += "chrpath-native" PROVIDES = " \ ${@bb.utils.contains('PACKAGECONFIG', 'opengl', 'virtual/libgl', '', d)} \ @@ -77,44 +73,47 @@ EXTRA_OEMESON = " \ -Dplatforms='${@",".join("${PLATFORMS}".split())}' \ " -EXTRA_OEMESON:append:class-target = " ${@bb.utils.contains('PACKAGECONFIG', 'opencl', '-Dintel-clc=system', '', d)}" -EXTRA_OEMESON:append:class-native = " ${@bb.utils.contains('PACKAGECONFIG', 'opencl', '-Dintel-clc=enabled', '', d)}" - def strip_comma(s): return s.strip(',') + PACKAGECONFIG = " \ gallium \ video-codecs \ ${@bb.utils.filter('DISTRO_FEATURES', 'x11 vulkan wayland', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl egl gles gbm virgl', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'dri3', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11 vulkan', 'dri3', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'vulkan', 'zink', '', d)} \ " -PACKAGECONFIG:append:class-native = " gallium-llvm r600" +PACKAGECONFIG:append:x86 = " libclc gallium-llvm" +PACKAGECONFIG:append:x86-64 = " libclc gallium-llvm" +PACKAGECONFIG:append:i686 = " libclc gallium-llvm" +PACKAGECONFIG:append:class-native = " libclc gallium-llvm r600" # "gbm" requires "opengl" PACKAGECONFIG[gbm] = "-Dgbm=enabled,-Dgbm=disabled" -X11_DEPS = "xorgproto virtual/libx11 libxext libxxf86vm libxdamage libxfixes xrandr" +X11_DEPS = "xorgproto virtual/libx11 libxext libxxf86vm libxdamage libxfixes xrandr xorgproto libxshmfence" # "x11" requires "opengl" PACKAGECONFIG[x11] = ",-Dglx=disabled,${X11_DEPS}" PACKAGECONFIG[wayland] = ",,wayland-native wayland libdrm wayland-protocols" -PACKAGECONFIG[dri3] = "-Ddri3=enabled, -Ddri3=disabled, xorgproto libxshmfence" +VULKAN_DRIVERS_AMD = "" +VULKAN_DRIVERS_AMD:x86 = ",amd" +VULKAN_DRIVERS_AMD:x86-64 = ",amd" +# i686 is a 32 bit override for mesa-native +VULKAN_DRIVERS_AMD:i686 = ",amd" + +VULKAN_DRIVERS_INTEL = "${@bb.utils.contains('PACKAGECONFIG', 'libclc', ',intel', '', d)}" +VULKAN_DRIVERS_SWRAST = ",swrast" +# Crashes on x32 +VULKAN_DRIVERS_SWRAST:x86-x32 = "" +VULKAN_DRIVERS_LLVM = "${VULKAN_DRIVERS_SWRAST}${VULKAN_DRIVERS_AMD}${VULKAN_DRIVERS_INTEL}" -# Vulkan drivers need dri3 enabled -# amd could be enabled as well but requires gallium-llvm with llvm >= 3.9 VULKAN_DRIVERS = "" -VULKAN_DRIVERS:append:x86 = ",intel,amd" -VULKAN_DRIVERS:append:x86-64 = ",intel,amd" -# i686 is a 32 bit override for mesa-native -VULKAN_DRIVERS:append:i686 = ",intel,amd" VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}" VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'broadcom', ',broadcom', '', d)}" -VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', ',swrast', '', d)}" +VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', '${VULKAN_DRIVERS_LLVM}', '', d)}" VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'imagination', ',imagination-experimental', '', d)}" PACKAGECONFIG[vulkan] = "-Dvulkan-drivers=${@strip_comma('${VULKAN_DRIVERS}')}, -Dvulkan-drivers='',glslang-native vulkan-loader vulkan-headers" @@ -137,7 +136,7 @@ PACKAGECONFIG[freedreno-fdperf] = ",,libconfig" PACKAGECONFIG[tools] = "-Dtools=${@strip_comma('${TOOLS}')}, -Dtools='', ${TOOLS_DEPS}" PACKAGECONFIG[opengl] = "-Dopengl=true, -Dopengl=false" -PACKAGECONFIG[glvnd] = "-Dglvnd=true, -Dglvnd=false, libglvnd" +PACKAGECONFIG[glvnd] = "-Dglvnd=enabled, -Dglvnd=disabled, libglvnd" # "gles" requires "opengl" PACKAGECONFIG[gles] = "-Dgles1=enabled -Dgles2=enabled, -Dgles1=disabled -Dgles2=disabled" @@ -145,9 +144,9 @@ PACKAGECONFIG[gles] = "-Dgles1=enabled -Dgles2=enabled, -Dgles1=disabled -Dgles2 # "egl" requires "opengl" PACKAGECONFIG[egl] = "-Degl=enabled, -Degl=disabled" -# "opencl" requires libclc from meta-clang and spirv-tools from OE-Core -OPENCL_NATIVE = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', '-Dopencl-native=true', '', d)}" -PACKAGECONFIG[opencl] = "-Dgallium-opencl=icd -Dopencl-spirv=true ${OPENCL_NATIVE},-Dgallium-opencl=disabled -Dopencl-spirv=false,libclc spirv-tools python3-ply-native" +# "opencl" also requires libclc and gallium-llvm to be present in PKGCONFIG! +# Be sure to enable them both for the target and for the native build. +PACKAGECONFIG[opencl] = "-Dgallium-opencl=icd,-Dgallium-opencl=disabled," PACKAGECONFIG[broadcom] = "" PACKAGECONFIG[etnaviv] = ",,python3-pycparser-native" @@ -157,13 +156,13 @@ PACKAGECONFIG[vc4] = "" PACKAGECONFIG[v3d] = "" PACKAGECONFIG[zink] = "" -GALLIUMDRIVERS = "swrast" +GALLIUMDRIVERS = "softpipe" # gallium swrast was found to crash Xorg on startup in x32 qemu GALLIUMDRIVERS:x86-x32 = "" -GALLIUMDRIVERS:append:x86 = ",i915,iris,crocus" -GALLIUMDRIVERS:append:x86-64 = ",i915,iris,crocus" +GALLIUMDRIVERS:append:x86 = ",i915,crocus" +GALLIUMDRIVERS:append:x86-64 = ",i915,crocus" # i686 is a 32 bit override for mesa-native -GALLIUMDRIVERS:append:i686 = ",i915,iris,crocus" +GALLIUMDRIVERS:append:i686 = ",i915,crocus" GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'etnaviv', ',etnaviv', '', d)}" GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}" @@ -173,8 +172,12 @@ GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'v3d', ',v3d', '' GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'zink', ',zink', '', d)}" # radeonsi requires LLVM +GALLIUMDRIVERS_IRIS = "${@bb.utils.contains('PACKAGECONFIG', 'libclc', ',iris', '', d)}" GALLIUMDRIVERS_RADEONSI = "${@bb.utils.contains('PACKAGECONFIG', 'r600', ',radeonsi', '', d)}" -GALLIUMDRIVERS_LLVM = ",r300,nouveau${GALLIUMDRIVERS_RADEONSI}" +GALLIUMDRIVERS_LLVMPIPE = ",llvmpipe" +# llvmpipe crashes on x32 +GALLIUMDRIVERS_LLVMPIPE:x86-x32 = "" +GALLIUMDRIVERS_LLVM = ",r300,nouveau${GALLIUMDRIVERS_LLVMPIPE}${GALLIUMDRIVERS_IRIS}${GALLIUMDRIVERS_RADEONSI}" GALLIUMDRIVERS_LLVM:append:x86 = ",svga" GALLIUMDRIVERS_LLVM:append:x86-64 = ",svga" # i686 is a 32 bit override for mesa-native @@ -187,8 +190,16 @@ GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', ' GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'r600', ',r600', '', d)}" GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'virgl', ',virgl', '', d)}" +MESA_CLC = "system" +MESA_CLC:class-native = "enabled" +INSTALL_MESA_CLC = "false" +INSTALL_MESA_CLC:class-native = "true" +MESA_NATIVE = "mesa-native" +MESA_NATIVE:class-native = "" + PACKAGECONFIG[gallium] = "-Dgallium-drivers=${@strip_comma('${GALLIUMDRIVERS}')}, -Dgallium-drivers='', libdrm" PACKAGECONFIG[gallium-llvm] = "-Dllvm=enabled -Dshared-llvm=enabled, -Dllvm=disabled, llvm llvm-native elfutils" +PACKAGECONFIG[libclc] = "-Dmesa-clc=${MESA_CLC} -Dinstall-mesa-clc=${INSTALL_MESA_CLC},,libclc spirv-tools spirv-llvm-translator ${MESA_NATIVE}" PACKAGECONFIG[xa] = "-Dgallium-xa=enabled, -Dgallium-xa=disabled" PACKAGECONFIG[va] = "-Dgallium-va=enabled,-Dgallium-va=disabled,libva-initial" PACKAGECONFIG[vdpau] = "-Dgallium-vdpau=enabled,-Dgallium-vdpau=disabled,libvdpau" @@ -242,6 +253,7 @@ RDEPENDS:libopencl-mesa += "${@bb.utils.contains('PACKAGECONFIG', 'opencl', 'lib PACKAGES =+ "libegl-mesa libegl-mesa-dev \ libosmesa libosmesa-dev \ + libgallium \ libgl-mesa libgl-mesa-dev \ libglx-mesa libglx-mesa-dev \ libglapi libglapi-dev \ @@ -267,13 +279,6 @@ do_install:append () { rm -f ${D}${libdir}/pkgconfig/wayland-egl.pc } -do_install:append:class-native () { - if ${@bb.utils.contains('PACKAGECONFIG', 'opencl', 'true', 'false', d)}; then - install -d ${D}${bindir} - install -m0755 ${B}/src/intel/compiler/intel_clc ${D}${bindir} - fi -} - # For the packages that make up the OpenGL interfaces, inject variables so that # they don't get Debian-renamed (which would remove the -mesa suffix), and # RPROVIDEs/RCONFLICTs on the generic libgl name. @@ -344,7 +349,8 @@ FILES:mesa-megadriver = "${libdir}/dri/* ${datadir}/drirc.d" FILES:mesa-vulkan-drivers = "${libdir}/libvulkan_*.so ${libdir}/libpowervr_rogue.so ${datadir}/vulkan" FILES:${PN}-vdpau-drivers = "${libdir}/vdpau/*.so.*" FILES:libegl-mesa = "${libdir}/libEGL*.so.* ${datadir}/glvnd/egl_vendor.d" -FILES:libgbm = "${libdir}/libgbm.so.*" +FILES:libgbm = "${libdir}/libgbm.so.* ${libdir}/gbm/*_gbm.so" +FILES:libgallium = "${libdir}/libgallium-*.so" FILES:libgles1-mesa = "${libdir}/libGLESv1*.so.*" FILES:libgles2-mesa = "${libdir}/libGLESv2.so.*" FILES:libgl-mesa = "${libdir}/libGL.so.*" @@ -372,6 +378,9 @@ FILES:libxatracker-dev = "${libdir}/libxatracker.so ${libdir}/libxatracker.la \ FILES:${PN}-tools = "${bindir} ${datadir}" ALLOW_EMPTY:${PN}-tools = "1" +# All DRI drivers are symlinks to libdril_dri.so +INSANE_SKIP:${PN}-megadriver += "dev-so" + # Fix upgrade path from mesa to mesa-megadriver RREPLACES:mesa-megadriver = "mesa" RCONFLICTS:mesa-megadriver = "mesa" From patchwork Thu Apr 10 02:54:50 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 61082 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 72F80C369A5 for ; Thu, 10 Apr 2025 02:55:27 +0000 (UTC) Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by mx.groups.io with SMTP id smtpd.web11.25747.1744253724576038784 for ; Wed, 09 Apr 2025 19:55:24 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@qualcomm.com header.s=qcppdkim1 header.b=jx0fse3G; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: oss.qualcomm.com, ip: 205.220.168.131, mailfrom: dmitry.baryshkov@oss.qualcomm.com) Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 539HESiw004857 for ; Thu, 10 Apr 2025 02:55:24 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= rk4wwrwQ0aif+eL6Lh2gg3Wq6h8qgsyu/4DC1HHUkWY=; b=jx0fse3GTEb/Bw8g /D4MHQTrhZszQNfwOMgW3fVu5834j+E3Oyre0MS1PAl5XhuMcH4bj0MNcaHgfXL6 lpbK9TPYcM4GN99kMWjAOu/Y+Bd63GgKmUc8KkDEG8QGLXwbdlpwm3Xny/3JzdaS zoUE1z9Y+ZiZGDIeXCuiH8JklXI/24EsmS3GyWoNLkgkdUS514H2ACivi4A9USun JHTX5FROqyXSveQAivlOTs/amIUJYSjr0EXEpLc9z+P6Y2AsC4eDT1NVZCGA1zKD ahBqhXg6krkr4Q8M5kxqN4nqplAb6fA0b5L/rWZTPA9QaVJ1AjsNmw3iRxLBJhYl 9RHh/Q== Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 45twtb5gfu-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Thu, 10 Apr 2025 02:55:23 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-7c5c77aff55so91717185a.3 for ; Wed, 09 Apr 2025 19:55:23 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744253722; x=1744858522; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=rk4wwrwQ0aif+eL6Lh2gg3Wq6h8qgsyu/4DC1HHUkWY=; b=vaxhYObm3E2E64weQuhMowcIPUN9ZhTJhWBCGU+dnuIc1YfyNr00AbjXkKhQavJ6XN km518zkSCExIby4CRSmtrZG9O3odymYv+UM3Ts42dLJBeX7uI1zQ1SV2ggM4WFshzw+y byhe0ymML8aRALH3+DT3LDw5BVF9LVHDyk327SvRcV19xVN0amN2AX0V11UwNp8WaJDT O5F/1RzVl0Xih21jeAR6lNP74/o4u/50gDarFGcWm+FRrCVn+lYHMg0cZ9+TlHOsZV7u RzADAQ301hfFhablD0aYUjiJPQRrus8Ycd30ALf3KEQojLKYqd3+S54mWEG5QwafboeO mmyA== X-Gm-Message-State: AOJu0Ywr9JhiZuz+1SDPitKrFLUDY6U0KYD6yZvMokfWVA3YF5LDQ+fW t+8qdTn1Dr3bgBKFqzsle8OPPKgJ6NrBpvqaKYWraK09Te7Q2/0vLaABzYQGRM/4oTcRm/GrXo8 Zz1q7Aq+nNOb6u2OZ3yFOALKuvfreRZa8S4lLP0Q2/OYWSThxFc0urSBV6JoAW106Ppq7Zj4JYQ mjXrojwVFcnUc= X-Gm-Gg: ASbGncucSDbqlPKPVd9Ki+/9jYIl4StSbNTXPJNk7jo8CIJcN+bGl/CVyKfQM4O26Qk N/rMBCIyWI7xWMOUTwIe2y+tulpWGXJrvUKI5GXSGt0PzO05OBtMOnxCY6Ao2MeCVjbr3DspbEV 9ev0PB3c2penUiB+XVVzAmlFDtuSjbS6XEFShYX+ru+oL4qe0U6ap2DHMFUX/leI9ral2PGwGxs UcqEnlLgl/6a1cqMtl3aQz6Y9XJCB41uxEqhl3pEC7/qVHNWW2RLqbAPPPm/jIhhDr0sgvlze8g mxQsohWWRfeBXibQQ/78DzqhiEgRj+NY8Mca+bxqEo99GALuF7x6DlXQlXu9r7DKwMMvl2Hg8u4 8RAVw3NUVr1IbxlmoYldvFJIm X-Received: by 2002:a05:620a:2805:b0:7c5:a2f8:e6e4 with SMTP id af79cd13be357-7c7a768564fmr144478485a.29.1744253721961; Wed, 09 Apr 2025 19:55:21 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHMqzBLZ3AQ8OfVvzHGctRjRVqnmesqjTVl9bKREjbVf4M6IQIEhVAAy8l4TZrLg7ImkQu/jw== X-Received: by 2002:a05:620a:2805:b0:7c5:a2f8:e6e4 with SMTP id af79cd13be357-7c7a768564fmr144476785a.29.1744253721431; Wed, 09 Apr 2025 19:55:21 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54d3d123197sm24032e87.44.2025.04.09.19.55.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Apr 2025 19:55:19 -0700 (PDT) From: Dmitry Baryshkov Date: Thu, 10 Apr 2025 05:54:50 +0300 Subject: [PATCH v7 11/12] bindgen-cli: a tool to generate Rust bindings MIME-Version: 1.0 Message-Id: <20250410-mesa-25-v7-11-59d715c66e19@oss.qualcomm.com> References: <20250410-mesa-25-v7-0-59d715c66e19@oss.qualcomm.com> In-Reply-To: <20250410-mesa-25-v7-0-59d715c66e19@oss.qualcomm.com> To: openembedded-core@lists.openembedded.org Cc: Khem Raj X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=16753; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=YBZYBfYJ3JbKP7K0Jlp7EFib9eFhm7DpT046ALwrANQ=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBn9zLy9JAYDnfuzPpGLQSBy8gPnz/GIa9c2CXb6 tZl8nYqlROJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ/cy8gAKCRCLPIo+Aiko 1c1BB/4qAOiqJBILxn4PwQF/2jh0jFcqXLnkSFQwoErPCuqZd9TZAFag0pneu8+3uZ4gpSLIp2b 4rmyUOsw4TuOQn/aUgWWMPgqTsj4BEb1z7wG11jM5C+9AifQh0krVHRrybrEhtlwnPqJIHOxKfN MNSzs1/Ksj7CJ6C3C6fxjQOqCvtv9DMt18EY85UpXhnb5UVl5vV6AH+JJT/Lx8AuMrbppohuwZb m251It3Xyw3tLLFNuNcY9DdchcMg7Dy/kHngm+mAv2ex1MhLss6WpAxW8GHHbpZOeasc1K8nkm9 H9wvKRLSwS+24mQteqTR9uX5Gxu3NIgdJjUATRnoeBYDFygg X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-GUID: ddpd3Pcwc4L7pFfrhKwEyXJOrK54Ht-i X-Authority-Analysis: v=2.4 cv=LLlmQIW9 c=1 sm=1 tr=0 ts=67f7331c cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=XR8D0OoHHMoA:10 a=R22tBeTbAAAA:8 a=EUspDBNiAAAA:8 a=t7CeM3EgAAAA:8 a=iGHA9ds3AAAA:8 a=QyXUC8HyAAAA:8 a=pGLkceISAAAA:8 a=NEAV23lmAAAA:8 a=yg5Tb1XzTRPOZogEtRIA:9 a=QEXdDO2ut3YA:10 a=bTQJ7kPSJx9SKPbeHEYW:22 a=71pCXManv-pOE82v44e3:22 a=FdTzh2GWekK77mhwV6Dw:22 a=nM-MV4yxpKKO9kiQg6Ot:22 X-Proofpoint-ORIG-GUID: ddpd3Pcwc4L7pFfrhKwEyXJOrK54Ht-i X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-04-09_06,2025-04-08_04,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 bulkscore=0 clxscore=1015 mlxlogscore=999 malwarescore=0 phishscore=0 lowpriorityscore=0 priorityscore=1501 mlxscore=0 spamscore=0 adultscore=0 suspectscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2502280000 definitions=main-2504100021 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 ; Thu, 10 Apr 2025 02:55:27 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/214613 Import bindgen-cli from the meta-clang layer, as it is required to generate bindings for Mesa / RustiCL. Specify Khem as maintainer as he is maintaining the meta-clang layer, which included this recipe too. Signed-off-by: Dmitry Baryshkov --- meta/conf/distro/include/maintainers.inc | 1 + .../bindgen-cli/bindgen-cli-crates.inc | 186 +++++++++++++++++++++ .../bindgen-cli/bindgen-cli_0.71.1.bb | 19 +++ 3 files changed, 206 insertions(+) diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc index 2b47d3103c03b1b8a11f40566fdd5334d906860d..953abed2a9433bf1842b92ca7fc0b99f4df8bcd9 100644 --- a/meta/conf/distro/include/maintainers.inc +++ b/meta/conf/distro/include/maintainers.inc @@ -64,6 +64,7 @@ RECIPE_MAINTAINER:pn-bash = "Hongxu Jia " RECIPE_MAINTAINER:pn-bash-completion = "Unassigned " RECIPE_MAINTAINER:pn-bc = "Anuj Mittal " RECIPE_MAINTAINER:pn-bind = "Unassigned " +RECIPE_MAINTAINER:pn-bindgen-cli = "Khem Raj " RECIPE_MAINTAINER:pn-binutils = "Khem Raj " RECIPE_MAINTAINER:pn-binutils-cross-${TARGET_ARCH} = "Khem Raj " RECIPE_MAINTAINER:pn-binutils-cross-canadian-${TRANSLATED_TARGET_ARCH} = "Khem Raj " diff --git a/meta/recipes-devtools/bindgen-cli/bindgen-cli-crates.inc b/meta/recipes-devtools/bindgen-cli/bindgen-cli-crates.inc new file mode 100644 index 0000000000000000000000000000000000000000..a758440c9d324a2f17e6b2fef296d0d0dbd5e450 --- /dev/null +++ b/meta/recipes-devtools/bindgen-cli/bindgen-cli-crates.inc @@ -0,0 +1,186 @@ +# Autogenerated with 'bitbake -c update_crates bindgen-cli' + +# from Cargo.lock +SRC_URI += " \ + crate://crates.io/aho-corasick/1.1.3 \ + crate://crates.io/annotate-snippets/0.11.4 \ + crate://crates.io/anstyle/1.0.10 \ + crate://crates.io/autocfg/1.4.0 \ + crate://crates.io/bitflags/1.3.2 \ + crate://crates.io/bitflags/2.2.1 \ + crate://crates.io/block/0.1.6 \ + crate://crates.io/cc/1.2.2 \ + crate://crates.io/cexpr/0.6.0 \ + crate://crates.io/cfg-if/1.0.0 \ + crate://crates.io/clang-sys/1.8.1 \ + crate://crates.io/clap/4.1.4 \ + crate://crates.io/clap_complete/4.2.0 \ + crate://crates.io/clap_derive/4.1.0 \ + crate://crates.io/clap_lex/0.3.1 \ + crate://crates.io/either/1.13.0 \ + crate://crates.io/env_logger/0.10.0 \ + crate://crates.io/env_logger/0.8.4 \ + crate://crates.io/errno/0.3.10 \ + crate://crates.io/fastrand/1.9.0 \ + crate://crates.io/getrandom/0.2.15 \ + crate://crates.io/glob/0.3.1 \ + crate://crates.io/heck/0.4.1 \ + crate://crates.io/hermit-abi/0.3.9 \ + crate://crates.io/hermit-abi/0.4.0 \ + crate://crates.io/humantime/2.1.0 \ + crate://crates.io/instant/0.1.12 \ + crate://crates.io/io-lifetimes/1.0.11 \ + crate://crates.io/is-terminal/0.4.13 \ + crate://crates.io/itertools/0.13.0 \ + crate://crates.io/libc/0.2.167 \ + crate://crates.io/libloading/0.8.6 \ + crate://crates.io/linux-raw-sys/0.3.8 \ + crate://crates.io/log/0.4.22 \ + crate://crates.io/malloc_buf/0.0.6 \ + crate://crates.io/memchr/2.7.4 \ + crate://crates.io/minimal-lexical/0.2.1 \ + crate://crates.io/nom/7.1.3 \ + crate://crates.io/objc/0.2.7 \ + crate://crates.io/once_cell/1.20.2 \ + crate://crates.io/os_str_bytes/6.4.1 \ + crate://crates.io/owo-colors/4.1.0 \ + crate://crates.io/prettyplease/0.2.25 \ + crate://crates.io/proc-macro-error-attr/1.0.4 \ + crate://crates.io/proc-macro-error/1.0.4 \ + crate://crates.io/proc-macro2/1.0.92 \ + crate://crates.io/quickcheck/1.0.3 \ + crate://crates.io/quote/1.0.37 \ + crate://crates.io/rand/0.8.5 \ + crate://crates.io/rand_core/0.6.4 \ + crate://crates.io/redox_syscall/0.3.5 \ + crate://crates.io/regex-automata/0.4.9 \ + crate://crates.io/regex-syntax/0.8.5 \ + crate://crates.io/regex/1.11.1 \ + crate://crates.io/rustc-hash/2.1.0 \ + crate://crates.io/rustix/0.37.27 \ + crate://crates.io/shlex/1.3.0 \ + crate://crates.io/similar/2.6.0 \ + crate://crates.io/strsim/0.10.0 \ + crate://crates.io/syn/1.0.109 \ + crate://crates.io/syn/2.0.90 \ + crate://crates.io/tempfile/3.6.0 \ + crate://crates.io/termcolor/1.2.0 \ + crate://crates.io/unicode-ident/1.0.14 \ + crate://crates.io/unicode-width/0.1.14 \ + crate://crates.io/version_check/0.9.4 \ + crate://crates.io/wasi/0.11.0+wasi-snapshot-preview1 \ + crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \ + crate://crates.io/winapi-util/0.1.5 \ + crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \ + crate://crates.io/winapi/0.3.9 \ + crate://crates.io/windows-sys/0.48.0 \ + crate://crates.io/windows-sys/0.52.0 \ + crate://crates.io/windows-targets/0.48.5 \ + crate://crates.io/windows-targets/0.52.6 \ + crate://crates.io/windows_aarch64_gnullvm/0.48.5 \ + crate://crates.io/windows_aarch64_gnullvm/0.52.6 \ + crate://crates.io/windows_aarch64_msvc/0.48.5 \ + crate://crates.io/windows_aarch64_msvc/0.52.6 \ + crate://crates.io/windows_i686_gnu/0.48.5 \ + crate://crates.io/windows_i686_gnu/0.52.6 \ + crate://crates.io/windows_i686_gnullvm/0.52.6 \ + crate://crates.io/windows_i686_msvc/0.48.5 \ + crate://crates.io/windows_i686_msvc/0.52.6 \ + crate://crates.io/windows_x86_64_gnu/0.48.5 \ + crate://crates.io/windows_x86_64_gnu/0.52.6 \ + crate://crates.io/windows_x86_64_gnullvm/0.48.5 \ + crate://crates.io/windows_x86_64_gnullvm/0.52.6 \ + crate://crates.io/windows_x86_64_msvc/0.48.5 \ + crate://crates.io/windows_x86_64_msvc/0.52.6 \ +" + +SRC_URI[aho-corasick-1.1.3.sha256sum] = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +SRC_URI[annotate-snippets-0.11.4.sha256sum] = "24e35ed54e5ea7997c14ed4c70ba043478db1112e98263b3b035907aa197d991" +SRC_URI[anstyle-1.0.10.sha256sum] = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" +SRC_URI[autocfg-1.4.0.sha256sum] = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" +SRC_URI[bitflags-1.3.2.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +SRC_URI[bitflags-2.2.1.sha256sum] = "24a6904aef64d73cf10ab17ebace7befb918b82164785cb89907993be7f83813" +SRC_URI[block-0.1.6.sha256sum] = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" +SRC_URI[cc-1.2.2.sha256sum] = "f34d93e62b03caf570cccc334cbc6c2fceca82f39211051345108adcba3eebdc" +SRC_URI[cexpr-0.6.0.sha256sum] = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" +SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +SRC_URI[clang-sys-1.8.1.sha256sum] = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" +SRC_URI[clap-4.1.4.sha256sum] = "f13b9c79b5d1dd500d20ef541215a6423c75829ef43117e1b4d17fd8af0b5d76" +SRC_URI[clap_complete-4.2.0.sha256sum] = "01c22dcfb410883764b29953103d9ef7bb8fe21b3fa1158bc99986c2067294bd" +SRC_URI[clap_derive-4.1.0.sha256sum] = "684a277d672e91966334af371f1a7b5833f9aa00b07c84e92fbce95e00208ce8" +SRC_URI[clap_lex-0.3.1.sha256sum] = "783fe232adfca04f90f56201b26d79682d4cd2625e0bc7290b95123afe558ade" +SRC_URI[either-1.13.0.sha256sum] = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" +SRC_URI[env_logger-0.10.0.sha256sum] = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0" +SRC_URI[env_logger-0.8.4.sha256sum] = "a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3" +SRC_URI[errno-0.3.10.sha256sum] = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" +SRC_URI[fastrand-1.9.0.sha256sum] = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" +SRC_URI[getrandom-0.2.15.sha256sum] = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +SRC_URI[glob-0.3.1.sha256sum] = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" +SRC_URI[heck-0.4.1.sha256sum] = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" +SRC_URI[hermit-abi-0.3.9.sha256sum] = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" +SRC_URI[hermit-abi-0.4.0.sha256sum] = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" +SRC_URI[humantime-2.1.0.sha256sum] = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" +SRC_URI[instant-0.1.12.sha256sum] = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +SRC_URI[io-lifetimes-1.0.11.sha256sum] = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" +SRC_URI[is-terminal-0.4.13.sha256sum] = "261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b" +SRC_URI[itertools-0.13.0.sha256sum] = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +SRC_URI[libc-0.2.167.sha256sum] = "09d6582e104315a817dff97f75133544b2e094ee22447d2acf4a74e189ba06fc" +SRC_URI[libloading-0.8.6.sha256sum] = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34" +SRC_URI[linux-raw-sys-0.3.8.sha256sum] = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" +SRC_URI[log-0.4.22.sha256sum] = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" +SRC_URI[malloc_buf-0.0.6.sha256sum] = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb" +SRC_URI[memchr-2.7.4.sha256sum] = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" +SRC_URI[minimal-lexical-0.2.1.sha256sum] = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" +SRC_URI[nom-7.1.3.sha256sum] = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +SRC_URI[objc-0.2.7.sha256sum] = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" +SRC_URI[once_cell-1.20.2.sha256sum] = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" +SRC_URI[os_str_bytes-6.4.1.sha256sum] = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" +SRC_URI[owo-colors-4.1.0.sha256sum] = "fb37767f6569cd834a413442455e0f066d0d522de8630436e2a1761d9726ba56" +SRC_URI[prettyplease-0.2.25.sha256sum] = "64d1ec885c64d0457d564db4ec299b2dae3f9c02808b8ad9c3a089c591b18033" +SRC_URI[proc-macro-error-attr-1.0.4.sha256sum] = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +SRC_URI[proc-macro-error-1.0.4.sha256sum] = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +SRC_URI[proc-macro2-1.0.92.sha256sum] = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" +SRC_URI[quickcheck-1.0.3.sha256sum] = "588f6378e4dd99458b60ec275b4477add41ce4fa9f64dcba6f15adccb19b50d6" +SRC_URI[quote-1.0.37.sha256sum] = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" +SRC_URI[rand-0.8.5.sha256sum] = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +SRC_URI[rand_core-0.6.4.sha256sum] = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +SRC_URI[redox_syscall-0.3.5.sha256sum] = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" +SRC_URI[regex-automata-0.4.9.sha256sum] = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" +SRC_URI[regex-syntax-0.8.5.sha256sum] = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" +SRC_URI[regex-1.11.1.sha256sum] = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" +SRC_URI[rustc-hash-2.1.0.sha256sum] = "c7fb8039b3032c191086b10f11f319a6e99e1e82889c5cc6046f515c9db1d497" +SRC_URI[rustix-0.37.27.sha256sum] = "fea8ca367a3a01fe35e6943c400addf443c0f57670e6ec51196f71a4b8762dd2" +SRC_URI[shlex-1.3.0.sha256sum] = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" +SRC_URI[similar-2.6.0.sha256sum] = "1de1d4f81173b03af4c0cbed3c898f6bff5b870e4a7f5d6f4057d62a7a4b686e" +SRC_URI[strsim-0.10.0.sha256sum] = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" +SRC_URI[syn-1.0.109.sha256sum] = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +SRC_URI[syn-2.0.90.sha256sum] = "919d3b74a5dd0ccd15aeb8f93e7006bd9e14c295087c9896a110f490752bcf31" +SRC_URI[tempfile-3.6.0.sha256sum] = "31c0432476357e58790aaa47a8efb0c5138f137343f3b5f23bd36a27e3b0a6d6" +SRC_URI[termcolor-1.2.0.sha256sum] = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" +SRC_URI[unicode-ident-1.0.14.sha256sum] = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" +SRC_URI[unicode-width-0.1.14.sha256sum] = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" +SRC_URI[version_check-0.9.4.sha256sum] = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +SRC_URI[wasi-0.11.0+wasi-snapshot-preview1.sha256sum] = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +SRC_URI[winapi-i686-pc-windows-gnu-0.4.0.sha256sum] = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" +SRC_URI[winapi-util-0.1.5.sha256sum] = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +SRC_URI[winapi-x86_64-pc-windows-gnu-0.4.0.sha256sum] = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +SRC_URI[winapi-0.3.9.sha256sum] = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +SRC_URI[windows-sys-0.48.0.sha256sum] = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +SRC_URI[windows-sys-0.52.0.sha256sum] = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +SRC_URI[windows-targets-0.48.5.sha256sum] = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +SRC_URI[windows-targets-0.52.6.sha256sum] = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +SRC_URI[windows_aarch64_gnullvm-0.48.5.sha256sum] = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" +SRC_URI[windows_aarch64_gnullvm-0.52.6.sha256sum] = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" +SRC_URI[windows_aarch64_msvc-0.48.5.sha256sum] = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" +SRC_URI[windows_aarch64_msvc-0.52.6.sha256sum] = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" +SRC_URI[windows_i686_gnu-0.48.5.sha256sum] = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" +SRC_URI[windows_i686_gnu-0.52.6.sha256sum] = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" +SRC_URI[windows_i686_gnullvm-0.52.6.sha256sum] = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" +SRC_URI[windows_i686_msvc-0.48.5.sha256sum] = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" +SRC_URI[windows_i686_msvc-0.52.6.sha256sum] = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" +SRC_URI[windows_x86_64_gnu-0.48.5.sha256sum] = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" +SRC_URI[windows_x86_64_gnu-0.52.6.sha256sum] = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" +SRC_URI[windows_x86_64_gnullvm-0.48.5.sha256sum] = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" +SRC_URI[windows_x86_64_gnullvm-0.52.6.sha256sum] = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" +SRC_URI[windows_x86_64_msvc-0.48.5.sha256sum] = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" +SRC_URI[windows_x86_64_msvc-0.52.6.sha256sum] = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" \ No newline at end of file diff --git a/meta/recipes-devtools/bindgen-cli/bindgen-cli_0.71.1.bb b/meta/recipes-devtools/bindgen-cli/bindgen-cli_0.71.1.bb new file mode 100644 index 0000000000000000000000000000000000000000..5578fb3d18bf9cb622859ab3ff64ea23ea642e96 --- /dev/null +++ b/meta/recipes-devtools/bindgen-cli/bindgen-cli_0.71.1.bb @@ -0,0 +1,19 @@ +SUMMARY = "Automatically generates Rust FFI bindings to C and C++ libraries." +HOMEPAGE = "https://rust-lang.github.io/rust-bindgen/" +LICENSE = "BSD-3-Clause" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=0b9a98cb3dcdefcceb145324693fda9b" + +inherit rust cargo cargo-update-recipe-crates + +SRC_URI += "git://github.com/rust-lang/rust-bindgen.git;protocol=https;branch=main" +SRCREV = "af7fd38d5e80514406fb6a8bba2d407d252c30b9" +S = "${WORKDIR}/git" + +require ${BPN}-crates.inc + +do_install:append:class-native() { + create_wrapper ${D}/${bindir}/bindgen LIBCLANG_PATH="${STAGING_LIBDIR_NATIVE}" +} + +BBCLASSEXTEND = "native" From patchwork Thu Apr 10 02:54:51 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 61083 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 64810C369A1 for ; Thu, 10 Apr 2025 02:55:37 +0000 (UTC) Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by mx.groups.io with SMTP id smtpd.web10.25497.1744253728177778898 for ; Wed, 09 Apr 2025 19:55:28 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@qualcomm.com header.s=qcppdkim1 header.b=Gx+G1Lro; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: oss.qualcomm.com, ip: 205.220.168.131, mailfrom: dmitry.baryshkov@oss.qualcomm.com) Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 539HnpRN029898 for ; Thu, 10 Apr 2025 02:55:28 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 5KQIIe767gx02h7gn+eKAyNhGwqbUK7oPiNw70ce/ek=; b=Gx+G1LromXGG2Fnh rvnAE1qWG7dzIhM/FRdtKuQM/1xlAGmO0NC6AUjTe9mI+UFB+M6qYboQMUVXK2Qu UCMEB76UAqX++1I1gdetAh8pL95eRJj1w4+qzia/rwftXLR3/tgie3KSQu+0b3E7 97di/m5gOJ3B+kIBUcDDlW593J/EOacfxtZykRE74Oi8YK80Vtjh1oSzJIoDmn67 tyMMhMN6x6C8KfnbVICSzryeDIAR9cGvQcUVMTpmKWgqTaNghbPY9Rd/m2LXQG/V Y5gHDV7YnQS9jC03cRfc41auTMrqkixUTuj4p43eAfVMetXQkiCZc6XI7f7YWaUA U9KDPw== Received: from mail-qk1-f200.google.com (mail-qk1-f200.google.com [209.85.222.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 45twpmdbfm-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Thu, 10 Apr 2025 02:55:27 +0000 (GMT) Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-7c5e2872e57so68200785a.0 for ; Wed, 09 Apr 2025 19:55:27 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744253726; x=1744858526; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=5KQIIe767gx02h7gn+eKAyNhGwqbUK7oPiNw70ce/ek=; b=PjqA4j8IQkcznyOVx1Q9v3Use81LIbLlRwrSUfW4XAGon5NhOSoSxSeffsuRYzxpll m1Spo6YvPZqCb3kjFLzYTxNXNuSBjjbL1WVhtQBqB1nIUfMyvIQ4bsDkCo6o3Kol9ikm pCQQqgTLOR3A2Wc/lHx5ClOE/rY1XcOtbYzeK5tuCoG4JeJeax6y0wdOOvIGlXJM6gFE n5iE5ZPC8mGaHltjLiaMsdhQ9gYDP2XKDCYUM0eJOEpLPwJZD0lu612B3M3xFmQP7WHp /v7I7raGd2XKyIR/gtsGFhyPfyjB8W+10zJqZju/dl2JDNOs0r04wJkKazzRUibM/axo ZeiA== X-Gm-Message-State: AOJu0Yxtdof5INGThpvsMaVx2sjTK+ofjab4ylIWoGYXhRDHFM2WOFnv cV6KNP1DdSI+yIzalLM/uB8DeoRwudv9R8FGL06HWU5uj2Sa3J6Xl7rQHHnvKN4qNztCZA1zG+U /wpm02kELeZn1Wo6wv3rHepgzZNRmOGNRostotkT+WTfdxOJ7coYpKAHXe+M3+79z+tPBJc1nlr 4eKTy9Axr+1Yw= X-Gm-Gg: ASbGncszFX3Q2rOd52rR+UaN/qivZ1nkrMGZe84+xH4GA0DsB2rzNikKLVtB4w81f5Z YtyXvc3QIsJmuAPVrJX1LT5NX1qd9rz70za7Smuo5j+aNA9Zf0UlNa4YSX9bcHfA1YyhWnjdUQd RznoAk03mKLYmWas2i7wIZVysluk/ZICiJaaeh6nh68fBGuFhdugx2uy1my0DXUQN7o3Yjv93mP BlvRioULvOtE0enzTt8FNpHZ/TKTVxRyM0QF38jL5Fisled9OU75m1kHsnK4F5SxZoF2YKO6Q7Y twxWs7j/R6/RATid1O6vbtjnxqv3KvT90lld9q/DkJKP4qQB8gd3b31uYNRghxb1LGVwdwujLDo 83Ey69IAqYliBcRXp9SNsUTzD X-Received: by 2002:a05:620a:1923:b0:7c5:cdb5:271b with SMTP id af79cd13be357-7c7a815ec32mr96473985a.15.1744253725612; Wed, 09 Apr 2025 19:55:25 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFs0+1etDLvhM2zsbW+nINWVisODGmsX8lFft4zxefvvdntXWUO+F+i2xRRLY8jj7/qaF3RtQ== X-Received: by 2002:a05:620a:1923:b0:7c5:cdb5:271b with SMTP id af79cd13be357-7c7a815ec32mr96472885a.15.1744253725211; Wed, 09 Apr 2025 19:55:25 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54d3d123197sm24032e87.44.2025.04.09.19.55.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Apr 2025 19:55:23 -0700 (PDT) From: Dmitry Baryshkov Date: Thu, 10 Apr 2025 05:54:51 +0300 Subject: [PATCH v7 12/12] mesa: add support for RustiCL under PACKAGECONFIG "opencl" MIME-Version: 1.0 Message-Id: <20250410-mesa-25-v7-12-59d715c66e19@oss.qualcomm.com> References: <20250410-mesa-25-v7-0-59d715c66e19@oss.qualcomm.com> In-Reply-To: <20250410-mesa-25-v7-0-59d715c66e19@oss.qualcomm.com> To: openembedded-core@lists.openembedded.org Cc: Khem Raj , =?utf-8?b?Wm9sdMOhbiBCw7ZzesO2cm3DqW55?= =?utf-8?b?aQ==?= X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=7772; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=fZAgKJI7SWq8PzgWSpG663vL/fDTTwBSP4YJ4EAiFUU=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBn9zLyJM7IRKHpvybLH6JfnQut1CT/GiPitaUik oUcy6djBAmJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ/cy8gAKCRCLPIo+Aiko 1T2CB/sHAfe34OLIHiJ6Wl6gOk3+EqsyJPqorW2mAY2nMyIYCV/9Y8aCNTouzSnEkHA03OGdy0L pG/LEkqrGWQAtD4wLoJxq9FVZeqAwMNnZ/dsrZEL8oa/WMWqfG8pE/A/obLPZl76Pg2EWHrwq6n DQ3FyGPDBltx6rk7YLX5YVkF1uUDT40aV0VFzgWzonezXjhcwTUiK2eb3Rma6t0m3tzeDfekfwC xx5fnH7c8pBz3h31H80dUp8SH6KRfjjbfjmTkm544zB1NG8xLMot5fMVvx17yD2Fpux9Q+hwc8d ygG1krPMS3bJY9eglQ0ZqJKMOUAC/xeoNK0Ua1ZkibVZrc7G X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-GUID: 0s73IMFJvLyn3xTkQ_HXGCGzYLw6wiwR X-Proofpoint-ORIG-GUID: 0s73IMFJvLyn3xTkQ_HXGCGzYLw6wiwR X-Authority-Analysis: v=2.4 cv=MpRS63ae c=1 sm=1 tr=0 ts=67f7331f cx=c_pps a=hnmNkyzTK/kJ09Xio7VxxA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=XR8D0OoHHMoA:10 a=NEAV23lmAAAA:8 a=ZpVaWaFtAAAA:8 a=pGLkceISAAAA:8 a=EUspDBNiAAAA:8 a=NIk5LsUNV1RiDaC6tVwA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=PEH46H7Ffwr30OY-TuGO:22 a=5tn4MO8azEBWFjlAA-rn:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-04-09_06,2025-04-08_04,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 mlxlogscore=999 clxscore=1015 priorityscore=1501 impostorscore=0 spamscore=0 bulkscore=0 suspectscore=0 malwarescore=0 adultscore=0 phishscore=0 mlxscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2502280000 definitions=main-2504100021 X-MIME-Autoconverted: from 8bit to quoted-printable by mx0a-0031df01.pphosted.com id 539HnpRN029898 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 ; Thu, 10 Apr 2025 02:55:37 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/214614 From: Zoltán Böszörményi Mesa now has two OpenCL implementations: Clover (older one) and RustiCL (newer one). Extend the "opencl" package config to include both implementations into the libopencl-mesa (-dev) packages. As the Clover implementation is in maintenance mode and is expected to be removed at Mesa 25.2, it doesn't make sense to split the packages or to provide two config options. Signed-off-by: Zoltán Böszörményi [DB: merged "rusticl" and "clover" back to "opencl", reworked rust inheritance] Signed-off-by: Dmitry Baryshkov --- ...vide-cross-compilation-arguments-to-LLVM-.patch | 67 ++++++++++++++++++++++ meta/recipes-graphics/mesa/mesa.inc | 21 +++++-- 2 files changed, 83 insertions(+), 5 deletions(-) diff --git a/meta/recipes-graphics/mesa/files/0001-rusticl-provide-cross-compilation-arguments-to-LLVM-.patch b/meta/recipes-graphics/mesa/files/0001-rusticl-provide-cross-compilation-arguments-to-LLVM-.patch new file mode 100644 index 0000000000000000000000000000000000000000..d527b3408734dfa0aa756053c1b0f3ea3a59563b --- /dev/null +++ b/meta/recipes-graphics/mesa/files/0001-rusticl-provide-cross-compilation-arguments-to-LLVM-.patch @@ -0,0 +1,67 @@ +From b9cf34f39ca7e7546508ce2ab1f053edef5fc201 Mon Sep 17 00:00:00 2001 +From: Dmitry Baryshkov +Date: Wed, 26 Mar 2025 17:47:09 +0200 +Subject: [PATCH] rusticl: provide cross-compilation arguments to LLVM bindgen + invocation + +Correctly generating LLVM bindings requires several croos-compilation +arguments. Provide them to rust.bindgen(). Karol Herbst on IRC suggested +that a proper fix should be to fix meson's rust.bindgen() to support +cross-compilation. Carry this patch until meson is fixed. + +Upstream-Status: Inappropriate [OE-Specific] +Link: https://github.com/mesonbuild/meson/issues/13591 +Signed-off-by: Dmitry Baryshkov +--- + meson_options.txt | 14 ++++++++++++++ + src/gallium/frontends/rusticl/meson.build | 8 ++++++++ + 2 files changed, 22 insertions(+) + +diff --git a/meson_options.txt b/meson_options.txt +index 0147cafcb146..f73e83fded18 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -796,3 +796,17 @@ option( + value : false, + description : 'Install the drivers internal shader compilers (if needed for cross builds).' + ) ++ ++option( ++ 'bindgen-includedir', ++ type : 'string', ++ value : '', ++ description : 'system-wide include directory for cross-generating LLVM bindings' ++ ) ++ ++option( ++ 'bindgen-target', ++ type : 'string', ++ value : '', ++ description : 'Clang target for cross-generating LLVM bindings' ++ ) +diff --git a/src/gallium/frontends/rusticl/meson.build b/src/gallium/frontends/rusticl/meson.build +index a5d1dcf3abb9..480c220b7f5f 100644 +--- a/src/gallium/frontends/rusticl/meson.build ++++ b/src/gallium/frontends/rusticl/meson.build +@@ -115,6 +115,11 @@ rusticl_bindgen_c_args = [ + '-fno-builtin-malloc', + ] + ++bindgen_target = get_option('bindgen-target') ++if bindgen_target != '' ++ rusticl_bindgen_c_args += [ '-target', bindgen_target ] ++endif ++ + cl_c_args = [ + '-DCL_USE_DEPRECATED_OPENCL_1_0_APIS', + '-DCL_USE_DEPRECATED_OPENCL_1_1_APIS', +@@ -187,6 +192,9 @@ rusticl_llvm_bindings_rs = rust.bindgen( + rusticl_bindgen_c_args, + pre_args, + ], ++ include_directories : [ ++ get_option('bindgen-includedir'), ++ ], + dependencies : [ + dep_clang, + dep_llvm, diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc index 9edce6b2281c2e33e6fe20819f0f4998cceba60b..aca34983e97ca684d662987d3a1d0b61ba44029a 100644 --- a/meta/recipes-graphics/mesa/mesa.inc +++ b/meta/recipes-graphics/mesa/mesa.inc @@ -18,6 +18,7 @@ SRC_URI = "https://archive.mesa3d.org/mesa-${PV}.tar.xz \ file://0001-meson-misdetects-64bit-atomics-on-mips-clang.patch \ file://0001-meson-disable-SIMD-blake-optimisations-on-x32-host.patch \ file://0001-freedreno-don-t-encode-build-path-into-binaries.patch\ + file://0001-rusticl-provide-cross-compilation-arguments-to-LLVM-.patch \ " SRC_URI[sha256sum] = "adf904d083b308df95898600ffed435f4b5c600d95fb6ec6d4c45638627fdc97" @@ -46,7 +47,7 @@ PROVIDES = " \ virtual/mesa \ " -inherit meson pkgconfig python3native gettext features_check +inherit meson pkgconfig python3native gettext features_check rust BBCLASSEXTEND = "native nativesdk" @@ -85,6 +86,9 @@ PACKAGECONFIG = " \ ${@bb.utils.contains('DISTRO_FEATURES', 'vulkan', 'zink', '', d)} \ " +# skip all Rust dependencies if we are not building OpenCL" +INHIBIT_DEFAULT_RUST_DEPS = "${@bb.utils.contains('PACKAGECONFIG', 'opencl', '', '1', d)}" + PACKAGECONFIG:append:x86 = " libclc gallium-llvm" PACKAGECONFIG:append:x86-64 = " libclc gallium-llvm" PACKAGECONFIG:append:i686 = " libclc gallium-llvm" @@ -144,9 +148,16 @@ PACKAGECONFIG[gles] = "-Dgles1=enabled -Dgles2=enabled, -Dgles1=disabled -Dgles2 # "egl" requires "opengl" PACKAGECONFIG[egl] = "-Degl=enabled, -Degl=disabled" +BINDGEN_TARGET = "${TARGET_ARCH}-${TARGET_OS}${@['-gnu', ''][d.getVar('LIBCEXTENSION') != '']}" +BINDGEN_TARGET:class-native = "" + # "opencl" also requires libclc and gallium-llvm to be present in PKGCONFIG! # Be sure to enable them both for the target and for the native build. -PACKAGECONFIG[opencl] = "-Dgallium-opencl=icd,-Dgallium-opencl=disabled," +PACKAGECONFIG[opencl] = " \ + -Dgallium-opencl=icd -Dgallium-rusticl=true -Dbindgen-includedir=${STAGING_INCDIR} -Dbindgen-target=${BINDGEN_TARGET},\ + -Dgallium-opencl=disabled -Dgallium-rusticl=false, \ + bindgen-cli-native \ +" PACKAGECONFIG[broadcom] = "" PACKAGECONFIG[etnaviv] = ",,python3-pycparser-native" @@ -249,7 +260,7 @@ RDEPENDS:libgles3-mesa-dev += "libgles2-mesa-dev" RDEPENDS:libgles2-mesa += "libgles3-mesa" ALLOW_EMPTY:libgles3-mesa = "1" -RDEPENDS:libopencl-mesa += "${@bb.utils.contains('PACKAGECONFIG', 'opencl', 'libclc spirv-tools', '', d)}" +RDEPENDS:libopencl-mesa += "${@bb.utils.contains('PACKAGECONFIG', 'opencl', 'libclc spirv-tools spirv-llvm-translator', '', d)}" PACKAGES =+ "libegl-mesa libegl-mesa-dev \ libosmesa libosmesa-dev \ @@ -355,7 +366,7 @@ FILES:libgles1-mesa = "${libdir}/libGLESv1*.so.*" FILES:libgles2-mesa = "${libdir}/libGLESv2.so.*" FILES:libgl-mesa = "${libdir}/libGL.so.*" FILES:libglx-mesa = "${libdir}/libGLX*.so.*" -FILES:libopencl-mesa = "${libdir}/libMesaOpenCL.so.* ${libdir}/gallium-pipe/*.so ${sysconfdir}/OpenCL/vendors/mesa.icd" +FILES:libopencl-mesa = "${libdir}/lib*OpenCL.so.* ${libdir}/gallium-pipe/*.so ${sysconfdir}/OpenCL/vendors/*.icd" FILES:libglapi = "${libdir}/libglapi.so.*" FILES:libosmesa = "${libdir}/libOSMesa.so.*" FILES:libxatracker = "${libdir}/libxatracker.so.*" @@ -369,7 +380,7 @@ FILES:libglapi-dev = "${libdir}/libglapi.*" FILES:libgles1-mesa-dev = "${libdir}/libGLESv1*.* ${includedir}/GLES ${libdir}/pkgconfig/glesv1*.pc" FILES:libgles2-mesa-dev = "${libdir}/libGLESv2.* ${includedir}/GLES2 ${libdir}/pkgconfig/glesv2.pc" FILES:libgles3-mesa-dev = "${includedir}/GLES3" -FILES:libopencl-mesa-dev = "${libdir}/libMesaOpenCL.so" +FILES:libopencl-mesa-dev = "${libdir}/lib*OpenCL.so" FILES:libosmesa-dev = "${libdir}/libOSMesa.* ${includedir}/GL/osmesa.h ${libdir}/pkgconfig/osmesa.pc" FILES:libxatracker-dev = "${libdir}/libxatracker.so ${libdir}/libxatracker.la \ ${includedir}/xa_tracker.h ${includedir}/xa_composite.h ${includedir}/xa_context.h \