summaryrefslogtreecommitdiffstats
path: root/meta/recipes-extended/cpio
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2023-01-15 10:51:53 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2023-01-18 16:42:24 +0000
commit49d328f2c696360759f00507b8fd5089b2f03e7c (patch)
treec34a6aacb035c31849c2112e3f3a1f4ed47ef8b5 /meta/recipes-extended/cpio
parent582a09b54d6b78706f8834a4f616d4ea97feceb3 (diff)
downloadopenembedded-core-49d328f2c696360759f00507b8fd5089b2f03e7c.tar.gz
cpio: Fix gnulib alignof implementation on clang
Backport needed patches Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-extended/cpio')
-rw-r--r--meta/recipes-extended/cpio/cpio-2.13/0001-Use-__alignof__-with-clang.patch42
-rw-r--r--meta/recipes-extended/cpio/cpio_2.13.bb1
2 files changed, 43 insertions, 0 deletions
diff --git a/meta/recipes-extended/cpio/cpio-2.13/0001-Use-__alignof__-with-clang.patch b/meta/recipes-extended/cpio/cpio-2.13/0001-Use-__alignof__-with-clang.patch
new file mode 100644
index 0000000000..d637e70395
--- /dev/null
+++ b/meta/recipes-extended/cpio/cpio-2.13/0001-Use-__alignof__-with-clang.patch
@@ -0,0 +1,42 @@
+From 6e169bb5fadb73b4dd300b28e9cae1e1772855e8 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 15 Jan 2023 02:05:23 -0800
+Subject: [PATCH] Use __alignof__ with clang.
+
+For clang versions < 8, use the same
+workaround as for GCC versions < 4.9.
+
+Backport couple of gnulib patches squashed
+
+[1] https://git.savannah.gnu.org/cgit/gnulib.git/commit/lib/stdalign.in.h?id=57caf9541d98314102a55dd1cd0b8dc2be747471
+[2] https://git.savannah.gnu.org/cgit/gnulib.git/commit/lib/stdalign.in.h?id=2af490a4c4ce85567296e27be6a9528964ca851e
+
+Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/gnulib.git/commit/lib/stdalign.in.h?id=57caf9541d98314102a55dd1cd0b8dc2be747471]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gnu/stdalign.in.h | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/gnu/stdalign.in.h b/gnu/stdalign.in.h
+index 5f56eee..e6e6a65 100644
+--- a/gnu/stdalign.in.h
++++ b/gnu/stdalign.in.h
+@@ -53,9 +53,12 @@
+ #undef _Alignof
+
+ /* GCC releases before GCC 4.9 had a bug in _Alignof. See GCC bug 52023
+- <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023>. */
++ <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023>.
++ clang versions < 8.0.0 have the same bug. */
+ #if (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112 \
+- || (defined __GNUC__ && __GNUC__ < 4 + (__GNUC_MINOR__ < 9)))
++ || (defined __GNUC__ && __GNUC__ < 4 + (__GNUC_MINOR__ < 9) \
++ && !defined __clang__) \
++ || (defined __clang__ && __clang_major__ < 8))
+ # ifdef __cplusplus
+ # if 201103 <= __cplusplus
+ # define _Alignof(type) alignof (type)
+--
+2.39.0
+
diff --git a/meta/recipes-extended/cpio/cpio_2.13.bb b/meta/recipes-extended/cpio/cpio_2.13.bb
index 50d3e14c14..eb3dc138a9 100644
--- a/meta/recipes-extended/cpio/cpio_2.13.bb
+++ b/meta/recipes-extended/cpio/cpio_2.13.bb
@@ -11,6 +11,7 @@ SRC_URI = "${GNU_MIRROR}/cpio/cpio-${PV}.tar.gz \
file://0002-src-global.c-Remove-superfluous-declaration-of-progr.patch \
file://0001-obstack-Fix-a-clang-warning.patch \
file://CVE-2021-38185.patch \
+ file://0001-Use-__alignof__-with-clang.patch \
"
SRC_URI[md5sum] = "389c5452d667c23b5eceb206f5000810"