From: Rosen Penev <rosenp@gmail.com>
Date: Thu, 4 Mar 2021 01:59:58 +0000 (-0800)
Subject: tools/cpio: fix compilation with clang
X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=9211af712f29556be2d1a757a0d17c55580e4eab;p=openwrt%2Fstaging%2Fxback.git

tools/cpio: fix compilation with clang

A define dealing with builtin type is wrong. A gnulib update fixes
this, but that requires a new cpio version.

Refresh other patch.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
---

diff --git a/tools/cpio/patches/001-duplicate-program-name.patch b/tools/cpio/patches/001-duplicate-program-name.patch
index 57ff4c3cad..a7c3fbc8ae 100644
--- a/tools/cpio/patches/001-duplicate-program-name.patch
+++ b/tools/cpio/patches/001-duplicate-program-name.patch
@@ -4,8 +4,6 @@ https://git.savannah.gnu.org/cgit/cpio.git/commit/?id=641d3f489cf6238bb916368d4b
 
 * src/global.c: Remove superfluous declaration of program_name
 
-diff --git a/src/global.c b/src/global.c
-index fb3abe9..acf92bc 100644
 --- a/src/global.c
 +++ b/src/global.c
 @@ -184,9 +184,6 @@ unsigned int warn_option = 0;
diff --git a/tools/cpio/patches/010-clang.patch b/tools/cpio/patches/010-clang.patch
new file mode 100644
index 0000000000..89c7a8149e
--- /dev/null
+++ b/tools/cpio/patches/010-clang.patch
@@ -0,0 +1,11 @@
+--- a/gnu/xalloc-oversized.h
++++ b/gnu/xalloc-oversized.h
+@@ -52,7 +52,7 @@ typedef size_t __xalloc_count_type;
+ #elif ((5 <= __GNUC__ \
+         || (__has_builtin (__builtin_mul_overflow) \
+             && __has_builtin (__builtin_constant_p))) \
+-       && !__STRICT_ANSI__)
++       && !__STRICT_ANSI__) && !defined(__clang__)
+ # define xalloc_oversized(n, s) \
+    (__builtin_constant_p (n) && __builtin_constant_p (s) \
+     ? __xalloc_oversized (n, s) \