Commit 31f5268b authored by Peter Korsgaard's avatar Peter Korsgaard
Browse files

toolchain/uClibc: remove 0.9.29, mark 0.9.30 as deprecated



0.9.29 doesn't seem to build anymore with the toolchain versions in BR
and is very old, so remove it.

Signed-off-by: default avatarPeter Korsgaard <jacmet@sunsite.dk>
parent f1e4aac4
Loading
Loading
Loading
Loading
+1 −7
Original line number Diff line number Diff line
@@ -9,12 +9,8 @@ choice
	help
	  Select the version of uClibc you wish to use.

	config BR2_UCLIBC_VERSION_0_9_29
		depends on !BR2_avr32
		depends on BR2_DEPRECATED
		bool "uClibc 0.9.29"

	config BR2_UCLIBC_VERSION_0_9_30
		depends on BR2_DEPRECATED
		bool "uClibc 0.9.30.x"

	config BR2_UCLIBC_VERSION_0_9_31
@@ -37,7 +33,6 @@ config BR2_USE_UCLIBC_SNAPSHOT

config BR2_UCLIBC_VERSION_STRING
	string
	default 0.9.29		if BR2_UCLIBC_VERSION_0_9_29
	default 0.9.30.3	if BR2_UCLIBC_VERSION_0_9_30
	default 0.9.31.1	if BR2_UCLIBC_VERSION_0_9_31
	default 0.9.32		if BR2_UCLIBC_VERSION_0_9_32
@@ -45,7 +40,6 @@ config BR2_UCLIBC_VERSION_STRING

config BR2_UCLIBC_CONFIG
	string "uClibc configuration file to use?"
	default "toolchain/uClibc/uClibc-0.9.29.config" if BR2_UCLIBC_VERSION_0_9_29
	default "toolchain/uClibc/uClibc-0.9.30.config" if BR2_UCLIBC_VERSION_0_9_30
	default "toolchain/uClibc/uClibc-0.9.31.config" if BR2_UCLIBC_VERSION_0_9_31
	default "toolchain/uClibc/uClibc-0.9.32.config" if BR2_UCLIBC_VERSION_0_9_32
+0 −91
Original line number Diff line number Diff line
--- uClibc-0.9.29.oorig/test/mmap/mmap2.c	(revision 0)
+++ uClibc-0.9.29/test/mmap/mmap2.c	(revision 18616)
@@ -0,0 +1,41 @@
+/* When trying to map /dev/mem with offset 0xFFFFF000 on the ARM platform, mmap
+ * returns -EOVERFLOW.
+ *
+ * Since off_t is defined as a long int and the sign bit is set in the address,
+ * the shift operation shifts in ones instead of zeroes
+ * from the left. This results the offset sent to the kernel function becomes
+ * 0xFFFFFFFF instead of 0x000FFFFF with MMAP2_PAGE_SHIFT set to 12.
+ */
+
+#include <unistd.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <sys/mman.h>
+
+#define FATAL do { fprintf(stderr, "Error at line %d, file %s (%d) [%s]\n", \
+  __LINE__, __FILE__, errno, strerror(errno)); exit(1); } while(0)
+
+#define MAP_SIZE 4096UL
+#define MAP_MASK (MAP_SIZE - 1)
+
+int main(int argc, char **argv) {
+    void* map_base = 0;
+    int fd;
+    off_t target = 0xfffff000;
+    if((fd = open("/dev/mem", O_RDWR | O_SYNC)) == -1) FATAL;
+    printf("/dev/mem opened.\n");
+    fflush(stdout);
+
+   /* Map one page */
+    map_base = mmap(0, MAP_SIZE, PROT_READ | PROT_WRITE, MAP_SHARED,
+                        fd, target & ~MAP_MASK);
+    if(map_base == (void *) -1) FATAL;
+    printf("Memory mapped at address %p.\n", map_base);
+    fflush(stdout);
+    if(munmap(map_base, MAP_SIZE) == -1) FATAL;
+    close(fd);
+    return 0;
+}
--- uClibc-0.9.29.oorig/libc/sysdeps/linux/arm/mmap.c	(revision 18615)
+++ uClibc-0.9.29/libc/sysdeps/linux/arm/mmap.c	(revision 18616)
@@ -27,7 +27,6 @@ __ptr_t mmap(__ptr_t addr, size_t len, i
 
 #elif defined  (__NR_mmap2)
 #define __NR__mmap __NR_mmap2
-
 #ifndef MMAP2_PAGE_SHIFT
 # define MMAP2_PAGE_SHIFT 12
 #endif
@@ -39,9 +38,17 @@ __ptr_t mmap(__ptr_t addr, size_t len, i
 {
   /* check if offset is page aligned */
     if (offset & ((1 << MMAP2_PAGE_SHIFT) - 1))
+    {
+        __set_errno(EINVAL);
         return MAP_FAILED;
+    }
+#ifdef __USE_FILE_OFFSET64
+  return (__ptr_t) _mmap (addr, len, prot, flags,
+						  fd,((__u_quad_t) offset >> MMAP2_PAGE_SHIFT));
+#else
   return (__ptr_t) _mmap (addr, len, prot, flags,
-						  fd,(off_t) (offset >> MMAP2_PAGE_SHIFT));
+                          fd,((__u_long) offset >> MMAP2_PAGE_SHIFT));
+#endif
 }
 #elif defined (__NR_mmap)
 # define __NR__mmap __NR_mmap
--- uClibc-0.9.29.oorig/libc/sysdeps/linux/common/mmap64.c	(revision 18615)
+++ uClibc-0.9.29/libc/sysdeps/linux/common/mmap64.c	(revision 18616)
@@ -58,8 +58,13 @@ __ptr_t mmap64(__ptr_t addr, size_t len,
 		__set_errno(EINVAL);
 		return MAP_FAILED;
 	}
-
-	return __syscall_mmap2(addr, len, prot, flags, fd, (off_t) (offset >> MMAP2_PAGE_SHIFT));
+#ifdef __USE_FILE_OFFSET64
+  return __syscall_mmap2(addr, len, prot, flags,
+                         fd,((__u_quad_t)offset >> MMAP2_PAGE_SHIFT));
+#else
+   return __syscall_mmap2(addr, len, prot, flags,
+                          fd,((__u_long)offset >> MMAP2_PAGE_SHIFT));
+#endif
 }
 
 # endif
+0 −53
Original line number Diff line number Diff line
diff -ur uClibc-0.9.29/libc/sysdeps/linux/common/sched_getaffinity.c uClibc-0.9.29-patched/libc/sysdeps/linux/common/sched_getaffinity.c
--- uClibc-0.9.29/libc/sysdeps/linux/common/sched_getaffinity.c	2007-02-12 16:52:32.000000000 -0600
+++ uClibc-0.9.29-patched/libc/sysdeps/linux/common/sched_getaffinity.c	2007-05-09 18:05:09.397411811 -0500
@@ -29,6 +29,7 @@
 #include <sys/param.h>
 #include <sys/types.h>
 
+#ifdef __NR_sched_getaffinity
 libc_hidden_proto(memset)
 
 #define __NR___syscall_sched_getaffinity __NR_sched_getaffinity
@@ -48,5 +49,15 @@
 	}
 	return res;
 }
+#else
+/*
+int sched_getaffinity(pid_t pid, size_t cpusetsize, cpu_set_t *cpuset)
+{
+	__set_errno(ENOSYS);
+	return -1;
+}
+*/
 #endif
 #endif
+
+#endif
diff -ur uClibc-0.9.29/libc/sysdeps/linux/common/sched_setaffinity.c uClibc-0.9.29-patched/libc/sysdeps/linux/common/sched_setaffinity.c
--- uClibc-0.9.29/libc/sysdeps/linux/common/sched_setaffinity.c	2007-02-12 16:52:32.000000000 -0600
+++ uClibc-0.9.29-patched/libc/sysdeps/linux/common/sched_setaffinity.c	2007-05-09 18:05:09.397411811 -0500
@@ -31,6 +31,7 @@
 #include <sys/types.h>
 #include <alloca.h>
 
+#ifdef __NR_sched_setaffinity
 libc_hidden_proto(getpid)
 
 #define __NR___syscall_sched_setaffinity __NR_sched_setaffinity
@@ -74,5 +75,14 @@
 
 	return INLINE_SYSCALL (sched_setaffinity, 3, pid, cpusetsize, cpuset);
 }
+#else
+/*
+int sched_setaffinity(pid_t pid, size_t cpusetsize, const cpu_set_t *cpuset)
+{
+	__set_errno(ENOSYS);
+	return -1;
+}
+*/
+#endif
 #endif
 #endif
+0 −12
Original line number Diff line number Diff line
diff -ur uClibc-0.9.29/Makerules uClibc-0.9.29-patched/Makerules
--- uClibc-0.9.29/Makerules	2006-12-10 18:25:23.000000000 -0600
+++ uClibc-0.9.29-patched/Makerules	2008-01-26 17:04:50.965699518 -0600
@@ -96,7 +96,7 @@
 disp_ld        = $($(DISP)_disp_ld)
 
 cmd_compile.c = $(CC) -c $< -o $@ $(CFLAGS) $(ARCH_CFLAGS) $(CFLAGS-$(suffix $@)) $(filter-out $(CFLAGS-OMIT-$(notdir $<)),$(CFLAGS-$(notdir $(^D)))) $(CFLAGS-$(subst $(top_srcdir),,$(dir $<))) $(CFLAGS-$(notdir $<)) $(CFLAGS-$(notdir $@))
-cmd_compile.S = $(cmd_compile.c) -D__ASSEMBLER__ $(ASFLAGS) $(ARCH_ASFLAGS) $(ASFLAGS-$(suffix $@)) $(ASFLAGS-$(notdir $<)) $(ASFLAGS-$(notdir $@))
+cmd_compile.S = $(filter-out -std=gnu99, $(cmd_compile.c)) -D__ASSEMBLER__ $(ASFLAGS) $(ARCH_ASFLAGS) $(ASFLAGS-$(suffix $@)) $(ASFLAGS-$(notdir $<)) $(ASFLAGS-$(notdir $@))
 cmd_compile.m = $(cmd_compile.c) -DL_$(patsubst %$(suffix $(notdir $@)),%,$(notdir $@))
 cmd_compile-m = $(CC) $^ -c -o $@ $(CFLAGS) $(ARCH_CFLAGS) $(CFLAGS-$(suffix $@)) $(CFLAGS-$(notdir $(@D))) $(CFLAGS-$(notdir $@))
 cmd_strip     = $(STRIPTOOL) $(STRIP_FLAGS) $^
+0 −396
Original line number Diff line number Diff line
diff -ur uClibc-0.9.29/libc/inet/rpc/rcmd.c uClibc-0.9.29-patched/libc/inet/rpc/rcmd.c
--- uClibc-0.9.29/libc/inet/rpc/rcmd.c	2007-01-10 11:46:19.000000000 -0600
+++ uClibc-0.9.29-patched/libc/inet/rpc/rcmd.c	2007-05-09 18:05:21.638421151 -0500
@@ -126,7 +126,7 @@
 libc_hidden_proto(listen)
 libc_hidden_proto(sigsetmask)
 libc_hidden_proto(getc_unlocked)
-libc_hidden_proto(__fgetc_unlocked)
+//libc_hidden_proto(fgetc_unlocked)
 libc_hidden_proto(fopen)
 libc_hidden_proto(fclose)
 libc_hidden_proto(fprintf)
diff -ur uClibc-0.9.29/libc/inet/rpc/ruserpass.c uClibc-0.9.29-patched/libc/inet/rpc/ruserpass.c
--- uClibc-0.9.29/libc/inet/rpc/ruserpass.c	2006-03-23 05:14:16.000000000 -0600
+++ uClibc-0.9.29-patched/libc/inet/rpc/ruserpass.c	2007-05-09 18:05:21.638421151 -0500
@@ -63,7 +63,7 @@
 libc_hidden_proto(fopen)
 libc_hidden_proto(fclose)
 libc_hidden_proto(getc_unlocked)
-libc_hidden_proto(__fgetc_unlocked)
+//libc_hidden_proto(__fgetc_unlocked)
 
 #define _(X)  (X)
 /* #include "ftp_var.h" */
diff -ur uClibc-0.9.29/libc/misc/error/error.c uClibc-0.9.29-patched/libc/misc/error/error.c
--- uClibc-0.9.29/libc/misc/error/error.c	2006-05-04 09:44:13.000000000 -0500
+++ uClibc-0.9.29-patched/libc/misc/error/error.c	2007-05-09 18:05:21.646421810 -0500
@@ -30,11 +30,14 @@
 libc_hidden_proto(strerror)
 libc_hidden_proto(fprintf)
 libc_hidden_proto(exit)
+//#undef putc
 libc_hidden_proto(putc)
+libc_hidden_proto(fputc)
 libc_hidden_proto(vfprintf)
 libc_hidden_proto(fflush)
-libc_hidden_proto(fputc)
-libc_hidden_proto(__fputc_unlocked)
+//#ifdef __UCLIBC_HAS_STDIO_PUTC_MACRO__
+libc_hidden_proto(fputc_unlocked)
+//#endif
 
 /* This variable is incremented each time `error' is called.  */
 unsigned int error_message_count = 0;
diff -ur uClibc-0.9.29/libc/misc/ttyent/getttyent.c uClibc-0.9.29-patched/libc/misc/ttyent/getttyent.c
--- uClibc-0.9.29/libc/misc/ttyent/getttyent.c	2006-12-07 17:24:02.000000000 -0600
+++ uClibc-0.9.29-patched/libc/misc/ttyent/getttyent.c	2007-05-09 18:05:21.646421810 -0500
@@ -44,8 +44,10 @@
 libc_hidden_proto(__fsetlocking)
 libc_hidden_proto(rewind)
 libc_hidden_proto(fgets_unlocked)
+//#undef getc_unlocked
 libc_hidden_proto(getc_unlocked)
-libc_hidden_proto(__fgetc_unlocked)
+//#undef fgetc_unlocked
+libc_hidden_proto(fgetc_unlocked)
 libc_hidden_proto(fopen)
 libc_hidden_proto(fclose)
 libc_hidden_proto(abort)
diff -ur uClibc-0.9.29/libc/pwd_grp/pwd_grp.c uClibc-0.9.29-patched/libc/pwd_grp/pwd_grp.c
--- uClibc-0.9.29/libc/pwd_grp/pwd_grp.c	2007-04-13 03:32:18.000000000 -0500
+++ uClibc-0.9.29-patched/libc/pwd_grp/pwd_grp.c	2007-05-09 18:05:21.638421151 -0500
@@ -43,11 +43,12 @@
 libc_hidden_proto(strtoul)
 libc_hidden_proto(rewind)
 libc_hidden_proto(fgets_unlocked)
-libc_hidden_proto(__fputc_unlocked)
 libc_hidden_proto(sprintf)
 libc_hidden_proto(fopen)
 libc_hidden_proto(fclose)
 libc_hidden_proto(fprintf)
+//#undef fputc_unlocked
+libc_hidden_proto(fputc_unlocked)
 #ifdef __UCLIBC_HAS_XLOCALE__
 libc_hidden_proto(__ctype_b_loc)
 #elif __UCLIBC_HAS_CTYPE_TABLES__
@@ -801,7 +802,7 @@
 
 			do {
 				if (!*m) {
-					if (__fputc_unlocked('\n', f) >= 0) {
+					if (fputc_unlocked('\n', f) >= 0) {
 						rv = 0;
 					}
 					break;
@@ -867,7 +868,7 @@
 		goto DO_UNLOCK;
 	}
 
-	if (__fputc_unlocked('\n', stream) > 0) {
+	if (fputc_unlocked('\n', stream) > 0) {
 		rv = 0;
 	}
 
diff -ur uClibc-0.9.29/libc/stdio/_scanf.c uClibc-0.9.29-patched/libc/stdio/_scanf.c
--- uClibc-0.9.29/libc/stdio/_scanf.c	2007-01-20 12:32:10.000000000 -0600
+++ uClibc-0.9.29-patched/libc/stdio/_scanf.c	2007-05-09 18:05:21.642421481 -0500
@@ -86,7 +86,8 @@
 libc_hidden_proto(vsscanf)
 libc_hidden_proto(fclose)
 libc_hidden_proto(getc_unlocked)
-libc_hidden_proto(__fgetc_unlocked)
+//#undef fgetc_unlocked
+libc_hidden_proto(fgetc_unlocked)
 #ifdef __UCLIBC_HAS_WCHAR__
 libc_hidden_proto(wcslen)
 libc_hidden_proto(vfwscanf)
diff -ur uClibc-0.9.29/libc/stdio/fgetc.c uClibc-0.9.29-patched/libc/stdio/fgetc.c
--- uClibc-0.9.29/libc/stdio/fgetc.c	2006-01-15 16:41:03.000000000 -0600
+++ uClibc-0.9.29-patched/libc/stdio/fgetc.c	2007-05-09 18:05:21.642421481 -0500
@@ -13,13 +13,13 @@
 #undef getc
 #undef getc_unlocked
 
-libc_hidden_proto(__fgetc_unlocked)
+libc_hidden_proto(fgetc_unlocked)
 
 #ifdef __DO_UNLOCKED
 
 libc_hidden_proto(fflush_unlocked)
 
-int __fgetc_unlocked(FILE *stream)
+int fgetc_unlocked(FILE *stream)
 {
 	__STDIO_STREAM_VALIDATE(stream);
 
@@ -73,26 +73,22 @@
 
 	return EOF;
 }
-libc_hidden_def(__fgetc_unlocked)
-
-libc_hidden_proto(fgetc_unlocked)
-strong_alias(__fgetc_unlocked,fgetc_unlocked)
 libc_hidden_def(fgetc_unlocked)
 
 //libc_hidden_proto(__getc_unlocked)
-//strong_alias(__fgetc_unlocked,__getc_unlocked)
+//strong_alias(fgetc_unlocked,__getc_unlocked)
 //libc_hidden_def(__getc_unlocked)
 
 libc_hidden_proto(getc_unlocked)
-strong_alias(__fgetc_unlocked,getc_unlocked)
+strong_alias(fgetc_unlocked,getc_unlocked)
 libc_hidden_def(getc_unlocked)
 
 #ifndef __UCLIBC_HAS_THREADS__
 libc_hidden_proto(fgetc)
-strong_alias(__fgetc_unlocked,fgetc)
+strong_alias(fgetc_unlocked,fgetc)
 libc_hidden_def(fgetc)
 
-strong_alias(__fgetc_unlocked,getc)
+strong_alias(fgetc_unlocked,getc)
 #endif
 
 #elif defined __UCLIBC_HAS_THREADS__
diff -ur uClibc-0.9.29/libc/stdio/fgets.c uClibc-0.9.29-patched/libc/stdio/fgets.c
--- uClibc-0.9.29/libc/stdio/fgets.c	2006-01-15 16:41:03.000000000 -0600
+++ uClibc-0.9.29-patched/libc/stdio/fgets.c	2007-05-09 18:05:21.638421151 -0500
@@ -10,8 +10,7 @@
 libc_hidden_proto(fgets_unlocked)
 
 #ifdef __DO_UNLOCKED
-
-libc_hidden_proto(__fgetc_unlocked)
+libc_hidden_proto(fgetc_unlocked)
 
 char *fgets_unlocked(char *__restrict s, int n,
 					   register FILE * __restrict stream)
@@ -38,7 +37,7 @@
 				break;
 			}
 		} else {
-			if ((c = __fgetc_unlocked(stream)) == EOF) {
+			if ((c = fgetc_unlocked(stream)) == EOF) {
 				if (__FERROR_UNLOCKED(stream)) {
 					goto ERROR;
 				}
diff -ur uClibc-0.9.29/libc/stdio/fputc.c uClibc-0.9.29-patched/libc/stdio/fputc.c
--- uClibc-0.9.29/libc/stdio/fputc.c	2007-04-14 12:03:18.000000000 -0500
+++ uClibc-0.9.29-patched/libc/stdio/fputc.c	2007-05-09 20:50:51.350629927 -0500
@@ -16,7 +16,7 @@
 
 #ifdef __DO_UNLOCKED
 
-int __fputc_unlocked(int c, register FILE *stream)
+int fputc_unlocked(int c, register FILE *stream)
 {
 	__STDIO_STREAM_VALIDATE(stream);
 
@@ -70,22 +70,22 @@
  BAD:
 	return EOF;
 }
-libc_hidden_def(__fputc_unlocked)
+libc_hidden_def(fputc_unlocked)
 
 /* exposing these would be fundamentally *wrong*! fix you, instead! */
 /* libc_hidden_proto(fputc_unlocked) */
-strong_alias(__fputc_unlocked,fputc_unlocked)
+/* strong_alias(__fputc_unlocked,fputc_unlocked) */
 /* exposing these would be fundamentally *wrong*! fix you, instead! */
 /* libc_hidden_def(fputc_unlocked) */
 
 libc_hidden_proto(putc_unlocked)
-strong_alias(__fputc_unlocked,putc_unlocked)
+strong_alias(fputc_unlocked,putc_unlocked)
 libc_hidden_def(putc_unlocked)
 #ifndef __UCLIBC_HAS_THREADS__
-strong_alias(__fputc_unlocked,fputc)
+strong_alias(fputc_unlocked,fputc)
 
 libc_hidden_proto(putc)
-strong_alias(__fputc_unlocked,putc)
+strong_alias(fputc_unlocked,putc)
 libc_hidden_def(putc)
 #endif
 
diff -ur uClibc-0.9.29/libc/stdio/getchar.c uClibc-0.9.29-patched/libc/stdio/getchar.c
--- uClibc-0.9.29/libc/stdio/getchar.c	2006-12-19 22:30:25.000000000 -0600
+++ uClibc-0.9.29-patched/libc/stdio/getchar.c	2007-05-09 18:05:21.642421481 -0500
@@ -7,7 +7,8 @@
 
 #include "_stdio.h"
 
-libc_hidden_proto(__fgetc_unlocked)
+//#undef fgetc_unlocked
+libc_hidden_proto(fgetc_unlocked)
 
 #undef getchar
 #ifdef __DO_UNLOCKED
diff -ur uClibc-0.9.29/libc/stdio/getdelim.c uClibc-0.9.29-patched/libc/stdio/getdelim.c
--- uClibc-0.9.29/libc/stdio/getdelim.c	2006-02-13 02:52:46.000000000 -0600
+++ uClibc-0.9.29-patched/libc/stdio/getdelim.c	2007-05-09 18:05:21.642421481 -0500
@@ -11,8 +11,8 @@
 #include "_stdio.h"
 
 libc_hidden_proto(getdelim)
-
-libc_hidden_proto(__fgetc_unlocked)
+//#undef fgetc_unlocked
+libc_hidden_proto(fgetc_unlocked)
 
 /* Note: There is a defect in this function.  (size_t vs ssize_t). */
 
diff -ur uClibc-0.9.29/libc/stdio/old_vfprintf.c uClibc-0.9.29-patched/libc/stdio/old_vfprintf.c
--- uClibc-0.9.29/libc/stdio/old_vfprintf.c	2006-01-22 13:35:08.000000000 -0600
+++ uClibc-0.9.29-patched/libc/stdio/old_vfprintf.c	2007-05-09 18:05:21.642421481 -0500
@@ -149,7 +149,8 @@
 libc_hidden_proto(strnlen)
 libc_hidden_proto(memcpy)
 libc_hidden_proto(putc_unlocked)
-libc_hidden_proto(__fputc_unlocked)
+//#undef fputc_unlocked
+libc_hidden_proto(fputc_unlocked)
 libc_hidden_proto(__glibc_strerror_r)
 
 /*  #undef __UCLIBC_HAS_FLOATS__ */
diff -ur uClibc-0.9.29/libc/stdio/putchar.c uClibc-0.9.29-patched/libc/stdio/putchar.c
--- uClibc-0.9.29/libc/stdio/putchar.c	2006-01-13 18:58:03.000000000 -0600
+++ uClibc-0.9.29-patched/libc/stdio/putchar.c	2007-05-09 18:05:21.642421481 -0500
@@ -7,7 +7,8 @@
 
 #include "_stdio.h"
 
-libc_hidden_proto(__fputc_unlocked)
+//#undef fputc_unlocked
+libc_hidden_proto(fputc_unlocked)
 
 #undef putchar
 #ifdef __DO_UNLOCKED
diff -ur uClibc-0.9.29/libc/stdio/puts.c uClibc-0.9.29-patched/libc/stdio/puts.c
--- uClibc-0.9.29/libc/stdio/puts.c	2006-01-13 18:58:03.000000000 -0600
+++ uClibc-0.9.29-patched/libc/stdio/puts.c	2007-05-09 18:05:21.642421481 -0500
@@ -7,7 +7,8 @@
 
 #include "_stdio.h"
 
-libc_hidden_proto(__fputc_unlocked)
+//#undef fputc_unlocked
+libc_hidden_proto(fputc_unlocked)
 libc_hidden_proto(fputs_unlocked)
 
 int puts(register const char * __restrict s)
@@ -25,7 +26,7 @@
 	/* Note: Nonportable as fputs need only return nonnegative on success. */
 	if ((n = fputs_unlocked(s, stream)) != EOF) {
 		++n;
-		if (__fputc_unlocked('\n', stream) == EOF) {
+		if (fputc_unlocked('\n', stream) == EOF) {
 			n = EOF;
 		}
 	}
diff -ur uClibc-0.9.29/libc/stdio/putwchar.c uClibc-0.9.29-patched/libc/stdio/putwchar.c
--- uClibc-0.9.29/libc/stdio/putwchar.c	2006-01-14 14:16:19.000000000 -0600
+++ uClibc-0.9.29-patched/libc/stdio/putwchar.c	2007-05-09 18:05:21.642421481 -0500
@@ -22,7 +22,8 @@
 
 #elif defined __UCLIBC_HAS_THREADS__
 
-libc_hidden_proto(__fputc_unlocked)
+//#undef fputc_unlocked
+libc_hidden_proto(fputc_unlocked)
 /* psm: should this be fputwc? */
 libc_hidden_proto(fputc)
 
diff -ur uClibc-0.9.29/libc/sysdeps/linux/common/bits/uClibc_stdio.h uClibc-0.9.29-patched/libc/sysdeps/linux/common/bits/uClibc_stdio.h
--- uClibc-0.9.29/libc/sysdeps/linux/common/bits/uClibc_stdio.h	2007-01-28 07:16:58.000000000 -0600
+++ uClibc-0.9.29-patched/libc/sysdeps/linux/common/bits/uClibc_stdio.h	2007-05-09 20:56:02.408110608 -0500
@@ -381,33 +381,29 @@
 # define __FEOF(__stream)		__FEOF_UNLOCKED(__stream)
 #endif
 
-extern int __fgetc_unlocked(FILE *__stream);
-extern int __fputc_unlocked(int __c, FILE *__stream);
-
 /* First define the default definitions.
    They are overridden below as necessary. */
-#define __FGETC_UNLOCKED(__stream)		(__fgetc_unlocked)((__stream))
+#define __FGETC_UNLOCKED(__stream)		(fgetc_unlocked)((__stream))
 #define __FGETC(__stream)			(fgetc)((__stream))
-#define __GETC_UNLOCKED_MACRO(__stream)		(__fgetc_unlocked)((__stream))
-#define __GETC_UNLOCKED(__stream)		(__fgetc_unlocked)((__stream))
+#define __GETC_UNLOCKED_MACRO(__stream)		(fgetc_unlocked)((__stream))
+#define __GETC_UNLOCKED(__stream)		(fgetc_unlocked)((__stream))
 #define __GETC(__stream)			(fgetc)((__stream))
 
-#define __FPUTC_UNLOCKED(__c, __stream)		(__fputc_unlocked)((__c),(__stream))
+#define __FPUTC_UNLOCKED(__c, __stream)		(fputc_unlocked)((__c),(__stream))
 #define __FPUTC(__c, __stream)			(fputc)((__c),(__stream))
-#define __PUTC_UNLOCKED_MACRO(__c, __stream)	(__fputc_unlocked)((__c),(__stream))
-#define __PUTC_UNLOCKED(__c, __stream)		(__fputc_unlocked)((__c),(__stream))
+#define __PUTC_UNLOCKED_MACRO(__c, __stream)	(fputc_unlocked)((__c),(__stream))
+#define __PUTC_UNLOCKED(__c, __stream)		(fputc_unlocked)((__c),(__stream))
 #define __PUTC(__c, __stream)			(fputc)((__c),(__stream))
 
 
 #ifdef __STDIO_GETC_MACRO
-
 extern FILE *__stdin;			/* For getchar() macro. */
 
 # undef  __GETC_UNLOCKED_MACRO
 # define __GETC_UNLOCKED_MACRO(__stream)				\
 		( ((__stream)->__bufpos < (__stream)->__bufgetc_u)	\
 		  ? (*(__stream)->__bufpos++)				\
-		  : __fgetc_unlocked(__stream) )
+		  : fgetc_unlocked(__stream) )
 
 # if 0
 	/* Classic macro approach.  getc{_unlocked} can have side effects. */
@@ -453,20 +449,17 @@
 #  endif
 # endif
 
-#else
-
 #endif /* __STDIO_GETC_MACRO */
 
 
 #ifdef __STDIO_PUTC_MACRO
-
 extern FILE *__stdout;			/* For putchar() macro. */
 
 # undef  __PUTC_UNLOCKED_MACRO
 # define __PUTC_UNLOCKED_MACRO(__c, __stream)				\
 		( ((__stream)->__bufpos < (__stream)->__bufputc_u)	\
 		  ? (*(__stream)->__bufpos++) = (__c)			\
-		  : __fputc_unlocked((__c),(__stream)) )
+		  : (fputc_unlocked((__c),(__stream)) )
 
 # if 0
 	/* Classic macro approach.  putc{_unlocked} can have side effects.*/
@@ -489,7 +482,8 @@
 		}) )
 
 #  undef  __PUTC_UNLOCKED
-#  define __PUTC_UNLOCKED(__c, __stream)	__FPUTC_UNLOCKED((__c), (__stream))
+#  define __PUTC_UNLOCKED(__c, __stream)				\
+					__FPUTC_UNLOCKED((__c), (__stream))
 
 #  ifdef __UCLIBC_HAS_THREADS__
 #   undef  __FPUTC
diff -ur uClibc-0.9.29/libc/unistd/getpass.c uClibc-0.9.29-patched/libc/unistd/getpass.c
--- uClibc-0.9.29/libc/unistd/getpass.c	2006-07-05 05:58:38.000000000 -0500
+++ uClibc-0.9.29-patched/libc/unistd/getpass.c	2007-05-09 18:05:21.642421481 -0500
@@ -36,7 +36,8 @@
 libc_hidden_proto(fputs)
 libc_hidden_proto(fputc)
 libc_hidden_proto(putc)
-libc_hidden_proto(__fputc_unlocked)
+//#undef fputc_unlocked
+libc_hidden_proto(fputc_unlocked)
 
 /* It is desirable to use this bit on systems that have it.
    The only bit of terminal state we want to twiddle is echoing, which is
Loading