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: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
Peter Korsgaard 2011-07-04 10:15:37 +02:00
parent f1e4aac40e
commit 31f5268b3d
10 changed files with 1 additions and 1060 deletions

View File

@ -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

View File

@ -1,91 +0,0 @@
--- 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

View File

@ -1,53 +0,0 @@
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

View File

@ -1,12 +0,0 @@
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) $^

View File

@ -1,396 +0,0 @@
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

View File

@ -1,12 +0,0 @@
diff -ur uClibc-0.9.29/libc/inet/resolv.c uClibc-0.9.29-patched/libc/inet/resolv.c
--- uClibc-0.9.29/libc/inet/resolv.c 2007-04-23 12:01:05.000000000 -0500
+++ uClibc-0.9.29-patched/libc/inet/resolv.c 2007-05-09 18:05:33.563404419 -0500
@@ -1700,7 +1700,7 @@
int gethostent_r(struct hostent *result_buf, char *buf, size_t buflen,
struct hostent **result, int *h_errnop)
{
- int ret;
+ int ret = HOST_NOT_FOUND;
__UCLIBC_MUTEX_LOCK(mylock);
if (__gethostent_fp == NULL) {

View File

@ -1,51 +0,0 @@
Index: uClibc/libc/sysdeps/linux/i386/bits/uClibc_arch_features.h
===================================================================
--- uClibc/libc/sysdeps/linux/i386/bits/uClibc_arch_features.h (revision 18898)
+++ uClibc/libc/sysdeps/linux/i386/bits/uClibc_arch_features.h (working copy)
@@ -42,6 +42,8 @@
/* define if target supports IEEE signed zero floats */
#define __UCLIBC_HAVE_SIGNED_ZERO__
+#if defined _LIBC
#define internal_function __attribute__ ((regparm (3), stdcall))
+#endif
#endif /* _BITS_UCLIBC_ARCH_FEATURES_H */
Index: uClibc/include/libc-symbols.h
===================================================================
--- uClibc/include/libc-symbols.h (revision 18898)
+++ uClibc/include/libc-symbols.h (working copy)
@@ -22,6 +22,16 @@
#ifndef _LIBC_SYMBOLS_H
#define _LIBC_SYMBOLS_H 1
+/* This is defined for the compilation of all C library code. features.h
+ tests this to avoid inclusion of stubs.h while compiling the library,
+ before stubs.h has been generated. Some library code that is shared
+ with other packages also tests this symbol to see if it is being
+ compiled as part of the C library. We must define this before including
+ config.h, because it makes some definitions conditional on whether libc
+ itself is being compiled, or just some generator program. */
+#define _LIBC 1
+
+
/* This file's macros are included implicitly in the compilation of every
file in the C library by -imacros.
@@ -40,16 +50,6 @@
#include <bits/uClibc_arch_features.h>
-
-/* This is defined for the compilation of all C library code. features.h
- tests this to avoid inclusion of stubs.h while compiling the library,
- before stubs.h has been generated. Some library code that is shared
- with other packages also tests this symbol to see if it is being
- compiled as part of the C library. We must define this before including
- config.h, because it makes some definitions conditional on whether libc
- itself is being compiled, or just some generator program. */
-#define _LIBC 1
-
/* Enable declarations of GNU extensions, since we are compiling them. */
#define _GNU_SOURCE 1

View File

@ -1,145 +0,0 @@
--- a/libpthread/linuxthreads.old/attr.c 2006-01-24 12:41:01.000000000 -0500
+++ b/libpthread/linuxthreads.old/attr.c 2008-02-10 11:35:32.000000000 -0500
@@ -25,6 +25,14 @@
#include "pthread.h"
#include "internals.h"
+#include <sys/resource.h>
+#include <inttypes.h>
+#include <stdio.h>
+#include <stdio_ext.h>
+#include <stdlib.h>
+#include <sys/resource.h>
+
+
/* NOTE: With uClibc I don't think we need this versioning stuff.
* Therefore, define the function pthread_attr_init() here using
* a strong symbol. */
@@ -209,4 +217,94 @@ int __pthread_attr_getstacksize(const pt
*stacksize = attr->__stacksize;
return 0;
}
+
+
+extern int *__libc_stack_end;
+
weak_alias (__pthread_attr_getstacksize, pthread_attr_getstacksize)
+void* pthread_getattr_np(pthread_t thread, pthread_attr_t *attr)
+{
+ static void *stackBase = 0;
+ static size_t stackSize = 0;
+ int ret = 0;
+ /* Stack size limit. */
+ struct rlimit rl;
+
+ /* The safest way to get the top of the stack is to read
+ /proc/self/maps and locate the line into which
+ __libc_stack_end falls. */
+ FILE *fp = fopen("/proc/self/maps", "rc");
+ if (fp == NULL)
+ ret = errno;
+ /* We need the limit of the stack in any case. */
+ else if (getrlimit (RLIMIT_STACK, &rl) != 0)
+ ret = errno;
+ else {
+ /* We need no locking. */
+ __fsetlocking (fp, FSETLOCKING_BYCALLER);
+
+ /* Until we found an entry (which should always be the case)
+ mark the result as a failure. */
+ ret = ENOENT;
+
+ char *line = NULL;
+ size_t linelen = 0;
+ uintptr_t last_to = 0;
+
+ while (! feof_unlocked (fp)) {
+ if (getdelim (&line, &linelen, '\n', fp) <= 0)
+ break;
+
+ uintptr_t from;
+ uintptr_t to;
+ if (sscanf (line, "%x-%x", &from, &to) != 2)
+ continue;
+ if (from <= (uintptr_t) __libc_stack_end
+ && (uintptr_t) __libc_stack_end < to) {
+ /* Found the entry. Now we have the info we need. */
+ attr->__stacksize = rl.rlim_cur;
+#ifdef _STACK_GROWS_UP
+ /* Don't check to enforce a limit on the __stacksize */
+ attr->__stackaddr = (void *) from;
+#else
+ attr->__stackaddr = (void *) to;
+
+ /* The limit might be too high. */
+ if ((size_t) attr->__stacksize > (size_t) attr->__stackaddr - last_to)
+ attr->__stacksize = (size_t) attr->__stackaddr - last_to;
+#endif
+
+ /* We succeed and no need to look further. */
+ ret = 0;
+ break;
+ }
+ last_to = to;
+ }
+
+ fclose (fp);
+ free (line);
+ }
+#ifndef _STACK_GROWS_UP
+ stackBase = (char *) attr->__stackaddr - attr->__stacksize;
+#else
+ stackBase = attr->__stackaddr;
+#endif
+ stackSize = attr->__stacksize;
+ return (void*)(stackBase + stackSize);
+}
+
+int __pthread_attr_getstack (const pthread_attr_t *attr, void **stackaddr,
+ size_t *stacksize)
+{
+ /* XXX This function has a stupid definition. The standard specifies
+ no error value but what is if no stack address was set? We simply
+ return the value we have in the member. */
+#ifndef _STACK_GROWS_UP
+ *stackaddr = (char *) attr->__stackaddr - attr->__stacksize;
+#else
+ *stackaddr = attr->__stackaddr;
+#endif
+ *stacksize = attr->__stacksize;
+ return 0;
+}
+weak_alias (__pthread_attr_getstack, pthread_attr_getstack)
--- a/libpthread/linuxthreads.old/sysdeps/pthread/pthread.h 2006-12-07 22:19:36.000000000 -0500
+++ b/libpthread/linuxthreads.old/sysdeps/pthread/pthread.h 2008-02-10 11:42:35.000000000 -0500
@@ -288,15 +288,11 @@ extern int pthread_attr_getstacksize (__
__attr, size_t *__restrict __stacksize)
__THROW;
-#if 0
-/* Not yet implemented in uClibc! */
-
#ifdef __USE_GNU
/* Initialize thread attribute *ATTR with attributes corresponding to the
already running thread TH. It shall be called on unitialized ATTR
and destroyed with pthread_attr_destroy when no longer needed. */
-extern int pthread_getattr_np (pthread_t __th, pthread_attr_t *__attr) __THROW;
-#endif
+extern void* pthread_getattr_np(pthread_t thread, pthread_attr_t *attr);
#endif
/* Functions for scheduling control. */
@@ -599,6 +595,11 @@ extern int pthread_cancel (pthread_t __c
cancelled. */
extern void pthread_testcancel (void);
+/* Return the previously set address for the stack. */
+extern int pthread_attr_getstack (__const pthread_attr_t *__restrict __attr,
+ void **__restrict __stackaddr,
+ size_t *__restrict __stacksize) __THROW;
+
/* Install a cleanup handler: ROUTINE will be called with arguments ARG
when the thread is cancelled or calls pthread_exit. ROUTINE will also

View File

@ -1,86 +0,0 @@
diff -urN uClibc-0.9.29-0rig/include/assert.h uClibc-0.9.29/include/assert.h
--- uClibc-0.9.29-0rig/include/assert.h 2005-11-03 23:42:46.000000000 +0100
+++ uClibc-0.9.29/include/assert.h 2007-08-13 19:10:57.000000000 +0200
@@ -31,7 +31,7 @@
#define _ASSERT_H 1
#include <features.h>
-#if defined __cplusplus && __GNUC_PREREQ (2,95)
+#if defined __cplusplus && __GNUC_PREREQ(2,95)
# define __ASSERT_VOID_CAST static_cast<void>
#else
# define __ASSERT_VOID_CAST (void)
@@ -59,13 +59,17 @@
(__ASSERT_VOID_CAST ((expr) ? 0 : \
(__assert (__STRING(expr), __FILE__, __LINE__, \
__ASSERT_FUNCTION), 0)))
-
+
+/* Define some temporaries to workaround tinyx makedepend bug */
+#define __GNUC_PREREQ_2_6 __GNUC_PREREQ(2, 6)
+#define __GNUC_PREREQ_2_4 __GNUC_PREREQ(2, 4)
/* Version 2.4 and later of GCC define a magical variable `__PRETTY_FUNCTION__'
which contains the name of the function currently being defined.
This is broken in G++ before version 2.6.
C9x has a similar variable called __func__, but prefer the GCC one since
it demangles C++ function names. */
-# if defined __cplusplus ? __GNUC_PREREQ (2, 6) : __GNUC_PREREQ (2, 4)
+
+# if defined __cplusplus ? __GNUC_PREREQ_2_6 : __GNUC_PREREQ_2_4
# define __ASSERT_FUNCTION __PRETTY_FUNCTION__
# else
# if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L
diff -urN uClibc-0.9.29-0rig/include/complex.h uClibc-0.9.29/include/complex.h
--- uClibc-0.9.29-0rig/include/complex.h 2002-05-09 10:15:21.000000000 +0200
+++ uClibc-0.9.29/include/complex.h 2007-08-13 17:55:29.000000000 +0200
@@ -33,7 +33,7 @@
/* We might need to add support for more compilers here. But since ISO
C99 is out hopefully all maintained compilers will soon provide the data
types `float complex' and `double complex'. */
-#if __GNUC_PREREQ (2, 7) && !__GNUC_PREREQ (2, 97)
+#if __GNUC_PREREQ(2, 7) && !__GNUC_PREREQ(2, 97)
# define _Complex __complex__
#endif
diff -urN uClibc-0.9.29-0rig/include/features.h uClibc-0.9.29/include/features.h
--- uClibc-0.9.29-0rig/include/features.h 2006-11-29 22:10:04.000000000 +0100
+++ uClibc-0.9.29/include/features.h 2007-08-13 17:55:51.000000000 +0200
@@ -143,7 +143,7 @@
/* Convenience macros to test the versions of glibc and gcc.
Use them like this:
- #if __GNUC_PREREQ (2,8)
+ #if __GNUC_PREREQ(2,8)
... code requiring gcc 2.8 or later ...
#endif
Note - they won't work for gcc1 or glibc1, since the _MINOR macros
@@ -297,7 +297,7 @@
/* uClibc does not support _FORTIFY_SOURCE */
#undef _FORTIFY_SOURCE
#if defined _FORTIFY_SOURCE && _FORTIFY_SOURCE > 0 \
- && __GNUC_PREREQ (4, 1) && defined __OPTIMIZE__ && __OPTIMIZE__ > 0
+ && __GNUC_PREREQ(4, 1) && defined __OPTIMIZE__ && __OPTIMIZE__ > 0
# if _FORTIFY_SOURCE > 1
# define __USE_FORTIFY_LEVEL 2
# else
@@ -366,7 +366,7 @@
#endif /* !ASSEMBLER */
/* Decide whether we can define 'extern inline' functions in headers. */
-#if __GNUC_PREREQ (2, 7) && defined __OPTIMIZE__ \
+#if __GNUC_PREREQ(2, 7) && defined __OPTIMIZE__ \
&& !defined __OPTIMIZE_SIZE__ && !defined __NO_INLINE__
# define __USE_EXTERN_INLINES 1
#endif
diff -urN uClibc-0.9.29-0rig/include/tgmath.h uClibc-0.9.29/include/tgmath.h
--- uClibc-0.9.29-0rig/include/tgmath.h 2002-05-09 10:15:21.000000000 +0200
+++ uClibc-0.9.29/include/tgmath.h 2007-08-13 17:56:17.000000000 +0200
@@ -34,7 +34,7 @@
do not try this for now and instead concentrate only on GNU CC. Once
we have more information support for other compilers might follow. */
-#if __GNUC_PREREQ (2, 7)
+#if __GNUC_PREREQ(2, 7)
# ifdef __NO_LONG_DOUBLE_MATH
# define __tgml(fct) fct

View File

@ -1,207 +0,0 @@
#
# Automatically generated make config: don't edit
#
# TARGET_alpha is not set
# TARGET_arm is not set
# TARGET_avr32 is not set
# TARGET_bfin is not set
# TARGET_cris is not set
# TARGET_e1 is not set
# TARGET_frv is not set
# TARGET_h8300 is not set
# TARGET_hppa is not set
# TARGET_i386 is not set
# TARGET_i960 is not set
# TARGET_ia64 is not set
# TARGET_m68k is not set
# TARGET_microblaze is not set
# TARGET_mips is not set
# TARGET_nios is not set
# TARGET_nios2 is not set
# TARGET_powerpc is not set
# TARGET_sh is not set
# TARGET_sh64 is not set
# TARGET_sparc is not set
# TARGET_v850 is not set
# TARGET_vax is not set
# TARGET_x86_64 is not set
#
# Target Architecture Features and Options
#
TARGET_ARCH="none"
FORCE_OPTIONS_FOR_ARCH=y
# ARCH_LITTLE_ENDIAN is not set
# ARCH_BIG_ENDIAN is not set
# ARCH_WANTS_LITTLE_ENDIAN is not set
# ARCH_WANTS_BIG_ENDIAN is not set
#
# Using Little Endian
#
ARCH_HAS_MMU=y
ARCH_USE_MMU=y
UCLIBC_HAS_FLOATS=y
UCLIBC_HAS_FPU=y
DO_C99_MATH=y
KERNEL_SOURCE="/usr/src/linux"
KERNEL_HEADERS="/usr/src/linux/include"
HAVE_DOT_CONFIG=y
#
# General Library Settings
#
# HAVE_NO_PIC is not set
DOPIC=y
# LINKRELAX is not set
# HAVE_NO_SHARED is not set
# ARCH_HAS_NO_LDSO is not set
BUILD_UCLIBC_LDSO=y
HAVE_SHARED=y
# FORCE_SHAREABLE_TEXT_SEGMENTS is not set
LDSO_LDD_SUPPORT=y
LDSO_CACHE_SUPPORT=y
# LDSO_PRELOAD_FILE_SUPPORT is not set
LDSO_BASE_FILENAME="ld.so"
# UCLIBC_STATIC_LDCONFIG is not set
LDSO_RUNPATH=y
# DL_FINI_CRT_COMPAT is not set
UCLIBC_CTOR_DTOR=y
# HAS_NO_THREADS is not set
UCLIBC_HAS_THREADS=y
# PTHREADS_DEBUG_SUPPORT is not set
LINUXTHREADS_OLD=y
UCLIBC_HAS_LFS=y
# MALLOC is not set
# MALLOC_SIMPLE is not set
MALLOC_STANDARD=y
MALLOC_GLIBC_COMPAT=y
UCLIBC_DYNAMIC_ATEXIT=y
# COMPAT_ATEXIT is not set
HAS_SHADOW=y
# UCLIBC_SUSV3_LEGACY is not set
# UCLIBC_SUSV3_LEGACY_MACROS is not set
UCLIBC_HAS_SHADOW=y
# UCLIBC_HAS_PROGRAM_INVOCATION_NAME is not set
UCLIBC_HAS___PROGNAME=y
# UNIX98PTY_ONLY is not set
ASSUME_DEVPTS=y
UCLIBC_HAS_TM_EXTENSIONS=y
UCLIBC_HAS_TZ_CACHING=y
UCLIBC_HAS_TZ_FILE=y
UCLIBC_HAS_TZ_FILE_READ_MANY=y
UCLIBC_TZ_FILE_PATH="/etc/TZ"
#
# Advanced Library Settings
#
UCLIBC_PWD_BUFFER_SIZE=256
UCLIBC_GRP_BUFFER_SIZE=256
#
# Networking Support
#
UCLIBC_HAS_IPV6=y
UCLIBC_HAS_RPC=y
UCLIBC_HAS_FULL_RPC=y
UCLIBC_HAS_REENTRANT_RPC=y
# UCLIBC_USE_NETLINK is not set
# UCLIBC_HAS_BSD_RES_CLOSE is not set
#
# String and Stdio Support
#
UCLIBC_HAS_STRING_GENERIC_OPT=y
UCLIBC_HAS_STRING_ARCH_OPT=y
UCLIBC_HAS_CTYPE_TABLES=y
UCLIBC_HAS_CTYPE_SIGNED=y
# UCLIBC_HAS_CTYPE_UNSAFE is not set
UCLIBC_HAS_CTYPE_CHECKED=y
# UCLIBC_HAS_CTYPE_ENFORCED is not set
# UCLIBC_HAS_WCHAR is not set
# UCLIBC_HAS_LOCALE is not set
UCLIBC_HAS_HEXADECIMAL_FLOATS=y
UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y
# USE_OLD_VFPRINTF is not set
UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
UCLIBC_HAS_SCANF_GLIBC_A_FLAG=y
# UCLIBC_HAS_STDIO_BUFSIZ_NONE is not set
# UCLIBC_HAS_STDIO_BUFSIZ_256 is not set
# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set
# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set
# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set
UCLIBC_HAS_STDIO_BUFSIZ_4096=y
# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set
UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y
# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set
# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set
# UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT is not set
UCLIBC_HAS_STDIO_GETC_MACRO=y
UCLIBC_HAS_STDIO_PUTC_MACRO=y
UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y
# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set
UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y
UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y
UCLIBC_HAS_PRINTF_M_SPEC=y
UCLIBC_HAS_ERRNO_MESSAGES=y
# UCLIBC_HAS_SYS_ERRLIST is not set
UCLIBC_HAS_SIGNUM_MESSAGES=y
# UCLIBC_HAS_SYS_SIGLIST is not set
UCLIBC_HAS_GNU_GETOPT=y
# UCLIBC_HAS_GETTEXT_AWARENESS is not set
UCLIBC_HAS_GNU_GETSUBOPT=y
#
# Big and Tall
#
UCLIBC_HAS_REGEX=y
UCLIBC_HAS_REGEX_OLD=y
UCLIBC_HAS_FNMATCH=y
UCLIBC_HAS_FNMATCH_OLD=y
# UCLIBC_HAS_WORDEXP is not set
UCLIBC_HAS_FTW=y
UCLIBC_HAS_GLOB=y
UCLIBC_HAS_GNU_GLOB=y
#
# Library Installation Options
#
SHARED_LIB_LOADER_PREFIX="/lib"
RUNTIME_PREFIX="/"
DEVEL_PREFIX="/usr/"
#
# uClibc security related options
#
# UCLIBC_BUILD_PIE is not set
# UCLIBC_HAS_ARC4RANDOM is not set
# HAVE_NO_SSP is not set
UCLIBC_HAS_SSP=y
# UCLIBC_HAS_SSP_COMPAT is not set
# SSP_QUICK_CANARY is not set
PROPOLICE_BLOCK_ABRT=y
# PROPOLICE_BLOCK_SEGV is not set
# UCLIBC_BUILD_SSP is not set
UCLIBC_BUILD_RELRO=y
UCLIBC_BUILD_NOW=y
UCLIBC_BUILD_NOEXECSTACK=y
#
# uClibc development/debugging options
#
CROSS_COMPILER_PREFIX=""
UCLIBC_EXTRA_CFLAGS=""
# DODEBUG is not set
# DODEBUG_PT is not set
DOSTRIP=y
# DOASSERTS is not set
# SUPPORT_LD_DEBUG is not set
# SUPPORT_LD_DEBUG_EARLY is not set
# UCLIBC_MALLOC_DEBUGGING is not set
WARNINGS="-Wall"
# EXTRA_WARNINGS is not set
# DOMULTI is not set
# UCLIBC_MJN3_ONLY is not set
# USE_BX is not set