summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Jansa <Martin.Jansa@gmail.com>2019-05-14 18:49:22 +0000
committerMartin Jansa <Martin.Jansa@gmail.com>2019-05-20 15:56:01 +0000
commitd0900bd10f2023ec52dfe48895892b43a3a6a968 (patch)
treeb8b82d0b520e0b05ea4b787659d3e43c7c632b88
parentd4a349c963910a47b274c9e92ad079439ed3ce4f (diff)
downloadopenembedded-core-contrib-d0900bd10f2023ec52dfe48895892b43a3a6a968.tar.gz
openembedded-core-contrib-d0900bd10f2023ec52dfe48895892b43a3a6a968.tar.bz2
openembedded-core-contrib-d0900bd10f2023ec52dfe48895892b43a3a6a968.zip
pseudo: return EINVAL instead ENOSYS for renameat2
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-rw-r--r--meta/recipes-devtools/pseudo/files/0001-renameat2-return-EINVAL-instead-of-ENOSYS.patch26
-rw-r--r--meta/recipes-devtools/pseudo/pseudo_git.bb1
2 files changed, 27 insertions, 0 deletions
diff --git a/meta/recipes-devtools/pseudo/files/0001-renameat2-return-EINVAL-instead-of-ENOSYS.patch b/meta/recipes-devtools/pseudo/files/0001-renameat2-return-EINVAL-instead-of-ENOSYS.patch
new file mode 100644
index 0000000000..7e0742ca3d
--- /dev/null
+++ b/meta/recipes-devtools/pseudo/files/0001-renameat2-return-EINVAL-instead-of-ENOSYS.patch
@@ -0,0 +1,26 @@
+From f76968e3772464ed2ce67e5e7622f9c1fae7a77c Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Tue, 14 May 2019 18:22:29 +0000
+Subject: [PATCH] renameat2: return EINVAL instead of ENOSYS
+
+* e.g. qtbase is only checking for EINVAL from glibc, see:
+ https://code.qt.io/cgit/qt/qtbase.git/commit/src/corelib/io/qfilesystemengine_unix.cpp?id=b7887f9b4faad2227691a2af589e9d7680d6ae08
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ ports/linux/guts/renameat2.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/ports/linux/guts/renameat2.c b/ports/linux/guts/renameat2.c
+index 135933b..1942e23 100644
+--- a/ports/linux/guts/renameat2.c
++++ b/ports/linux/guts/renameat2.c
+@@ -17,7 +17,7 @@
+ /* for now, let's try just failing out hard, and hope things retry with a
+ * different syscall.
+ */
+- errno = ENOSYS;
++ errno = EINVAL;
+ rc = -1;
+
+ /* return rc;
diff --git a/meta/recipes-devtools/pseudo/pseudo_git.bb b/meta/recipes-devtools/pseudo/pseudo_git.bb
index 51db84c4d4..7056771186 100644
--- a/meta/recipes-devtools/pseudo/pseudo_git.bb
+++ b/meta/recipes-devtools/pseudo/pseudo_git.bb
@@ -6,6 +6,7 @@ SRC_URI = "git://git.yoctoproject.org/pseudo \
file://fallback-group \
file://moreretries.patch \
file://toomanyfiles.patch \
+ file://0001-renameat2-return-EINVAL-instead-of-ENOSYS.patch \
"
SRCREV = "3fa7c853e0bcd6fe23f7524c2a3c9e3af90901c3"