diff mbox series

[3/7] pseudo: fix for build with glibc-2.43

Message ID 20260308140337.2503858-3-Hemanth.KumarMD@windriver.com
State New
Headers show
Series [1/7] glibc: Upgrade to 2.43 release | expand

Commit Message

Hemanth Kumar M D March 8, 2026, 2:03 p.m. UTC
From: Martin Jansa <martin.jansa@gmail.com>

Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
---
 ...01-openat2-use-const-struct-open_how.patch | 54 +++++++++++++++++++
 meta/recipes-devtools/pseudo/pseudo_git.bb    |  1 +
 2 files changed, 55 insertions(+)
 create mode 100644 meta/recipes-devtools/pseudo/files/0001-openat2-use-const-struct-open_how.patch
diff mbox series

Patch

diff --git a/meta/recipes-devtools/pseudo/files/0001-openat2-use-const-struct-open_how.patch b/meta/recipes-devtools/pseudo/files/0001-openat2-use-const-struct-open_how.patch
new file mode 100644
index 0000000000..eda2593bdf
--- /dev/null
+++ b/meta/recipes-devtools/pseudo/files/0001-openat2-use-const-struct-open_how.patch
@@ -0,0 +1,54 @@ 
+From d17159194e94b5150600c333a5e2ad46fda6291e Mon Sep 17 00:00:00 2001
+From: Martin Jansa <martin.jansa@gmail.com>
+Date: Thu, 5 Mar 2026 17:53:34 +0100
+Subject: [PATCH] openat2: use const struct open_how
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+To match
+https://sourceware.org/cgit/glibc/commit/?id=0f0a5cd338998f4b603f52f3ce2163df0db7b814
+
+Otherwise it fails to build with glibc-2.43:
+
+In file included from pseudo_wrappers.c:300:
+pseudo_wrapfuncs.c: At top level:
+pseudo_wrapfuncs.c:11537:1: error: conflicting types for ‘openat2’; have ‘int(int,  const char *, struct open_how *, size_t)’ {aka ‘int(int,  const char *, struct open_how *, long unsigned int)’}
+11537 | openat2(int dirfd, const char *path, struct open_how *how, size_t size) {
+      | ^~~~~~~
+In file included from /usr/include/bits/fcntl-linux.h:492,
+                 from /usr/include/bits/fcntl.h:61,
+                 from /usr/include/fcntl.h:35,
+                 from pseudo_wrappers.c:23:
+/usr/include/bits/fcntl-linux-fortify.h:36:1: note: previous definition of ‘openat2’ with type ‘int(int,  const char *, const struct open_how *, long unsigned int)’
+   36 | openat2 (int __dfd, const char *__filename, const struct open_how *__how,
+      | ^~~~~~~
+make: *** [Makefile:162: pseudo_wrappers.o] Error 1
+
+Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
+Upstream-Status: Pending
+---
+ ports/linux/openat2/guts/openat2.c | 2 +-
+ ports/linux/openat2/wrapfuncs.in   | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/ports/linux/openat2/guts/openat2.c b/ports/linux/openat2/guts/openat2.c
+index da01b31..366fb95 100644
+--- a/ports/linux/openat2/guts/openat2.c
++++ b/ports/linux/openat2/guts/openat2.c
+@@ -4,7 +4,7 @@
+  *
+  * SPDX-License-Identifier: LGPL-2.1-only
+  *
+- * int openat2(int dirfd, const char *path, struct open_how *how, size_t size)
++ * int openat2(int dirfd, const char *path, const struct open_how *how, size_t size)
+  *	int rc = -1;
+  */
+ 
+diff --git a/ports/linux/openat2/wrapfuncs.in b/ports/linux/openat2/wrapfuncs.in
+index 96ae8a7..2f1e716 100644
+--- a/ports/linux/openat2/wrapfuncs.in
++++ b/ports/linux/openat2/wrapfuncs.in
+@@ -1 +1 @@
+-int openat2(int dirfd, const char *path, struct open_how *how, size_t size);
++int openat2(int dirfd, const char *path, const struct open_how *how, size_t size);
diff --git a/meta/recipes-devtools/pseudo/pseudo_git.bb b/meta/recipes-devtools/pseudo/pseudo_git.bb
index a26a205a16..b34525055d 100644
--- a/meta/recipes-devtools/pseudo/pseudo_git.bb
+++ b/meta/recipes-devtools/pseudo/pseudo_git.bb
@@ -1,6 +1,7 @@ 
 require pseudo.inc
 
 SRC_URI = "git://git.yoctoproject.org/pseudo;branch=master;protocol=https \
+           file://0001-openat2-use-const-struct-open_how.patch \
            file://fallback-passwd \
            file://fallback-group \
            "