Skip to contentSkip to conversation

mtd: fix build against recent uClibc 0.9.33

PATCH Superseded Baruch Siach 2 participants 2 messages Apr 15, 2014 – Apr 16, 2014

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 mtd: fix build against recent uClibc 0.9.33

Commit fae7cc33a1 added a local rpmatch() implementation. However, the rpmatch() implementation was backported to the 0.9.33 branch, thus breaking the Buildroot default toolchain. Rename the local rpmatch() to avoid collision.

Fixes:
http://autobuild.buildroot.net/results/51f/51fe39bd942e4d8d0045ac810708719b9459e21f/

---
 .../mtd/mtd-01-Fix-rpmatch-call-under-uClibc.patch | 61 ++++++++++++++++++++++
 ...common.h-fix-build-against-current-uClibc.patch | 45 ----------------
 2 files changed, 61 insertions(+), 45 deletions(-)
 create mode 100644 package/mtd/mtd-01-Fix-rpmatch-call-under-uClibc.patch
 delete mode 100644 package/mtd/mtd-01-include-common.h-fix-build-against-current-uClibc.patch
package/mtd/mtd-01-Fix-rpmatch-call-under-uClibc.patch new file +61 -0
new file mode 100644
index 000000000000..910a501a084c
@@ -0,0 +1,61 @@
+From aebb2831c13ffc6f1df79e638b99e78c52aed4ce Mon Sep 17 00:00:00 2001
+Message-Id: <aebb2831c13ffc6f1df79e638b99e78c52aed4ce.1397593673.git.baruch@tkos.co.il>
+From: Baruch Siach <[email protected]>
+Date: Sun, 13 Apr 2014 15:26:46 +0300
+Subject: [PATCH] Fix rpmatch() call under uClibc
+
+Combine the following two patches. The first is upstream (commit 50c9e11f7e),
+the second has been posted upstream at
+http://patchwork.ozlabs.org/patch/339365/.
+
+include/common.h: fix build against current uClibc
+
+Commit dbe0fd17f2 (mtd-utils: new prompt() helper for talking to the user)
+introduced a rpmatch() call. However, uClibc versions older than (not yet
+released) 0.9.34 don't have rpmatch() implementation. Add one.
+
+Signed-off-by: Baruch Siach <[email protected]>
+Signed-off-by: Artem Bityutskiy <[email protected]>
+Acked-by: Mike Frysinger <[email protected]>
+
+include/common.h: fix build against recent 0.9.33 uClibc
+
+An implementation of rpmatch() was backported to the 0.9.33 branch of uClibc.
+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 <[email protected]>
+Signed-off-by: Baruch Siach <[email protected]>
+---
+ include/common.h | 14 ++++++++++++++
+ 1 file changed, 14 insertions(+)
+
+diff --git a/include/common.h b/include/common.h
+index 4ffccea17213..838dc757bdf1 100644
+--- a/include/common.h
++++ b/include/common.h
+@@ -102,6 +102,20 @@ 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_MINOR__ < 9 || \
++		(__UCLIBC_MINOR__ == 9 && __UCLIBC_SUBLEVEL__ < 34))
++#define rpmatch __rpmatch
++static inline int __rpmatch(const char *resp)
++{
++    return (resp[0] == 'y' || resp[0] == 'Y') ? 1 :
++	(resp[0] == 'n' || resp[0] == 'N') ? 0 : -1;
++}
++#endif
++#endif
++
+ /**
+  * prompt the user for confirmation
+  */
+-- 
+1.9.1
+
package/mtd/mtd-01-include-common.h-fix-build-against-current-uClibc.patch deleted +0 -45

45 lines not on this page · raw message

Signature · 1 line
1.9.1
#1 lore raw

PATCH 1/1 mtd: fix build against recent uClibc 0.9.33

Dear Baruch Siach,

Quoted 9 lines · Baruch Siach

Commit fae7cc33a1 added a local rpmatch() implementation. However, the rpmatch() implementation was backported to the 0.9.33 branch, thus breaking the Buildroot default toolchain. Rename the local rpmatch() to avoid collision.

Fixes:
http://autobuild.buildroot.net/results/51f/51fe39bd942e4d8d0045ac810708719b9459e21f/

Thanks, applied.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com