From patchwork Tue Oct 20 00:30:18 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Khem Raj X-Patchwork-Id: 101330 Received: from mail-dy1-f177.google.com (mail-dy1-f177.google.com [74.125.82.177]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.8985.1792456226415169535 for ; Mon, 19 Oct 2026 17:30:26 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20251104 header.b=Kh1qBWW4; spf=pass (domain: gmail.com, ip: 74.125.82.177, mailfrom: raj.khem@gmail.com) Received: by mail-dy1-f177.google.com with SMTP id 5a478bee46e88-3282db206d3so4573339eec.0 for ; Mon, 19 Oct 2026 17:30:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1792456226; x=1793061026; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to:content-type; bh=4KE72+aAwlXuXw+iE9EZfyt6L/a7/zE+qAkJnNkpGgk=; b=Kh1qBWW4kIPmU5sAyWwbpBntfOChEspC4E3SSbI1+VunwjKB5PalovtvzyqKZ7iKAE 8rVRdGFwIopBlDSgXcJ+aRxfgXQ6iPvR2NDjMYWwPItV+5fvRo9uaicStIcOYkpSbARV Dbv+Opbobpa0lz//P0nOIJQVwCokYXSAcOGHhCQttJM3rcANwJnNZ4gBz9XPffrkXaQM 4lkPIYidZ7JlviAdUldxCO4pSWie7BtU1sgR5ZatuwtL9NY4Hw05518VNDYSrlMWiAZw czCqfpwPxI4mEp7fFXYZB6ovZiTpLYRdaY+Fy+BjNVxEetr5ojUo5C/+Yo3rdT/lE9WA yR3Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1792456226; x=1793061026; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=4KE72+aAwlXuXw+iE9EZfyt6L/a7/zE+qAkJnNkpGgk=; b=e4DnnNQZSetTv9cg3CBvibRnrBqBpDj2QxOyfPX0/A48vuTCLzxUmojbH5lZTvfB8M LivxorVMljaB7zLdMo8bG8TGnMq8uZit1QuDc5wkDBC6xQ6wImcjiIkF75d5QklCs5+V uJVVjGlYnfX8VO+ZxylIjq0XNo6uamFlDs6Vx3QG9pEVJpz/9fFj7bF7x5RKy5VPKcEp cKAk91gx30wU55r/YTJzUPgREgxUcL/6yUPMavtTrsIIgrZrHplaJZJez4ohxGwEgxFd +7Co0zX5acCVnQyJ7pk6ACbx6k9H5kXo3o1tnpCAKsLJJJH+plt/nc0wIejhtqxqqrNb iAcA== X-Gm-Message-State: AFq9FYKmb+kVmAjbUOAAvKc3PiFRqjdmC2hUcWTiuMRPuv0cigWnITIo RVUaNRNr3jYVk2CJ/lp+n4ScMlo7NB0pvnN/QabPhDC44HKewH4vrG2r3xBKr1FSTDI= X-Gm-Gg: AYBFou17bdte9bgkAJBbxJOw81I4V2YsZ6nqxtcfBpaghvHuhgCIZPHjNxoclrvqJCA 5PufK30ZWAQy3qPTuNg5vP0ugi+rJfiurdSOtv565NgZYB2GXoS70KsY+LM1YqrndG/a4R7Xql5 oXyKd3uyDX7sfGvjmzld8lbyieI5e3ssa3uvp/SIX6ovCLzfStcv0bgnbhDva3xY5ZtNO6xbPcr wuCbTc6xoToZ1hdshJCjXufAObd4mEZUnlL4s9jVgKqpST9Z7aMMXcuc8cJu/eWssgbbZoIfLPi lnK1WXeAItfmsV1uaH5sC74KFtIUTtjcFt7mf3k/tp7rFaWm9g/15phMSz+I91DbG2LyzsKvEVE Zra8dMG3RG/+Eu/arKIwStbmzC7HvVyasZ/zntu1h+POQ026SvOPptf4L8GjNZj9NTgd50BaW2X MYBix+cXUb2Wt+Xpu80JzUPbyNDfklzTfcBsvHHbU1IRwqq008e0lnqbkby9eLPFAQL0HZvJ4qu R/QdAGBmTi2lntzMhp5U2MEyhv3Ds3gnD7d6yqCrqWSVb1f63UYra3ReYyFlW1j21b/umpdKh2h a4oG6FL4QRtk/gzoWnQZ/kyQ3puuyEOb6434YNPuyxvivxmRgl6L6VsVxJsjnDrCx8sfTSx0Tlk +8IBrqUfBo8qTx01/GTOQjWZ1estuRHThZjWkcWceoh+peyy/WJ4dAFkdcqGo02tzuIvCORDjMz DxklfwQXgQ0RU6FvgHsmsgAvnNZ3/5pexypeaq5uL/fApIsoNs7dK6eFeV X-Received: by 2002:a05:7300:e5c2:b0:352:4f11:8118 with SMTP id 5a478bee46e88-361a3813baamr13365903eec.40.1792456225538; Mon, 19 Oct 2026 17:30:25 -0700 (PDT) Return-Path: Received: from apollo.tail3ccdd3.ts.net ([147.160.63.35]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-360819be413sm35596579eec.13.2026.10.19.17.30.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 19 Oct 2026 17:30:24 -0700 (PDT) From: Khem Raj X-Google-Original-From: Khem Raj To: openembedded-devel@lists.openembedded.org Cc: Khem Raj Subject: [meta-gnome][PATCH 1/5] mutter: Fix build without remote desktop support Date: Mon, 19 Oct 2026 17:30:18 -0700 Message-ID: <20261020003022.1913623-1-khem.raj@oss.qualcomm.com> X-Mailer: git-send-email 2.56.0 MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by lin-tor-korg-lkml-alma10-1 with HTTPS for ; Tue, 20 Oct 2026 00:30:29 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/131147 The clipboard session is always built, as input capture uses it, but the remote selection source it calls into was only built with -Dremote_desktop=true, so libmutter failed to link with the default PACKAGECONFIG: ld.lld: error: undefined symbol: meta_selection_source_remote_new Build the remote selection source unconditionally. AI-Generated: Uses Claude Code Signed-off-by: Khem Raj --- ...ection-source-without-remote-desktop.patch | 42 +++++++++++++++++++ .../recipes-gnome/mutter/mutter_51.0.bb | 4 +- 2 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 meta-gnome/recipes-gnome/mutter/files/0002-build-Build-remote-selection-source-without-remote-desktop.patch diff --git a/meta-gnome/recipes-gnome/mutter/files/0002-build-Build-remote-selection-source-without-remote-desktop.patch b/meta-gnome/recipes-gnome/mutter/files/0002-build-Build-remote-selection-source-without-remote-desktop.patch new file mode 100644 index 0000000000..094270536e --- /dev/null +++ b/meta-gnome/recipes-gnome/mutter/files/0002-build-Build-remote-selection-source-without-remote-desktop.patch @@ -0,0 +1,42 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 18 Oct 2026 17:50:00 -0700 +Subject: [PATCH] build: Build remote selection source without remote desktop + +meta-clipboard-session.c is built unconditionally, as input capture +uses it, but it calls into meta-selection-source-remote.c, which is only +built with remote desktop support. Linking libmutter with +-Dremote_desktop=false fails: + + ld.lld: error: undefined symbol: meta_selection_source_remote_new + +The remote selection source has no remote desktop dependencies, so +build it unconditionally as well. + +Upstream-Status: Pending +AI-Generated: Uses Claude Code +Signed-off-by: Khem Raj +--- + src/meson.build | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/src/meson.build ++++ b/src/meson.build +@@ -345,6 +345,8 @@ + 'core/meta-selection.c', + 'core/meta-selection-source.c', + 'core/meta-selection-source-memory.c', ++ 'core/meta-selection-source-remote.c', ++ 'core/meta-selection-source-remote.h', + 'core/meta-session-manager.c', + 'core/meta-session-state.c', + 'core/meta-sound-player.c', +@@ -470,8 +472,6 @@ + 'backends/meta-stream-window.h', + 'backends/meta-stream.c', + 'backends/meta-stream.h', +- 'core/meta-selection-source-remote.c', +- 'core/meta-selection-source-remote.h', + ] + endif + diff --git a/meta-gnome/recipes-gnome/mutter/mutter_51.0.bb b/meta-gnome/recipes-gnome/mutter/mutter_51.0.bb index 66a4666c55..4213e2cc06 100644 --- a/meta-gnome/recipes-gnome/mutter/mutter_51.0.bb +++ b/meta-gnome/recipes-gnome/mutter/mutter_51.0.bb @@ -35,7 +35,9 @@ DEPENDS = " \ inherit gnomebase gsettings gobject-introspection gettext features_check -SRC_URI += "file://0001-Dont-use-system-sysprof-dbus-folder.patch" +SRC_URI += "file://0001-Dont-use-system-sysprof-dbus-folder.patch \ + file://0002-build-Build-remote-selection-source-without-remote-desktop.patch \ + " SRC_URI[archive.sha256sum] = "5d28f3ae225692428fcafb96500d673f34328b698b86960c9c1460d0b1d983b3" REQUIRED_DISTRO_FEATURES = "wayland polkit" From patchwork Tue Oct 20 00:30:19 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Khem Raj X-Patchwork-Id: 101331 Received: from mail-dy1-f172.google.com (mail-dy1-f172.google.com [74.125.82.172]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.8837.1792456228107606364 for ; Mon, 19 Oct 2026 17:30:28 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20251104 header.b=QMliHPiK; spf=pass (domain: gmail.com, ip: 74.125.82.172, mailfrom: raj.khem@gmail.com) Received: by mail-dy1-f172.google.com with SMTP id 5a478bee46e88-366421dc8ebso44004eec.1 for ; Mon, 19 Oct 2026 17:30:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1792456227; x=1793061027; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=EThvYXEKuRLbkWE8nf6hhe7J8ap8ghYw/FsA6cM52Lw=; b=QMliHPiKXHLviLmn7Y5PLQMZM7PtaviBtgvbMxKigfa4+CroCWJig802Wf1tj0MveW 8l9o+Uy4jZ1HXVH1Zr6lpSMhpYDU+a/TxYkKsEFBByK40FzoO74pWOQPC1rwGk85DLUA /hO0bQfhTkkAmS2NUJYOaAsnMIlD/WA/mcIf13vDsIsYH30OCscvKwTAvtnOv0aGJ+Pl wqpva1nStVk5UPnpQuxJKP+TYi5ud4jDzjYbksuSaB6W0acER2dYjpQIuNRzRRFqW9KB LoZdO5YzvDLhUnPFbtWsmDJTuwA7e9/nWn1pcaOewdPUIQArfYXIqHVFN6cCNRr8+eNb 42aQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1792456227; x=1793061027; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=EThvYXEKuRLbkWE8nf6hhe7J8ap8ghYw/FsA6cM52Lw=; b=hMLnKkxeVpoEwcdOivjSB7vwLrLt2WkZy8WdNHeU/rHp7ZB3uEEDKaFdLvsbZpIp+k ybZqCMU4Cn9YucQ+/noiTS7V7dhEIx3mX4qxemP3GKX226vx7z9d35CqRsGGdXxUGNQv CIHZdG5TRgsuDKmwxlegp8zD1Il0tNxqhe6vI3s0Hg4Oi+KnCfYswzCT19uVAbCyAH13 ysGhAPCyWykz8XJrJvCfb9Z/2WdVXwS8huM0g/QsTN26MZ59Kt2fFsqUPhf4eIV0XlM2 WRjvZzg/cQbJY6WGjSQNo1TxS12QOJxri7/Gnpeww35RxeF67agB30fdRAwEmkybv/9J vYUA== X-Gm-Message-State: AFq9FYLOtfdQFk4nCYI3DJoJs5icq/gcN3zX7+XTiEqFmQXW6Zq7+s6l GnFmCNuZwycPQQRwQa18ZAkauCw9Ey9KDHxqSj8wzJxDU6x5D5gNoje37vw5RTJvjCI= X-Gm-Gg: AYBFou0GFPF5ZuEfEyGMpaWv+FuDeLRKr5x2/HkP9B+vr1uuN2zSWX5ATtukERLeTxW cir1muLKw6ixm8IW6431c0w6pbwz7iKwFf2m1+n2tRTKCtzES0CX7AI4cyAJIQw+YGPo65yi1lT A2FQqrA0MJdjMWJ+gJfmhXGRDmgfymZN9J7NhKUFzeL7uvMRDMm8kls/34b+JdbO+HtgakOGzgC 6G5GzNl6bYcTZXjrCLsJNTWY16BDCuZHHhwIOAXlSkFPBaLknH3yLwJHfmdI4CGrcOsURT1UrZP aa0/VDhp268332oYPrGX0zI0epbX+d6nGyFLaT/eVx3UNt84+RtSz1lFdZ0HCB2GrMV7nV25w2T DHi2BUWEgZ2BctQLX8h8KnGOdJnS5crBXkhXqyaj/6fUHywe60CRhRRDqtk7komW+YwblOjFBjO KvFpbDA8ZRlktBKR8sGd+JRsGRvkekobztknPaauKGkEwz/Q2ASoefY96jsBt1icpILwLNCCzIn HOhvDRPNhnfBXC7oYrzvlwBjP8qnbQQNKnYBitob+Lan/HaQDYzd8cMqffLq8MJZviFD3dTH31A yjNJ5NRyEH4+XtDN8wivtPDLexl0X1LW3amkiRtv1dh6Iu7ptczOg0yfDS42ZsoOCDtbpgwyORU VOxMSwK42BXEa6fXNnCdlOBhEkSWXfcgfUqiNPSCKQc67q/vtGZWCmFyusmpmOE4V71Am6PwJyz QekjlGKgMz/JY9ulPycUrzEJD2f0TMdZzFNV0ucpCl52/e1aM= X-Received: by 2002:a05:7301:6197:10b0:360:aeee:9b8a with SMTP id 5a478bee46e88-365fa4906e4mr829667eec.8.1792456227285; Mon, 19 Oct 2026 17:30:27 -0700 (PDT) Return-Path: Received: from apollo.tail3ccdd3.ts.net ([147.160.63.35]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-360819be413sm35596579eec.13.2026.10.19.17.30.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 19 Oct 2026 17:30:26 -0700 (PDT) From: Khem Raj X-Google-Original-From: Khem Raj To: openembedded-devel@lists.openembedded.org Cc: Khem Raj Subject: [meta-oe][PATCH 2/5] librice: Point bindgen at the target sysroot Date: Mon, 19 Oct 2026 17:30:19 -0700 Message-ID: <20261020003022.1913623-2-khem.raj@oss.qualcomm.com> X-Mailer: git-send-email 2.56.0 In-Reply-To: <20261020003022.1913623-1-khem.raj@oss.qualcomm.com> References: <20261020003022.1913623-1-khem.raj@oss.qualcomm.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by lin-tor-korg-lkml-alma10-1 with HTTPS for ; Tue, 20 Oct 2026 00:30:30 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/131148 rice-c/build.rs runs bindgen without any target flags, so libclang parsed the build host headers in /usr/include, which fails when cross compiling, e.g. for riscv64/musl: /usr/include/bits/floatn.h:97:9: error: __float128 is not supported on this target Pass the target arch flags, sysroot and triple via BINDGEN_EXTRA_CLANG_ARGS, as thin-provisioning-tools does. AI-Generated: Uses Claude Code Signed-off-by: Khem Raj --- meta-oe/recipes-support/librice/librice_0.4.3.bb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/meta-oe/recipes-support/librice/librice_0.4.3.bb b/meta-oe/recipes-support/librice/librice_0.4.3.bb index 4017b58271..61934acd88 100644 --- a/meta-oe/recipes-support/librice/librice_0.4.3.bb +++ b/meta-oe/recipes-support/librice/librice_0.4.3.bb @@ -16,6 +16,11 @@ CARGO_BUILD_FLAGS += " --workspace" export LIBCLANG_PATH = "${STAGING_LIBDIR_NATIVE}/libclang.so" +# rice-c/build.rs runs bindgen, point libclang at the target sysroot instead +# of the build host headers in /usr/include +BINDGEN_EXTRA_CLANG_ARGS = "${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} --target=${TARGET_SYS}" +export BINDGEN_EXTRA_CLANG_ARGS + # rice-c/build.rs builds the internal rice-proto C library in-tree (via # "cargo cinstall") and then locates it through system-deps + pkg-config. # The generated rice-proto.pc carries an absolute prefix pointing at the From patchwork Tue Oct 20 00:30:20 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Khem Raj X-Patchwork-Id: 101332 Received: from mail-dy1-f173.google.com (mail-dy1-f173.google.com [74.125.82.173]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.8840.1792456229967102842 for ; Mon, 19 Oct 2026 17:30:30 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20251104 header.b=AcGiTEKE; spf=pass (domain: gmail.com, ip: 74.125.82.173, mailfrom: raj.khem@gmail.com) Received: by mail-dy1-f173.google.com with SMTP id 5a478bee46e88-3514b90bb89so7032658eec.1 for ; Mon, 19 Oct 2026 17:30:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1792456229; x=1793061029; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=lA3yrWQaFNxy8NHU4fc5Se9Fsu+Tkk1EXvhS/+TXZzA=; b=AcGiTEKEh72H19t8TKXjt/vYrrVrqu0EdRab7nVdtvuwa9cR3qCuXKyyuLFJW17AOx ikfflTQrnZPv0Ffs+evoUj7O3AI3uZCekZlmXIV46Z+LWWqYZKsa0jjtyh0Ou2j4ttT6 otoCA6i828dxxF73UgRthXk68GJsUwFzkMQmZoaQMSRtAA2Xanv9kRBWqYcffZXO+8qp ylEs+x1ffJa+5gOcK0LCIf/n2ozl9orpuYe6MAOrDqD2vTf9iGYqzX4XfcEIgjAX3h4q AqSMlb2KiXBzjjTxSDUFepxLo9EOJnfcIl9sFAO4EVAdxQGl9ppnPmS0nQbmt2/S51dW j5iQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1792456229; x=1793061029; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=lA3yrWQaFNxy8NHU4fc5Se9Fsu+Tkk1EXvhS/+TXZzA=; b=i8ANa0BK43+o3RKYC6RuihXP1/DVxtI2D+CDTHpBmzZ0R2yKtgb1Z2unN5vtfR9tr2 cm6lQ8OL2r/71Vo/u3CVwNzXMr6c8ZtKm/cIahjZd13uDM8SoGvRMJW1KPqFbos0QpvU Kp/6cZQbp2kDFi4qW2s03XwyZHCXJvgIxhoRffLZcjz5V9oTZfeoKKlvG5o4DHs7Fz0d V4fUd0JMK8RTxtpTyL1NgkOsUenLfLhzTg0uy868uNFKdjggh+Dbz+tuvPf5FiALfHXZ RP5RVHzGdnKOOXzwLGC+m/kr+9Z7SoVEUrlJX8N7eVcdlyBroaA3oj9aO7q76hKLV43k qNLg== X-Gm-Message-State: AFq9FYJzJVUjwofnh5Nk7fICur2/x/YeoaPL7bH22z0hbS4SJouj2Lz1 aITfEUTZKFYaqPjXDD+WLLxZJn2hJ9o+7FMXFF7BuVEcyxZreDynJzGQYtAAj4ikqII= X-Gm-Gg: AYBFou2Igx1wxo3oi92deHXIhITXe28xIQt5N0z5KOIaqB+oTVhBuQT/ofaIS1oxF52 ecVuezGZT06RMSED6JW4iEzh15fBxQvvvhJRUzJeeHcKUGFoIlGKuJ1qo6vnswNc0lEHwrBT75N Xej1G51fXNTSLovGc0EWC6Pt3qalZjqBnMyiXDb52rXEtBt4T6FEGbbNVBRmKUZQsPh4YoCg+rh BF3lAjzL1u4dsW/CIsuOHLrWQX139jJra76X81VVN8qAfmOs6YNNs8x5HkJKJMXeDgSOQhWaXpp a1O8jVLejDjw7a08LVd2LhtAKI728ZokvKj2lc8MdOnzthVJ94gNTMn0CSlJBr6X+PkYhj8H7j8 6qqviJ84sqfjjegn7n57jbTsgbB3eg2EPXGdxvUOJh7p4pKj9oWsN89MBEvnMvNkefopLK4jjtX NMsMPfHG0ctvPYOnpGR9fnPG3O9SsGnZ1johNFKtaP22SWwixLQjlrp+VcuYH9jJ8IFc36umgMi x+jjt+FxpNshf86nNm71svv/+uNf1a9WLZSZckNvmBadl1jGTr+loaybV7BB+OOqM5sEygs7f73 36AEuQ8JhKp9obNBuDH0GXcR7K1LZf54j0rX/fUUfW5E9wn4vLuyz5ToE48l3+a61oMnt+ATI0Y 0VkghPAlkKits9LpNPx8jOLGssACzUloBCjeV0LCc/iWT15UQOQGiiWayX4/nOMmxb6++LODg1/ B8z4G7AhKpyFiPLCWgZ9UsBTIAUT2Ms6OjAsT78WeUkcq2xBXyCeeS0KslMGG+BLMkO4Kf4DeAO ERUatkGFvng/CGtQnTeG2TdLPtbMZQ= X-Received: by 2002:a05:7301:1882:b0:341:5da1:7851 with SMTP id 5a478bee46e88-36632d8b0ccmr262731eec.12.1792456229046; Mon, 19 Oct 2026 17:30:29 -0700 (PDT) Return-Path: Received: from apollo.tail3ccdd3.ts.net ([147.160.63.35]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-360819be413sm35596579eec.13.2026.10.19.17.30.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 19 Oct 2026 17:30:28 -0700 (PDT) From: Khem Raj X-Google-Original-From: Khem Raj To: openembedded-devel@lists.openembedded.org Cc: Khem Raj Subject: [meta-oe][PATCH 3/5] xdp-tools: Fix embedded BPF objects when linking with lld Date: Mon, 19 Oct 2026 17:30:20 -0700 Message-ID: <20261020003022.1913623-3-khem.raj@oss.qualcomm.com> X-Mailer: git-send-email 2.56.0 In-Reply-To: <20261020003022.1913623-1-khem.raj@oss.qualcomm.com> References: <20261020003022.1913623-1-khem.raj@oss.qualcomm.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by lin-tor-korg-lkml-alma10-1 with HTTPS for ; Tue, 20 Oct 2026 00:30:39 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/131149 libxdp turns its BPF programs into linkable objects with a relocatable link of a raw binary input (cc -r -Wl,--format=binary). Because there is no real object among the inputs, lld on riscv64 writes an object with e_flags 0 (soft-float ABI) and a GNU property note with every CFI feature bit set. Linking it then fails with clang: ld.lld: error: libxdp.a(xdp-dispatcher.embed.o): file has conflicting properties: GNU_PROPERTY_RISCV_FEATURE_1_CFI_LP_UNLABELED and GNU_PROPERTY_RISCV_FEATURE_1_CFI_LP_FUNC_SIG ld.lld: error: libxdp.a(xdp-dispatcher.embed.o): cannot link object files with different floating-point ABI from Scrt1.o Build the embed objects from a small .incbin assembly stub instead, so the compiler driver emits them with the correct target ABI. AI-Generated: Uses Claude Code Signed-off-by: Khem Raj --- ...-BPF-objects-with-.incbin-instead-of.patch | 43 +++++++++++++++++++ .../xdp-tools/xdp-tools_1.6.3.bb | 1 + 2 files changed, 44 insertions(+) create mode 100644 meta-oe/recipes-support/xdp-tools/files/0005-lib-libxdp-Embed-BPF-objects-with-.incbin-instead-of.patch diff --git a/meta-oe/recipes-support/xdp-tools/files/0005-lib-libxdp-Embed-BPF-objects-with-.incbin-instead-of.patch b/meta-oe/recipes-support/xdp-tools/files/0005-lib-libxdp-Embed-BPF-objects-with-.incbin-instead-of.patch new file mode 100644 index 0000000000..1309a84aa1 --- /dev/null +++ b/meta-oe/recipes-support/xdp-tools/files/0005-lib-libxdp-Embed-BPF-objects-with-.incbin-instead-of.patch @@ -0,0 +1,43 @@ +From: Khem Raj +Date: Sun, 18 Oct 2026 18:00:00 -0700 +Subject: [PATCH] lib/libxdp: Embed BPF objects with .incbin instead of ld --format=binary + +The embedded BPF objects are made with a relocatable link of a raw binary +input (cc -r -Wl,--format=binary). When the only input is a raw binary, +the linker has no real object to take target attributes from. With lld on +riscv64 the result has e_flags 0 (soft-float ABI) and a +.note.gnu.property where every CFI feature bit is set. Linking it into +libxdp users then fails: + + ld.lld: error: libxdp.a(xdp-dispatcher.embed.o): file has conflicting + properties: GNU_PROPERTY_RISCV_FEATURE_1_CFI_LP_UNLABELED and + GNU_PROPERTY_RISCV_FEATURE_1_CFI_LP_FUNC_SIG + ld.lld: error: libxdp.a(xdp-dispatcher.embed.o): cannot link object + files with different floating-point ABI from Scrt1.o + +Instead, assemble a small stub that pulls in the BPF object with .incbin. +The compiler driver then emits a normal object for the target ABI. The +_binary__start/_end symbol names that libxdp.c uses stay the same. + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + lib/libxdp/Makefile | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/lib/libxdp/Makefile b/lib/libxdp/Makefile +--- a/lib/libxdp/Makefile ++++ b/lib/libxdp/Makefile +@@ -134,8 +134,10 @@ + $(QUIET_M4)$(M4) $(DEFINES) $< > $@ || ( ret=$$?; rm -f $@; exit $$ret ) + + $(EMBEDDED_XDP_OBJS): %.embed.o: %.o +- $(QUIET_CC)$(CC) -r -nostdlib -Wl,-z,noexecstack,--format=binary $(LDFLAGS) -o $@ $< +- $(Q)$(OBJCOPY) --rename-section .data=.rodata,alloc,load,readonly,data,contents $@ ++ $(QUIET_CC)SYM=_binary_$$(echo '$<' | sed 's/[^A-Za-z0-9_]/_/g'); \ ++ printf '\t.section .rodata,"a"\n\t.balign 8\n\t.globl %s_start\n%s_start:\n\t.incbin "%s"\n\t.globl %s_end\n%s_end:\n' \ ++ $$SYM $$SYM '$<' $$SYM $$SYM | \ ++ $(CC) -c -x assembler -Wa,--noexecstack -o $@ - + + $(XDP_OBJS): %.o: %.c $(BPF_HEADERS) $(LIBMK) + $(QUIET_CLANG)$(CLANG) -target $(BPF_TARGET) $(BPF_CFLAGS) -O2 -c -g -o $@ $< diff --git a/meta-oe/recipes-support/xdp-tools/xdp-tools_1.6.3.bb b/meta-oe/recipes-support/xdp-tools/xdp-tools_1.6.3.bb index bcaa8c91c4..577a7b39d5 100644 --- a/meta-oe/recipes-support/xdp-tools/xdp-tools_1.6.3.bb +++ b/meta-oe/recipes-support/xdp-tools/xdp-tools_1.6.3.bb @@ -18,6 +18,7 @@ SRC_URI = " \ file://0002-lib-libxdp-Makefile-use-cp-fRd-to-preserve-symlinks-.patch \ file://0003-lib-util-avoid-struct-ethhdr-redefinition-on-musl.patch \ file://0004-xdp-filter-xdp-dump-avoid-struct-ethhdr-redefinitio.patch \ + file://0005-lib-libxdp-Embed-BPF-objects-with-.incbin-instead-of.patch \ " SRCREV = "8fbad9f0af621a22aa87ff2520b3735915b1f0fd" From patchwork Tue Oct 20 00:30:21 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Khem Raj X-Patchwork-Id: 101334 Received: from mail-dy1-f173.google.com (mail-dy1-f173.google.com [74.125.82.173]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.8841.1792456231446229334 for ; Mon, 19 Oct 2026 17:30:31 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20251104 header.b=OsSSJZEF; spf=pass (domain: gmail.com, ip: 74.125.82.173, mailfrom: raj.khem@gmail.com) Received: by mail-dy1-f173.google.com with SMTP id 5a478bee46e88-35aa0cf7c40so5309822eec.1 for ; Mon, 19 Oct 2026 17:30:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1792456231; x=1793061031; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=gBvcrh7mKqrEcdgzXs6YU/peUPFsGMcqifqBn0USM90=; b=OsSSJZEFjeFseabeXTe6SGDaaSXGagnxN0q8JGYBnALxJWtv4LSD658/ryU5PqphSq nvEZy0BJpT2CNRwu/PWZmd/BGkZXdiK5v+5YfvFbBNIh1dfOUE/0+BCCpTp6seEcTJmt Oz63J8m3V8abfpd7Q5Rn8tGhWfJKgp5rOdK2LkQtciUqP8qMM53IEprsQUx2/AqdLuRU STOdid8J4Jum2dLIEstiyqSdxm6eF07pcaWqId2EchylFbwXX51mHNP9csS4WjHPB7Dd LnpIh8a65HHn82BYqsJ/tUxvgE7B7VB+cchnaxOtabiro103DIPh4aX+sDs3OYGofJOw i72g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1792456231; x=1793061031; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=gBvcrh7mKqrEcdgzXs6YU/peUPFsGMcqifqBn0USM90=; b=Pxy7eP7Se4RRXd1HTZlJ7IvNclqF0B3jKrYRvOF35e2idl+bziaxlgngCqpeTuvoq7 QA9K3d4WkmQg/0tmjSUl4iWZnGRhtRliyJ56qIbhvAjvLXWQUrQj3j3qgw9hBp8HTBu9 37pYJNOIfn/V/74BlLAzPy6lm45aO+/1S3KgeZBi+TwqVwmuQUweWMCaMxHKEm7dCErl Z+X4FRD3DEYebVdfB9EiL90IbDaYHUDq/l67PQAzEGVfsP8b1y/PF3h1wdbu7xgZYqdY GLJHZuT8na+hCPm2nwhu7tc4LD/v5nfSuU14U11RolXz+C9EGkzFr+PmzX5PXeCFzmIm qNrw== X-Gm-Message-State: AFq9FYJd96xNEUEOndIqFHPA8f1JmrEmet9vcFzRt4oh1d+VXBAIbBK0 QnwwWAm3vr8MQcIUYHrbpeXrBtJFad7uqCSQ2GOvw4+yPswkmHjeoZ03WTylF/cnI3o= X-Gm-Gg: AYBFou1zv5rIgSAqLDS6zkaDOIQvWEQVwqrPNShbWJJ65Ijbzfz/JrYx6ahu/2OkQp6 ktzOQ2YIb47HF9qgKktc76D6yvRwn0LGZe4emKyGeOe7pMGIxa1A5vhFIdYqQtUB7J9xufEIWnJ d24w+v9RFiRdj04czQ/R7rIEMmEcrgKRp5OyZpAySEfOAqN8AoEp0tavYDAnPBe/GyFx171oJj0 632iHmxsjtGlMNzHRA49NME73LCbAnDCFp4d4IWyoSe1hWEV74/QVSROjl6NQ3YRDPwZFKBP3Wm LYDcMBzW2WkkyrBX7j0Cx3c38p1XORHuH+98wAJCgJ5JoAHluO5nbBr6ptyxx6quD8zKS15+TWS eKXCVE0G9gUGP2uXVsynJbu4vwJmU9NtghGH8bkSpmv02nlKOImM/Nt7J7woLq2p953I+HNUfiD tqIkg1eSR8WTPTpssBgsmKGZvZZirrURDenffZDej2C+5VLsmq7tuRLHKm8o32JE8yRW+7O+s+W ZgLKk5ISAM+MCaoFFJ+/cYIvemdLfa6D9F6/BlpDoy1Scvge6cLiXyUhUI+Z11D41iSPEdfY7ZW X3IG9wg9Qfr6/3OEMlEnmibkvjGEw9RxKVwNj1twlckIMxUdcHcEebEGcv7Uwbb7MxhehlqK0B4 /TIe9SRzp2aN89S37GxGAIpIWXnBqoa2jftAB9d8P8GoNy4RQm8sct3pI9I6ENa3AP6Z4Hzi+k7 QgaxfBfIwwUJ5bDL1BfJ2Va5smOrQ/vTWyJjrLxwa5xq5TFYq82TufJ6mm7NQGfV4slblEWvNDo K+8fxZSgShjmRzVDxO83UtbTXGLRWk= X-Received: by 2002:a05:7301:470e:b0:358:8bd2:fda1 with SMTP id 5a478bee46e88-361a2649752mr12619839eec.30.1792456230685; Mon, 19 Oct 2026 17:30:30 -0700 (PDT) Return-Path: Received: from apollo.tail3ccdd3.ts.net ([147.160.63.35]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-360819be413sm35596579eec.13.2026.10.19.17.30.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 19 Oct 2026 17:30:29 -0700 (PDT) From: Khem Raj X-Google-Original-From: Khem Raj To: openembedded-devel@lists.openembedded.org Cc: Khem Raj Subject: [meta-oe][PATCH 4/5] dlm: Define __always_inline for musl Date: Mon, 19 Oct 2026 17:30:21 -0700 Message-ID: <20261020003022.1913623-4-khem.raj@oss.qualcomm.com> X-Mailer: git-send-email 2.56.0 In-Reply-To: <20261020003022.1913623-1-khem.raj@oss.qualcomm.com> References: <20261020003022.1913623-1-khem.raj@oss.qualcomm.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by lin-tor-korg-lkml-alma10-1 with HTTPS for ; Tue, 20 Oct 2026 00:30:40 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/131150 dlm_controld's rbtree headers were copied from the kernel and use __always_inline. glibc defines it in , but musl does not, so the build fails on musl: ./rbtree.h:153:8: error: unknown type name '__always_inline' Add a patch that provides a fallback definition in linux_helpers.h. AI-Generated: Uses Claude Code Signed-off-by: Khem Raj --- ...ine-__always_inline-when-libc-does-n.patch | 34 +++++++++++++++++++ .../recipes-extended/dlm/dlm_4.3.0.bb | 1 + 2 files changed, 35 insertions(+) create mode 100644 meta-networking/recipes-extended/dlm/dlm/0002-dlm_controld-Define-__always_inline-when-libc-does-n.patch diff --git a/meta-networking/recipes-extended/dlm/dlm/0002-dlm_controld-Define-__always_inline-when-libc-does-n.patch b/meta-networking/recipes-extended/dlm/dlm/0002-dlm_controld-Define-__always_inline-when-libc-does-n.patch new file mode 100644 index 0000000000..bddfbf9453 --- /dev/null +++ b/meta-networking/recipes-extended/dlm/dlm/0002-dlm_controld-Define-__always_inline-when-libc-does-n.patch @@ -0,0 +1,34 @@ +From: Khem Raj +Date: Sun, 18 Oct 2026 18:30:00 -0700 +Subject: [PATCH] dlm_controld: Define __always_inline when libc does not + +rbtree.h and rbtree_augmented.h were copied from the kernel and use +__always_inline. glibc defines it in , but musl does not, +so the build fails on musl: + + ./rbtree.h:153:8: error: unknown type name '__always_inline' + +Add a fallback definition to linux_helpers.h, which rbtree.h already +includes. + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + dlm_controld/linux_helpers.h | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/dlm_controld/linux_helpers.h b/dlm_controld/linux_helpers.h +--- a/dlm_controld/linux_helpers.h ++++ b/dlm_controld/linux_helpers.h +@@ -3,6 +3,11 @@ + #ifndef __DLM_LINUX_HELPERS__ + #define __DLM_LINUX_HELPERS__ + ++/* glibc provides this in , but musl does not */ ++#ifndef __always_inline ++#define __always_inline inline __attribute__((__always_inline__)) ++#endif ++ + /* + * static_assert - check integer constant expression at build time + * diff --git a/meta-networking/recipes-extended/dlm/dlm_4.3.0.bb b/meta-networking/recipes-extended/dlm/dlm_4.3.0.bb index 1c09a35d0a..fab31c1b99 100644 --- a/meta-networking/recipes-extended/dlm/dlm_4.3.0.bb +++ b/meta-networking/recipes-extended/dlm/dlm_4.3.0.bb @@ -8,6 +8,7 @@ REQUIRED_DISTRO_FEATURES = "systemd" SRC_URI = "https://pagure.io/dlm/archive/dlm-${PV}/dlm-dlm-${PV}.tar.gz \ file://0001-Include-sys-sysmacros.h-for-major-minor-macros-in-gl.patch \ file://0001-make-Replace-cp-a-with-mode-preserving-options.patch \ + file://0002-dlm_controld-Define-__always_inline-when-libc-does-n.patch \ " SRC_URI[sha256sum] = "8dc23b97390236032a2fe19068c7dad23f82fb624732c9bff6898b6996c9b700" From patchwork Tue Oct 20 00:30:22 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Khem Raj X-Patchwork-Id: 101333 Received: from mail-dy1-f170.google.com (mail-dy1-f170.google.com [74.125.82.170]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.8993.1792456233347149181 for ; Mon, 19 Oct 2026 17:30:33 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20251104 header.b=lAFncapI; spf=pass (domain: gmail.com, ip: 74.125.82.170, mailfrom: raj.khem@gmail.com) Received: by mail-dy1-f170.google.com with SMTP id 5a478bee46e88-3282db206d3so4573531eec.0 for ; Mon, 19 Oct 2026 17:30:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1792456233; x=1793061033; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=wquvnLFDrqKO/E3grZ4SFoQqgEEIH2SDwvkeLcGIcQY=; b=lAFncapIIuNLKfdsx18V41WluPfhUtZ1g/lNcmGDKdGeD9oNnUqT6TdzoXYHH9ID9W CpVSLCbNY0ilqKkKyuAPkk3A88GYo5C1tcGxI42KZaivsfWl/M/fbfBWeScHlUz3iZcz mmzlmDAYvw+vXS2C+ZzeE/oTqzXxw6v0G+qLHglR0o6eC0ijPLr3+aQvW8WqEIVuGfRG u9lt+Jy5suPBJURNMSS3Ox65DxgaQ7zMEGgvgzwNtgsFkxefb5Er+n2/ntcN5HAR3HFZ DSmK1YNlTFuXBhs5qV9RGriZg2kU96PdrCJyljcUmPj/FPU4Cd96Q/ccubYkbUoi/0Cc MP/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1792456233; x=1793061033; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=wquvnLFDrqKO/E3grZ4SFoQqgEEIH2SDwvkeLcGIcQY=; b=x2sizEd37gPc6o8B7RfACl23NwRj606xMW0gJp3BXIxNB9cnf9mE2V8tMQicCt/pvu MLpJ0NdvOsy9t9M9M8nJflvjQvSXqi2hw/l3dBmga5wNEOAKKJIkSaNFOfPtQPaLN3XI J0GYCAn9BEeEAmzLs46SJJIM0bCrhAbSBHXkDNu/Kne/RpQ2iqD1ej1LJL8X44D6O7Ir Biwq3QfAQCA+qDnkCSb9NFWhrW44FgJDvDCot1qGvwSGwIxx062LZOwFeSaQfOb9LU4x qELRiudE9zD+EjYW1iQn7Kvhkf6gxtHiozcQO0+qAVwauEIRJFfb6I/ZEoPqXVhT6HO6 375Q== X-Gm-Message-State: AFq9FYKGs2jUKU3/JPNKFL7yArIgbhWvC9o8VnvTXfKloTGRqgek9K8T 3fgwcu7dXGUIl89Gy8nf0N6lqK1LOtGxFuhLC/6GuZd5dBriqHJWpqCaUvglnKvezvU= X-Gm-Gg: AYBFou265zMVdnYMSq5Y9rKHK6WB+sYFvNNmjjPoVKNvC0vn4HV0IF/8XS4f2ZxY8b3 GO6Zi0XwiWxRyi9AVQG52BH/JDsZmE5ZE1N+j3W3otfSVF/OU1M0dIlVH3gMLrt0uNUYrHzIeaP uDYv9yJm4uAzESlIS4W4uo+pht115JMRgczMdd3o+vJKUfFzIPF1ZlIiTOYJhEYT4wUwzbr53Vp qT6GtTIFFJUES9s5ic9TXiDY99HztY8PFuN+4DXwEYHgLEq6X7OUpNYuIW6hlzvG6MU1xwF1q0m j+clVYXu6X7fWvGrOZ3tgdo7clW5sM+lKWMhXBBj+amY7vGCDrB8/C+QyswqY/mKbvHpzGgGxgP FKy9a/lljbCpMHZnqMSjBTVktGlos/TaldnHENWNHtVtcekvkJRm8Q9s5ADm7tPMav0RyI0iWNF xDcTzUdp9bumsc/BfjSQhHgy8T1K7IXREZNfkJ+M2iUT2gJ2qlFuZclrOqRp/PL9X01WZ0RTwB2 9ByJtmMEFDtvHj+Exuiwv6L0yU5+/BhIsn5+JnEKqPixu3zkh9j6FQBSPbC0KExdgParooJBXX6 b7c+6Pc1DVnH5SAYHJMQF6zM+8FJdrMJcMs5ijrU8cp/4Pj4oU+nlj06DaOCYsQJKibnjW5gbZf HhcgHMDtgunxCjk7UpQEyfNOgRHOBUQ31NshPQx67oidRYA839Z/AC+Cau8PhH7sGnnAFezJLxD yz2N9g3/lT9kAEgCTvHq5cj+ggJ7QyoS5/CvSJanA1+bXngg== X-Received: by 2002:a05:7301:6447:b0:358:eccb:af7c with SMTP id 5a478bee46e88-361a312cb5emr17687067eec.33.1792456232319; Mon, 19 Oct 2026 17:30:32 -0700 (PDT) Return-Path: Received: from apollo.tail3ccdd3.ts.net ([147.160.63.35]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-360819be413sm35596579eec.13.2026.10.19.17.30.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 19 Oct 2026 17:30:31 -0700 (PDT) From: Khem Raj X-Google-Original-From: Khem Raj To: openembedded-devel@lists.openembedded.org Cc: Khem Raj Subject: [meta-oe][PATCH 5/5] tiobench: Allow large file support with musl Date: Mon, 19 Oct 2026 17:30:22 -0700 Message-ID: <20261020003022.1913623-5-khem.raj@oss.qualcomm.com> X-Mailer: git-send-email 2.56.0 In-Reply-To: <20261020003022.1913623-1-khem.raj@oss.qualcomm.com> References: <20261020003022.1913623-1-khem.raj@oss.qualcomm.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by lin-tor-korg-lkml-alma10-1 with HTTPS for ; Tue, 20 Oct 2026 00:30:40 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/131151 USE_LARGEFILES requires _LFS64_LARGEFILE, which musl does not define because its off_t is always 64-bit, so the build fails on musl: ./constants.h:36:2: error: no large file support available, remove -DLARGEFILES from makefile Add a patch that only requires a 64-bit off_t in that case. It also replaces the %L length modifier on integer conversions with the standard %ll, which musl's printf requires. AI-Generated: Uses Claude Code Signed-off-by: Khem Raj --- ...1-Allow-large-file-support-with-musl.patch | 90 +++++++++++++++++++ .../tiobench/tiobench_0.4.2+git.bb | 4 +- 2 files changed, 93 insertions(+), 1 deletion(-) create mode 100644 meta-oe/recipes-benchmark/tiobench/tiobench/0001-Allow-large-file-support-with-musl.patch diff --git a/meta-oe/recipes-benchmark/tiobench/tiobench/0001-Allow-large-file-support-with-musl.patch b/meta-oe/recipes-benchmark/tiobench/tiobench/0001-Allow-large-file-support-with-musl.patch new file mode 100644 index 0000000000..632553c066 --- /dev/null +++ b/meta-oe/recipes-benchmark/tiobench/tiobench/0001-Allow-large-file-support-with-musl.patch @@ -0,0 +1,90 @@ +From: Khem Raj +Date: Sun, 18 Oct 2026 19:00:00 -0700 +Subject: [PATCH] Allow large file support with musl + +USE_LARGEFILES requires the libc to define _LFS64_LARGEFILE and errors +out otherwise. musl does not define it: its off_t is always 64-bit and +lseek64(), mmap64() and friends are aliases of the plain interfaces. +So the build fails on musl: + + ./constants.h:36:2: error: no large file support available, remove -DLARGEFILES from makefile + +When _LFS64_LARGEFILE is missing, only require a 64-bit off_t. + +Also replace the %L length modifier on integer conversions with the +standard %ll. %L is only defined for long double, and musl's printf +rejects it with integer conversions. + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + constants.h | 9 +++++++-- + test_largefiles.c | 6 +++--- + tiotest.c | 2 +- + 3 files changed, 11 insertions(+), 6 deletions(-) + +--- a/constants.h ++++ b/constants.h +@@ -33,7 +33,12 @@ + + #ifdef USE_LARGEFILES + #ifndef _LFS64_LARGEFILE +-#error no large file support available, remove -DLARGEFILES from makefile ++/* ++ * musl does not define _LFS64_LARGEFILE: its off_t is always 64-bit and ++ * the *64 interfaces are plain aliases, so only require a 64-bit off_t. ++ */ ++_Static_assert(sizeof(off_t) >= 8, ++ "no large file support available, remove -DLARGEFILES from makefile"); + #endif + #endif + +@@ -83,7 +88,7 @@ + #define TIO_ftruncate ftruncate64 + #define TIO_pread pread64 + #define TIO_pwrite pwrite64 +-#define OFFSET_FORMAT "0x%Lx" ++#define OFFSET_FORMAT "0x%llx" + #else + typedef off_t TIO_off_t; + #define TIO_lseek lseek +--- a/tiotest.c ++++ b/tiotest.c +@@ -1411,7 +1411,7 @@ + + if(crc != d->bufferCrc) + { +- fprintf(stderr, "Thread(%lu) consistency check failed at offset %Lu\n", d->myNumber, (long long unsigned int)offset); ++ fprintf(stderr, "Thread(%lu) consistency check failed at offset %llu\n", d->myNumber, (long long unsigned int)offset); + return -1; + } + } +--- a/test_largefiles.c ++++ b/test_largefiles.c +@@ -57,7 +57,7 @@ + exit(1); + } + +- printf( xstr(TIO_ftruncate) "()'ing large test file to size %Lx\n", LARGEFILE_SIZE); ++ printf( xstr(TIO_ftruncate) "()'ing large test file to size %llx\n", LARGEFILE_SIZE); + rc = TIO_ftruncate(fd, LARGEFILE_SIZE); /* pre-allocate space */ + if(rc != 0) + { +@@ -67,7 +67,7 @@ + + for(offset = (TIO_off_t)0; offset + CHUNK_SIZE <= LARGEFILE_SIZE; offset += CHUNK_SIZE) { + +- printf(xstr(TIO_lseek) "()ing to offset %Lx\n", offset); ++ printf(xstr(TIO_lseek) "()ing to offset %llx\n", offset); + offset_ret = TIO_lseek(fd, offset, SEEK_SET); + if (offset_ret != offset) { + perror("Error " xstr(TIO_lseek) "()ing"); +@@ -105,7 +105,7 @@ + } + data = 0; + +- printf(xstr(TIO_mmap) "()ing chunk of size %Lx at offset %Lx\n", CHUNK_SIZE, offset); ++ printf(xstr(TIO_mmap) "()ing chunk of size %llx at offset %llx\n", CHUNK_SIZE, offset); + file_loc = TIO_mmap((caddr_t )0, CHUNK_SIZE, + PROT_READ | PROT_WRITE, MAP_SHARED, fd, (TIO_off_t)offset); + if (file_loc == MAP_FAILED) { diff --git a/meta-oe/recipes-benchmark/tiobench/tiobench_0.4.2+git.bb b/meta-oe/recipes-benchmark/tiobench/tiobench_0.4.2+git.bb index b42982686c..c773a8cc53 100644 --- a/meta-oe/recipes-benchmark/tiobench/tiobench_0.4.2+git.bb +++ b/meta-oe/recipes-benchmark/tiobench/tiobench_0.4.2+git.bb @@ -3,7 +3,9 @@ HOMEPAGE = "https://github.com/mkuoppal/tiobench" LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b" -SRC_URI = "git://github.com/mkuoppal/tiobench.git;protocol=https;branch=master" +SRC_URI = "git://github.com/mkuoppal/tiobench.git;protocol=https;branch=master \ + file://0001-Allow-large-file-support-with-musl.patch \ + " SRCREV = "11c965c8c0f37927423fb4ea590df6c093cf2f1e"