summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ChangeLog7
-rw-r--r--src/gmalloc.c10
-rw-r--r--src/s/gnu-linux.h8
3 files changed, 18 insertions, 7 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index eb667c7a0c..c4adaab887 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,10 @@
+2008-10-02 Dan Nicolaescu <dann@ics.uci.edu>
+
+ * gmalloc.c (__sbrk): Also define for uClibc.
+
+ * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
+ for uClibc.
+
2008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
* nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
diff --git a/src/gmalloc.c b/src/gmalloc.c
index 1cf9a8ee9b..f1be37ba34 100644
--- a/src/gmalloc.c
+++ b/src/gmalloc.c
@@ -1706,17 +1706,17 @@ MA 02110-1301, USA. */
#include <malloc.h>
#endif
-#ifndef __GNU_LIBRARY__
+/* uClibc defines __GNU_LIBRARY__, but it is not completely
+ compatible. */
+#if !defined(__GNU_LIBRARY__) || defined(__UCLIBC__)
#define __sbrk sbrk
-#endif
-
-#ifdef __GNU_LIBRARY__
+#else /* __GNU_LIBRARY__ && ! defined (__UCLIBC__) */
/* It is best not to declare this and cast its result on foreign operating
systems with potentially hostile include files. */
#include <stddef.h>
extern __ptr_t __sbrk PP ((ptrdiff_t increment));
-#endif
+#endif /* __GNU_LIBRARY__ && ! defined (__UCLIBC__) */
#ifndef NULL
#define NULL 0
diff --git a/src/s/gnu-linux.h b/src/s/gnu-linux.h
index bd0acd3630..2e28b81f7d 100644
--- a/src/s/gnu-linux.h
+++ b/src/s/gnu-linux.h
@@ -156,11 +156,15 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* new C libio names */
#define GNU_LIBRARY_PENDING_OUTPUT_COUNT(FILE) \
((FILE)->_IO_write_ptr - (FILE)->_IO_write_base)
-#else /* !_IO_STDIO_H */
+#elif defined (__UCLIBC__)
+/* using the uClibc library */
+#define GNU_LIBRARY_PENDING_OUTPUT_COUNT(FILE) \
+ ((FILE)->__bufpos - (FILE)->__bufstart)
+#else /* !_IO_STDIO_H && ! __UCLIBC__ */
/* old C++ iostream names */
#define GNU_LIBRARY_PENDING_OUTPUT_COUNT(FILE) \
((FILE)->_pptr - (FILE)->_pbase)
-#endif /* !_IO_STDIO_H */
+#endif /* !_IO_STDIO_H && ! __UCLIBC__ */
#endif /* emacs */
/* Ask GCC where to find libgcc.a. */