This is similar to this patch for GNU glob:
ff6ce3999db93a52d1cd22510f8508b660ddf54e.
The problem is that libiberty/obstack.c file checks for
_GNU_OBSTACK_INTERFACE_VERSION == _OBSTACK_INTERFACE_VERSION and elides
libiberty obstack implementation if there is already a compatible
implementation in libc. Therefore define should be set only when obstack is
actually selected, otherwise it is not possible to build binutils and gdb
with uClibc.
Signed-off-by: Anton Kolesov <Anton.Kolesov(a)synopsys.com>
Cc: Vineet Gupta <Vineet.Gupta1(a)synopsys.com>
Cc: Alexey Brodkin <abrodkin(a)synopsys.com>
---
include/gnu-versions.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/include/gnu-versions.h b/include/gnu-versions.h
index 9f53778..6678c9b 100644
--- a/include/gnu-versions.h
+++ b/include/gnu-versions.h
@@ -43,7 +43,9 @@
remember, if any of these versions change, the libc.so major version
number must change too (so avoid it)! */
+#ifdef __UCLIBC_HAS_OBSTACK__
#define _GNU_OBSTACK_INTERFACE_VERSION 1 /* vs malloc/obstack.c */
+#endif
#define _GNU_REGEX_INTERFACE_VERSION 1 /* vs posix/regex.c */
#ifdef __UCLIBC_HAS_GNU_GLOB__
#define _GNU_GLOB_INTERFACE_VERSION 1 /* vs posix/glob.c */
--
2.4.2