|
@@ -1,12 +1,16 @@
|
|
|
-From aebb2831c13ffc6f1df79e638b99e78c52aed4ce Mon Sep 17 00:00:00 2001
|
|
|
-Message-Id: <aebb2831c13ffc6f1df79e638b99e78c52aed4ce.1397593673.git.baruch@tkos.co.il>
|
|
|
+From b56296212c27071f06d98cdad6b32b7db583adb0 Mon Sep 17 00:00:00 2001
|
|
|
From: Baruch Siach <baruch@tkos.co.il>
|
|
|
Date: Sun, 13 Apr 2014 15:26:46 +0300
|
|
|
-Subject: [PATCH] Fix rpmatch() call under uClibc
|
|
|
+Subject: [PATCH 1/1] Fix rpmatch() call under uClibc and musl
|
|
|
+MIME-Version: 1.0
|
|
|
+Content-Type: text/plain; charset=UTF-8
|
|
|
+Content-Transfer-Encoding: 8bit
|
|
|
|
|
|
-Combine the following two patches. The first is upstream (commit 50c9e11f7e),
|
|
|
-the second has been posted upstream at
|
|
|
-http://patchwork.ozlabs.org/patch/339365/.
|
|
|
+The current uClibc 0.9.33 and the musl C library do not implement rpmatch().
|
|
|
+
|
|
|
+Combine two upstream uClibc patches (commit 50c9e11f7e and
|
|
|
+5923077649) and a musl patch sent to the mailing list
|
|
|
+(http://patchwork.ozlabs.org/patch/464074/).
|
|
|
|
|
|
include/common.h: fix build against current uClibc
|
|
|
|
|
@@ -25,25 +29,39 @@ So the uClibc version check introduced in commit 50c9e11f7e (include/common.h:
|
|
|
fix build against current uClibc) is not enough. Rename the local rpmatch()
|
|
|
implementation to avoid collision.
|
|
|
|
|
|
-Cc: Mike Frysinger <vapier@gentoo.org>
|
|
|
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
|
|
|
+Acked-by: Mike Frysinger <vapier@gentoo.org>
|
|
|
+Signed-off-by: Brian Norris <computersforpeace@gmail.com>
|
|
|
+
|
|
|
+include/common.h: fix build against musl
|
|
|
+
|
|
|
+Like uClibc version older than (not yet released) 0.9.34 musl does not have
|
|
|
+a rpmatch() implementation.
|
|
|
+
|
|
|
+uClibc defines both __UCLIBC__ and __GLIBC__. So first check for uCibc and its
|
|
|
+version and then for a non glibc implementation (like musl). Note, musl does
|
|
|
+not define __MUSL__.
|
|
|
+
|
|
|
+Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
|
|
|
---
|
|
|
- include/common.h | 14 ++++++++++++++
|
|
|
- 1 file changed, 14 insertions(+)
|
|
|
+ include/common.h | 15 +++++++++++++++
|
|
|
+ 1 file changed, 15 insertions(+)
|
|
|
|
|
|
diff --git a/include/common.h b/include/common.h
|
|
|
-index 4ffccea17213..838dc757bdf1 100644
|
|
|
+index 4ffccea..944c712 100644
|
|
|
--- a/include/common.h
|
|
|
+++ b/include/common.h
|
|
|
-@@ -102,6 +102,20 @@ extern "C" {
|
|
|
+@@ -102,6 +102,21 @@ extern "C" {
|
|
|
fprintf(stderr, "%s: warning!: " fmt "\n", PROGRAM_NAME, ##__VA_ARGS__); \
|
|
|
} while(0)
|
|
|
|
|
|
-+#if defined(__UCLIBC__)
|
|
|
-+/* uClibc versions before 0.9.34 don't have rpmatch() */
|
|
|
-+#if __UCLIBC_MAJOR__ == 0 && \
|
|
|
++/* uClibc versions before 0.9.34 and musl don't have rpmatch() */
|
|
|
++#if defined(__UCLIBC__) && \
|
|
|
++ (__UCLIBC_MAJOR__ == 0 && \
|
|
|
+ (__UCLIBC_MINOR__ < 9 || \
|
|
|
-+ (__UCLIBC_MINOR__ == 9 && __UCLIBC_SUBLEVEL__ < 34))
|
|
|
++ (__UCLIBC_MINOR__ == 9 && __UCLIBC_SUBLEVEL__ < 34))) || \
|
|
|
++ !defined(__GLIBC__)
|
|
|
++#undef rpmatch
|
|
|
+#define rpmatch __rpmatch
|
|
|
+static inline int __rpmatch(const char *resp)
|
|
|
+{
|
|
@@ -51,11 +69,10 @@ index 4ffccea17213..838dc757bdf1 100644
|
|
|
+ (resp[0] == 'n' || resp[0] == 'N') ? 0 : -1;
|
|
|
+}
|
|
|
+#endif
|
|
|
-+#endif
|
|
|
+
|
|
|
/**
|
|
|
* prompt the user for confirmation
|
|
|
*/
|
|
|
--
|
|
|
-1.9.1
|
|
|
+2.3.6
|
|
|
|