diff options
Diffstat (limited to 'core/uclibc')
-rw-r--r-- | core/uclibc/0001-ldd-segfault-fix.patch | 49 | ||||
-rw-r--r-- | core/uclibc/0001-linuxthreads-fixes-from-Will-Newton-will.newton-AT-g.patch | 281 | ||||
-rw-r--r-- | core/uclibc/APKBUILD | 65 | ||||
-rw-r--r-- | core/uclibc/ppoll.patch | 59 | ||||
-rw-r--r-- | core/uclibc/pthread-new-aliasing-fix.diff | 147 | ||||
-rw-r--r-- | core/uclibc/uclibc-0.9.30.1-pthread_getattr_np.patch | 137 | ||||
-rw-r--r-- | core/uclibc/uclibc-0.9.30.1-resolv.patch | 13 | ||||
-rw-r--r-- | core/uclibc/uclibc-fork-hook.diff | 36 | ||||
-rw-r--r-- | core/uclibc/uclibc-i386-floating-stacks.diff | 23 | ||||
-rw-r--r-- | core/uclibc/uclibc-resolv-cname-fix.diff | 16 | ||||
-rw-r--r-- | core/uclibc/uclibcconfig | 246 |
11 files changed, 0 insertions, 1072 deletions
diff --git a/core/uclibc/0001-ldd-segfault-fix.patch b/core/uclibc/0001-ldd-segfault-fix.patch deleted file mode 100644 index 4384fa548c..0000000000 --- a/core/uclibc/0001-ldd-segfault-fix.patch +++ /dev/null @@ -1,49 +0,0 @@ -From f29b6882327573ec4e694c1c852307c957d544b9 Mon Sep 17 00:00:00 2001 -From: Natanael Copa <ncopa@alpinelinux.org> -Date: Tue, 5 May 2009 14:10:42 +0000 -Subject: [PATCH] ldd segfault fix - -Fixes ldd segfault on this testcase: - -extern void _dl_getenv(void); -void foo(void) -{ - printf("foo: %x\n", &_dl_getenv); -} - -linked as -shared ---- - utils/ldd.c | 8 +++++--- - 1 files changed, 5 insertions(+), 3 deletions(-) - -diff --git a/utils/ldd.c b/utils/ldd.c -index 1f1dc25..2cd173c 100644 ---- a/utils/ldd.c -+++ b/utils/ldd.c -@@ -576,18 +576,20 @@ static struct library *find_elf_interpreter(ElfW(Ehdr) *ehdr) - } - newlib->name = NULL; - newlib->path = NULL; -- return NULL; -+ break; - } - } -- if (newlib == NULL) -+ if (newlib == NULL) { - newlib = malloc(sizeof(struct library)); -+ if (newlib) -+ newlib->next = NULL; -+ } - if (!newlib) - return NULL; - newlib->name = malloc(strlen(s) + 1); - strcpy(newlib->name, s); - newlib->path = strdup(newlib->name); - newlib->resolved = 1; -- newlib->next = NULL; - - #if 0 - /*printf("find_elf_interpreter is adding '%s' to '%s'\n", newlib->name, newlib->path); */ --- -1.6.2.3 - diff --git a/core/uclibc/0001-linuxthreads-fixes-from-Will-Newton-will.newton-AT-g.patch b/core/uclibc/0001-linuxthreads-fixes-from-Will-Newton-will.newton-AT-g.patch deleted file mode 100644 index 6b54d25f28..0000000000 --- a/core/uclibc/0001-linuxthreads-fixes-from-Will-Newton-will.newton-AT-g.patch +++ /dev/null @@ -1,281 +0,0 @@ -From 52c9ef85a65f4dc25a4d1ff79c0fba1ed53ef43a Mon Sep 17 00:00:00 2001 -From: Denis Vlasenko <vda.linux@googlemail.com> -Date: Thu, 12 Mar 2009 20:56:59 +0000 -Subject: [PATCH 01/39] linuxthreads fixes from Will Newton (will.newton AT gmail.com): - * share Sys V semaphores in order to get appropriate SEM_UNDO semantics. - * correct guardaddr in pthread_free() for TLS case - * move spinlock unlocking before restart() - * When exit was called from a signal handler, the restart - from the manager processing the exit request instead restarted the thread - in pthread_cond_timedwait. - (see http://sources.redhat.com/ml/libc-ports/2006-05/msg00000.html) - ---- - libpthread/linuxthreads/descr.h | 2 -- - libpthread/linuxthreads/manager.c | 15 ++++++++------- - libpthread/linuxthreads/pthread.c | 26 +++++++++++++++----------- - libpthread/linuxthreads/specific.c | 10 ++++++---- - libpthread/linuxthreads/spinlock.c | 14 +++++++++++++- - libpthread/linuxthreads/spinlock.h | 6 ++++-- - libpthread/linuxthreads/sysdeps/i386/tls.h | 2 -- - 7 files changed, 46 insertions(+), 29 deletions(-) - -diff --git a/libpthread/linuxthreads/descr.h b/libpthread/linuxthreads/descr.h -index 24ec30b..47a9acd 100644 ---- a/libpthread/linuxthreads/descr.h -+++ b/libpthread/linuxthreads/descr.h -@@ -123,9 +123,7 @@ struct _pthread_descr_struct - union dtv *dtvp; - pthread_descr self; /* Pointer to this structure */ - int multiple_threads; --# ifdef NEED_DL_SYSINFO - uintptr_t sysinfo; --# endif - } data; - void *__padding[16]; - } p_header; -diff --git a/libpthread/linuxthreads/manager.c b/libpthread/linuxthreads/manager.c -index be1e8d2..b068d6c 100644 ---- a/libpthread/linuxthreads/manager.c -+++ b/libpthread/linuxthreads/manager.c -@@ -742,15 +742,15 @@ static int pthread_handle_create(pthread_t *thread, const pthread_attr_t *attr, - pid = __clone2(pthread_start_thread_event, - (void **)new_thread_bottom, - (char *)stack_addr - new_thread_bottom, -- CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND | -+ CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND | CLONE_SYSVSEM | - __pthread_sig_cancel, new_thread); - #elif _STACK_GROWS_UP - pid = __clone(pthread_start_thread_event, (void *) new_thread_bottom, -- CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND | -+ CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND | CLONE_SYSVSEM | - __pthread_sig_cancel, new_thread); - #else - pid = __clone(pthread_start_thread_event, stack_addr, -- CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND | -+ CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND | CLONE_SYSVSEM | - __pthread_sig_cancel, new_thread); - #endif - saved_errno = errno; -@@ -783,15 +783,15 @@ static int pthread_handle_create(pthread_t *thread, const pthread_attr_t *attr, - pid = __clone2(pthread_start_thread, - (void **)new_thread_bottom, - (char *)stack_addr - new_thread_bottom, -- CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND | -+ CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND | CLONE_SYSVSEM | - __pthread_sig_cancel, new_thread); - #elif _STACK_GROWS_UP - pid = __clone(pthread_start_thread, (void *) new_thread_bottom, -- CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND | -+ CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND | CLONE_SYSVSEM | - __pthread_sig_cancel, new_thread); - #else - pid = __clone(pthread_start_thread, stack_addr, -- CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND | -+ CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND | CLONE_SYSVSEM | - __pthread_sig_cancel, new_thread); - #endif /* !NEED_SEPARATE_REGISTER_STACK */ - saved_errno = errno; -@@ -892,10 +892,11 @@ static void pthread_free(pthread_descr th) - #ifdef _STACK_GROWS_UP - # ifdef USE_TLS - size_t stacksize = guardaddr - th->p_stackaddr; -+ guardaddr = th->p_stackaddr; - # else - size_t stacksize = guardaddr - (char *)th; --# endif - guardaddr = (char *)th; -+# endif - #else - /* Guardaddr is always set, even if guardsize is 0. This allows - us to compute everything else. */ -diff --git a/libpthread/linuxthreads/pthread.c b/libpthread/linuxthreads/pthread.c -index 91333f2..4d1d906 100644 ---- a/libpthread/linuxthreads/pthread.c -+++ b/libpthread/linuxthreads/pthread.c -@@ -740,17 +740,17 @@ int __pthread_initialize_manager(void) - pid = __clone2(__pthread_manager_event, - (void **) __pthread_manager_thread_bos, - THREAD_MANAGER_STACK_SIZE, -- CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND, -+ CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND | CLONE_SYSVSEM, - mgr); - #elif _STACK_GROWS_UP - pid = __clone(__pthread_manager_event, - (void **) __pthread_manager_thread_bos, -- CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND, -+ CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND | CLONE_SYSVSEM, - mgr); - #else - pid = __clone(__pthread_manager_event, - (void **) __pthread_manager_thread_tos, -- CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND, -+ CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND | CLONE_SYSVSEM, - mgr); - #endif - -@@ -780,13 +780,13 @@ int __pthread_initialize_manager(void) - #ifdef NEED_SEPARATE_REGISTER_STACK - pid = __clone2(__pthread_manager, (void **) __pthread_manager_thread_bos, - THREAD_MANAGER_STACK_SIZE, -- CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND, mgr); -+ CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND | CLONE_SYSVSEM, mgr); - #elif _STACK_GROWS_UP - pid = __clone(__pthread_manager, (void **) __pthread_manager_thread_bos, -- CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND, mgr); -+ CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND | CLONE_SYSVSEM, mgr); - #else - pid = __clone(__pthread_manager, (void **) __pthread_manager_thread_tos, -- CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND, mgr); -+ CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND | CLONE_SYSVSEM, mgr); - #endif - } - if (__builtin_expect (pid, 0) == -1) { -@@ -972,6 +972,10 @@ static void pthread_onexit_process(int retcode, void *arg) - struct pthread_request request; - pthread_descr self = thread_self(); - -+ /* Make sure we come back here after suspend(), in case we entered -+ from a signal handler. */ -+ THREAD_SETMEM(self, p_signal_jmp, NULL); -+ - request.req_thread = self; - request.req_kind = REQ_PROCESS_EXIT; - request.req_args.exit.code = retcode; -@@ -1201,13 +1205,13 @@ void __pthread_wait_for_restart_signal(pthread_descr self) - - void __pthread_restart_old(pthread_descr th) - { -- if (atomic_increment(&th->p_resume_count) == -1) -+ if (pthread_atomic_increment(&th->p_resume_count) == -1) - kill(th->p_pid, __pthread_sig_restart); - } - - void __pthread_suspend_old(pthread_descr self) - { -- if (atomic_decrement(&self->p_resume_count) <= 0) -+ if (pthread_atomic_decrement(&self->p_resume_count) <= 0) - __pthread_wait_for_restart_signal(self); - } - -@@ -1218,7 +1222,7 @@ __pthread_timedsuspend_old(pthread_descr self, const struct timespec *abstime) - int was_signalled = 0; - sigjmp_buf jmpbuf; - -- if (atomic_decrement(&self->p_resume_count) == 0) { -+ if (pthread_atomic_decrement(&self->p_resume_count) == 0) { - /* Set up a longjmp handler for the restart signal, unblock - the signal and sleep. */ - -@@ -1275,9 +1279,9 @@ __pthread_timedsuspend_old(pthread_descr self, const struct timespec *abstime) - being delivered. */ - - if (!was_signalled) { -- if (atomic_increment(&self->p_resume_count) != -1) { -+ if (pthread_atomic_increment(&self->p_resume_count) != -1) { - __pthread_wait_for_restart_signal(self); -- atomic_decrement(&self->p_resume_count); /* should be zero now! */ -+ pthread_atomic_decrement(&self->p_resume_count); /* should be zero now! */ - /* woke spontaneously and consumed restart signal */ - return 1; - } -diff --git a/libpthread/linuxthreads/specific.c b/libpthread/linuxthreads/specific.c -index 92eec3d..764bf1e 100644 ---- a/libpthread/linuxthreads/specific.c -+++ b/libpthread/linuxthreads/specific.c -@@ -104,13 +104,14 @@ int pthread_key_delete(pthread_key_t key) - that if the key is reallocated later by pthread_key_create, its - associated values will be NULL in all threads. - -- If no threads have been created yet, clear it just in the -- current thread. */ -+ If no threads have been created yet, or if we are exiting, clear -+ it just in the current thread. */ - - struct pthread_key_delete_helper_args args; - args.idx1st = key / PTHREAD_KEY_2NDLEVEL_SIZE; - args.idx2nd = key % PTHREAD_KEY_2NDLEVEL_SIZE; -- if (__pthread_manager_request != -1) -+ if (__pthread_manager_request != -1 -+ && !(__builtin_expect (__pthread_exit_requested, 0))) - { - struct pthread_request request; - -@@ -203,8 +204,9 @@ void __pthread_destroy_specifics() - __pthread_lock(THREAD_GETMEM(self, p_lock), self); - for (i = 0; i < PTHREAD_KEY_1STLEVEL_SIZE; i++) { - if (THREAD_GETMEM_NC(self, p_specific[i]) != NULL) { -- free(THREAD_GETMEM_NC(self, p_specific[i])); -+ void *p = THREAD_GETMEM_NC(self, p_specific[i]); - THREAD_SETMEM_NC(self, p_specific[i], NULL); -+ free(p); - } - } - __pthread_unlock(THREAD_GETMEM(self, p_lock)); -diff --git a/libpthread/linuxthreads/spinlock.c b/libpthread/linuxthreads/spinlock.c -index f325402..f0cf19c 100644 ---- a/libpthread/linuxthreads/spinlock.c -+++ b/libpthread/linuxthreads/spinlock.c -@@ -637,8 +637,20 @@ void __pthread_alt_unlock(struct _pthread_fastlock *lock) - #if defined HAS_COMPARE_AND_SWAP - wait_node_dequeue(pp_head, pp_max_prio, p_max_prio); - #endif -+ -+ /* Release the spinlock *before* restarting. */ -+#if defined TEST_FOR_COMPARE_AND_SWAP -+ if (!__pthread_has_cas) -+#endif -+#if !defined HAS_COMPARE_AND_SWAP || defined TEST_FOR_COMPARE_AND_SWAP -+ { -+ __pthread_release(&lock->__spinlock); -+ } -+#endif -+ - restart(p_max_prio->thr); -- break; -+ -+ return; - } - } - -diff --git a/libpthread/linuxthreads/spinlock.h b/libpthread/linuxthreads/spinlock.h -index 210ead4..2a3c227 100644 ---- a/libpthread/linuxthreads/spinlock.h -+++ b/libpthread/linuxthreads/spinlock.h -@@ -172,7 +172,8 @@ static __inline__ int __pthread_alt_trylock (struct _pthread_fastlock * lock) - - /* Operations on pthread_atomic, which is defined in internals.h */ - --static __inline__ long atomic_increment(struct pthread_atomic *pa) -+static __inline__ long -+pthread_atomic_increment (struct pthread_atomic *pa) - { - long oldval; - -@@ -184,7 +185,8 @@ static __inline__ long atomic_increment(struct pthread_atomic *pa) - } - - --static __inline__ long atomic_decrement(struct pthread_atomic *pa) -+static __inline__ long -+pthread_atomic_decrement (struct pthread_atomic *pa) - { - long oldval; - -diff --git a/libpthread/linuxthreads/sysdeps/i386/tls.h b/libpthread/linuxthreads/sysdeps/i386/tls.h -index 2abd3a0..4c9b680 100644 ---- a/libpthread/linuxthreads/sysdeps/i386/tls.h -+++ b/libpthread/linuxthreads/sysdeps/i386/tls.h -@@ -46,9 +46,7 @@ typedef struct - dtv_t *dtv; - void *self; /* Pointer to the thread descriptor. */ - int multiple_threads; --#ifdef NEED_DL_SYSINFO - uintptr_t sysinfo; --#endif - } tcbhead_t; - - #else /* __ASSEMBLER__ */ --- -1.6.3.2 - diff --git a/core/uclibc/APKBUILD b/core/uclibc/APKBUILD deleted file mode 100644 index 22914f15a6..0000000000 --- a/core/uclibc/APKBUILD +++ /dev/null @@ -1,65 +0,0 @@ -# Maintainer: Natanael Copa <ncopa@alpinelinux.org> -pkgname=uclibc -pkgver=0.9.30.1 -pkgrel=11 -pkgdesc="C library for developing embedded Linux systems" -url=http://uclibc.org -license="LGPL-2" -_mynamever=uClibc-$pkgver - -subpackages="$pkgname-dev" -depends_dev="linux-headers" - -source="http://uclibc.org/downloads/$_mynamever.tar.bz2 - $pkgname-0.9.30.1-resolv.patch - uclibc-0.9.30.1-pthread_getattr_np.patch - 0001-ldd-segfault-fix.patch - 0001-linuxthreads-fixes-from-Will-Newton-will.newton-AT-g.patch - pthread-new-aliasing-fix.diff - uclibc-resolv-cname-fix.diff - uclibc-i386-floating-stacks.diff - ppoll.patch - uclibc-fork-hook.diff - uclibcconfig - " - -_prepare() { - local i gcc_major - cd "$srcdir/$_mynamever/" - # patches goes here - for i in ../*.patch ../*.diff; do - msg "Applying $i..." - patch -p1 < $i || return 1 - done -} - -_compile() { - cd "$srcdir/$_mynamever/" - cp ../uclibcconfig .config - make silentoldconfig - # this is a hack to get uclibc-i386-floating-stacks.diff working - touch libc/sysdeps/linux/i386/sysdep.h - make || return 1 -} - -_install() { - cd "$srcdir/$_mynamever/" - make install DESTDIR="$pkgdir" install_utils - install -Dm755 extra/scripts/getent "$pkgdir"/usr/bin/getent -} - -build() { - _prepare && _compile && _install -} - -md5sums="1a4b84e5536ad8170563ffa88c34679c uClibc-0.9.30.1.tar.bz2 -ea91460617601b6e084ead66bc3948f5 uclibc-0.9.30.1-resolv.patch -cf80c0d44a41e02f389be427ee615d61 uclibc-0.9.30.1-pthread_getattr_np.patch -4079b20c763727863bc53408e4988434 0001-ldd-segfault-fix.patch -bcd1c4c9c87f092fb4631559e6ec13ba 0001-linuxthreads-fixes-from-Will-Newton-will.newton-AT-g.patch -969187e1da84d0a0a5957b392a3d5a2b pthread-new-aliasing-fix.diff -bbb8475963e791f596c34c81ef5583d7 uclibc-resolv-cname-fix.diff -0b3966ab7774ac42ecf34a7b596c661b uclibc-i386-floating-stacks.diff -60738298e377295d359768a09adac0bb ppoll.patch -55bb709f5efd937df323f0d39a202cfd uclibc-fork-hook.diff -0a87f57d3e5001027f43b7c959d96319 uclibcconfig" diff --git a/core/uclibc/ppoll.patch b/core/uclibc/ppoll.patch deleted file mode 100644 index e73733e216..0000000000 --- a/core/uclibc/ppoll.patch +++ /dev/null @@ -1,59 +0,0 @@ -commit f82635e74a7e174f71f955eaa4f5dc788e596cc0 -Author: Denis Vlasenko <vda.linux@googlemail.com> -Date: Wed Jan 28 23:42:01 2009 +0000 - - fix ppoll. we forgot to pass 5th parameter to the syscall - -diff --git a/libc/sysdeps/linux/common/ppoll.c b/libc/sysdeps/linux/common/ppoll.c -index edcb1dc..d550ae8 100644 ---- a/libc/sysdeps/linux/common/ppoll.c -+++ b/libc/sysdeps/linux/common/ppoll.c -@@ -17,6 +17,7 @@ - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -+#include <signal.h> - #include <sys/syscall.h> - #include <sys/poll.h> - -@@ -26,24 +27,26 @@ - - # define __NR___libc_ppoll __NR_ppoll - static __always_inline --_syscall4(int, __libc_ppoll, struct pollfd *, fds, -- nfds_t, nfds, const struct timespec *, timeout, -- const __sigset_t *, sigmask) -+_syscall5(int, __libc_ppoll, -+ struct pollfd *, fds, -+ nfds_t, nfds, -+ const struct timespec *, timeout, -+ const __sigset_t *, sigmask, -+ size_t, sigsetsize) - - int --ppoll (struct pollfd *fds, nfds_t nfds, const struct timespec *timeout, -+ppoll(struct pollfd *fds, nfds_t nfds, const struct timespec *timeout, - const __sigset_t *sigmask) - { -- /* The Linux kernel can in some situations update the timeout value. -- We do not want that so use a local variable. */ -- struct timespec tval; -- if (timeout != NULL) -- { -- tval = *timeout; -- timeout = &tval; -- } -- -- return __libc_ppoll(fds, nfds, timeout, sigmask); -+ /* The Linux kernel can in some situations update the timeout value. -+ We do not want that so use a local variable. */ -+ struct timespec tval; -+ if (timeout != NULL) { -+ tval = *timeout; -+ timeout = &tval; -+ } -+ -+ return __libc_ppoll(fds, nfds, timeout, sigmask, _NSIG / 8); - } - libc_hidden_def(ppoll) - diff --git a/core/uclibc/pthread-new-aliasing-fix.diff b/core/uclibc/pthread-new-aliasing-fix.diff deleted file mode 100644 index 2b2b37723a..0000000000 --- a/core/uclibc/pthread-new-aliasing-fix.diff +++ /dev/null @@ -1,147 +0,0 @@ -diff --git a/libpthread/linuxthreads/cancel.c b/libpthread/linuxthreads/cancel.c -index 3435680..1412b57 100644 ---- a/libpthread/linuxthreads/cancel.c -+++ b/libpthread/linuxthreads/cancel.c -@@ -152,8 +152,8 @@ void pthread_testcancel(void) - __pthread_do_exit(PTHREAD_CANCELED, CURRENT_STACK_FRAME); - } - --void _pthread_cleanup_push(struct _pthread_cleanup_buffer * buffer, -- void (*routine)(void *), void * arg) -+void __pthread_cleanup_push(struct _pthread_cleanup_buffer * buffer, -+ void (*routine)(void *), void * arg) - { - pthread_descr self = thread_self(); - buffer->__routine = routine; -@@ -163,17 +163,19 @@ void _pthread_cleanup_push(struct _pthread_cleanup_buffer * buffer, - buffer->__prev = NULL; - THREAD_SETMEM(self, p_cleanup, buffer); - } -+strong_alias(__pthread_cleanup_push, _pthread_cleanup_push); - --void _pthread_cleanup_pop(struct _pthread_cleanup_buffer * buffer, -- int execute) -+void __pthread_cleanup_pop(struct _pthread_cleanup_buffer * buffer, -+ int execute) - { - pthread_descr self = thread_self(); - if (execute) buffer->__routine(buffer->__arg); - THREAD_SETMEM(self, p_cleanup, buffer->__prev); - } -+strong_alias(__pthread_cleanup_pop, _pthread_cleanup_pop); - --void _pthread_cleanup_push_defer(struct _pthread_cleanup_buffer * buffer, -- void (*routine)(void *), void * arg) -+void __pthread_cleanup_push_defer(struct _pthread_cleanup_buffer * buffer, -+ void (*routine)(void *), void * arg) - { - pthread_descr self = thread_self(); - buffer->__routine = routine; -@@ -185,9 +187,10 @@ void _pthread_cleanup_push_defer(struct _pthread_cleanup_buffer * buffer, - THREAD_SETMEM(self, p_canceltype, PTHREAD_CANCEL_DEFERRED); - THREAD_SETMEM(self, p_cleanup, buffer); - } -+strong_alias(__pthread_cleanup_push_defer, _pthread_cleanup_push_defer); - --void _pthread_cleanup_pop_restore(struct _pthread_cleanup_buffer * buffer, -- int execute) -+void __pthread_cleanup_pop_restore(struct _pthread_cleanup_buffer * buffer, -+ int execute) - { - pthread_descr self = thread_self(); - if (execute) buffer->__routine(buffer->__arg); -@@ -198,6 +201,7 @@ void _pthread_cleanup_pop_restore(struct _pthread_cleanup_buffer * buffer, - THREAD_GETMEM(self, p_canceltype) == PTHREAD_CANCEL_ASYNCHRONOUS) - __pthread_do_exit(PTHREAD_CANCELED, CURRENT_STACK_FRAME); - } -+strong_alias(__pthread_cleanup_pop_restore, _pthread_cleanup_pop_restore); - - extern void __rpc_thread_destroy(void); - void __pthread_perform_cleanup(char *currentframe) -diff --git a/libpthread/linuxthreads/forward.c b/libpthread/linuxthreads/forward.c -index f9f8ea1..385e79f 100644 ---- a/libpthread/linuxthreads/forward.c -+++ b/libpthread/linuxthreads/forward.c -@@ -24,6 +24,10 @@ - /* psm: keep this before internals.h */ - /* libc_hidden_proto(exit) */ - -+#define hidden_strong_alias(name, aliasname) \ -+ extern __typeof (name) aliasname __attribute__ ((alias (#name), \ -+ visibility ("hidden"))); -+ - #include "internals.h" - - /* Pointers to the libc functions. */ -@@ -104,8 +108,7 @@ FORWARD (pthread_equal, (pthread_t thread1, pthread_t thread2), - - /* Use an alias to avoid warning, as pthread_exit is declared noreturn. */ - FORWARD2 (__pthread_exit, void, (void *retval), (retval), exit (EXIT_SUCCESS)) --strong_alias (__pthread_exit, pthread_exit) -- -+hidden_strong_alias (__pthread_exit, pthread_exit) - - FORWARD (pthread_getschedparam, - (pthread_t target_thread, int *policy, struct sched_param *param), -@@ -120,16 +123,16 @@ FORWARD (pthread_mutex_destroy, (pthread_mutex_t *mutex), (mutex), 0) - FORWARD (pthread_mutex_init, - (pthread_mutex_t *mutex, const pthread_mutexattr_t *mutexattr), - (mutex, mutexattr), 0) --strong_alias(pthread_mutex_init, __pthread_mutex_init) -+hidden_strong_alias(pthread_mutex_init, __pthread_mutex_init) - - FORWARD (pthread_mutex_lock, (pthread_mutex_t *mutex), (mutex), 0) --strong_alias(pthread_mutex_lock, __pthread_mutex_lock) -+hidden_strong_alias(pthread_mutex_lock, __pthread_mutex_lock) - - FORWARD (pthread_mutex_trylock, (pthread_mutex_t *mutex), (mutex), 0) --strong_alias(pthread_mutex_trylock, __pthread_mutex_trylock) -+hidden_strong_alias(pthread_mutex_trylock, __pthread_mutex_trylock) - - FORWARD (pthread_mutex_unlock, (pthread_mutex_t *mutex), (mutex), 0) --strong_alias(pthread_mutex_unlock, __pthread_mutex_unlock) -+hidden_strong_alias(pthread_mutex_unlock, __pthread_mutex_unlock) - - FORWARD2 (pthread_self, pthread_t, (void), (), return 0) - -diff --git a/libpthread/linuxthreads/internals.h b/libpthread/linuxthreads/internals.h -index eb0a519..4ad6a0d 100644 ---- a/libpthread/linuxthreads/internals.h -+++ b/libpthread/linuxthreads/internals.h -@@ -380,6 +380,17 @@ extern int __pthread_setschedparam (pthread_t thread, int policy, - extern int __pthread_setcancelstate (int state, int * oldstate); - extern int __pthread_setcanceltype (int type, int * oldtype); - -+extern void __pthread_cleanup_push (struct _pthread_cleanup_buffer *__buffer, -+ void (*__routine) (void *), -+ void *__arg) __THROW; -+extern void __pthread_cleanup_pop (struct _pthread_cleanup_buffer *__buffer, -+ int __execute) __THROW; -+extern void __pthread_cleanup_push_defer (struct _pthread_cleanup_buffer *__buffer, -+ void (*__routine) (void *), -+ void *__arg) __THROW; -+extern void __pthread_cleanup_pop_restore (struct _pthread_cleanup_buffer *__buffer, -+ int __execute) __THROW; -+ - extern void __pthread_restart_old(pthread_descr th); - extern void __pthread_suspend_old(pthread_descr self); - extern int __pthread_timedsuspend_old(pthread_descr self, const struct timespec *abstime); -diff --git a/libpthread/linuxthreads/pthread.c b/libpthread/linuxthreads/pthread.c -index 4d1d906..012b74b 100644 ---- a/libpthread/linuxthreads/pthread.c -+++ b/libpthread/linuxthreads/pthread.c -@@ -280,10 +280,10 @@ struct pthread_functions __pthread_functions = - .ptr_pthread_sigaction = __pthread_sigaction, - .ptr_pthread_sigwait = __pthread_sigwait, - .ptr_pthread_raise = __pthread_raise, -- .ptr__pthread_cleanup_push = _pthread_cleanup_push, -- .ptr__pthread_cleanup_push_defer = _pthread_cleanup_push_defer, -- .ptr__pthread_cleanup_pop = _pthread_cleanup_pop, -- .ptr__pthread_cleanup_pop_restore = _pthread_cleanup_pop_restore, -+ .ptr__pthread_cleanup_push = __pthread_cleanup_push, -+ .ptr__pthread_cleanup_push_defer = __pthread_cleanup_push_defer, -+ .ptr__pthread_cleanup_pop = __pthread_cleanup_pop, -+ .ptr__pthread_cleanup_pop_restore = __pthread_cleanup_pop_restore, - }; - #ifdef SHARED - # define ptr_pthread_functions &__pthread_functions diff --git a/core/uclibc/uclibc-0.9.30.1-pthread_getattr_np.patch b/core/uclibc/uclibc-0.9.30.1-pthread_getattr_np.patch deleted file mode 100644 index 28469be236..0000000000 --- a/core/uclibc/uclibc-0.9.30.1-pthread_getattr_np.patch +++ /dev/null @@ -1,137 +0,0 @@ ---- uClibc-0.9.30.1.orig/libpthread/linuxthreads.old/sysdeps/pthread/pthread.h 2009-03-30 15:01:48.000000000 +0000 -+++ uClibc-0.9.30.1/libpthread/linuxthreads.old/sysdeps/pthread/pthread.h 2009-03-30 15:48:16.000000000 +0000 -@@ -288,16 +288,12 @@ - __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 uninitialized 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 --#endif - - /* Functions for scheduling control. */ - -@@ -599,6 +595,11 @@ - 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 ---- a/libpthread/linuxthreads.old/attr.c.orig 2007-11-22 16:55:08.000000000 +0000 -+++ b/libpthread/linuxthreads.old/attr.c 2009-03-30 19:15:51.000000000 +0000 -@@ -38,6 +38,14 @@ - libpthread_hidden_proto(pthread_attr_getscope) - libpthread_hidden_proto(pthread_attr_setscope) - -+#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. */ -@@ -235,4 +243,88 @@ - *stacksize = attr->__stacksize; - return 0; - } -+ -+ -+extern int *__libc_stack_end; -+ - weak_alias (__pthread_attr_getstacksize, pthread_attr_getstacksize) -+int 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); -+ } -+ return ret; -+} -+ -+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) diff --git a/core/uclibc/uclibc-0.9.30.1-resolv.patch b/core/uclibc/uclibc-0.9.30.1-resolv.patch deleted file mode 100644 index 55b7d991e1..0000000000 --- a/core/uclibc/uclibc-0.9.30.1-resolv.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -ru uClibc-0.9.30.1.orig/libc/inet/resolv.c uClibc-0.9.30.1/libc/inet/resolv.c ---- uClibc-0.9.30.1.orig/libc/inet/resolv.c 2009-03-10 15:32:14.000000000 +0000 -+++ uClibc-0.9.30.1/libc/inet/resolv.c 2009-03-10 15:39:20.000000000 +0000 -@@ -1331,7 +1331,8 @@ - i = __dns_lookup(dname, type, __nameserversXX, __nameserverXX, &packet, &a); - - if (i < 0) { -- h_errno = TRY_AGAIN; -+ if (!h_errno) /* TODO: can this ever happen? */ -+ h_errno = TRY_AGAIN; - return -1; - } - diff --git a/core/uclibc/uclibc-fork-hook.diff b/core/uclibc/uclibc-fork-hook.diff deleted file mode 100644 index 0126918836..0000000000 --- a/core/uclibc/uclibc-fork-hook.diff +++ /dev/null @@ -1,36 +0,0 @@ -diff --git a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/fork.c b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/fork.c -index e15b99b..70c750d 100644 ---- a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/fork.c -+++ b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/fork.c -@@ -20,6 +20,7 @@ - #include <errno.h> - #include <fork.h> - #include <bits/libc-lock.h> -+#include <internals.h> - - struct fork_block __fork_block = - { -@@ -28,3 +29,12 @@ struct fork_block __fork_block = - .parent_list = { &__fork_block.parent_list, &__fork_block.parent_list }, - .child_list = { &__fork_block.child_list, &__fork_block.child_list } - }; -+ -+pid_t -+__libc_fork (void) -+{ -+ return __libc_maybe_call2 (pthread_fork, (&__fork_block), ARCH_FORK ()); -+} -+weak_alias (__libc_fork, __fork) -+libc_hidden_def (__fork) -+weak_alias (__libc_fork, fork) -diff --git a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/fork.h b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/fork.h -index 85477eb..1e7379e 100644 ---- a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/fork.h -+++ b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/fork.h -@@ -54,5 +54,5 @@ extern int __register_atfork (void (*__prepare) (void), - void *dso_handle); - - #ifndef ARCH_FORK --# define ARCH_FORK() __libc_fork() -+# define ARCH_FORK() INLINE_SYSCALL (fork, 0) - #endif diff --git a/core/uclibc/uclibc-i386-floating-stacks.diff b/core/uclibc/uclibc-i386-floating-stacks.diff deleted file mode 100644 index 553195e69f..0000000000 --- a/core/uclibc/uclibc-i386-floating-stacks.diff +++ /dev/null @@ -1,23 +0,0 @@ ---- uClibc-0.9.30.1/libpthread/linuxthreads/sysdeps/i386/pt-machine.h Thu Sep 25 13:55:14 2008 -+++ /root/uClibc-0.9.30.1-patched/libpthread/linuxthreads/sysdeps/i386/pt-machine.h Wed Jun 24 13:13:31 2009 -@@ -113,6 +113,8 @@ - } - #endif /* __ASSEMBLER__ */ - -+#include "./useldt.h" -+ - #endif /* pt-machine.h */ - - #endif ---- uClibc-0.9.30.1/libpthread/linuxthreads/sysdeps/i386/useldt.h Tue May 15 00:35:00 2007 -+++ /root/uClibc-0.9.30.1-patched/libpthread/linuxthreads/sysdeps/i386/useldt.h Wed Jun 24 13:22:38 2009 -@@ -23,7 +23,8 @@ - #include <stddef.h> /* For offsetof. */ - #include <stdlib.h> /* For abort(). */ - #include <sysdep.h> -- -+#include <sys/syscall.h> -+#include <kernel-features.h> - - /* We don't want to include the kernel header. So duplicate the - information. */ diff --git a/core/uclibc/uclibc-resolv-cname-fix.diff b/core/uclibc/uclibc-resolv-cname-fix.diff deleted file mode 100644 index 041e150f35..0000000000 --- a/core/uclibc/uclibc-resolv-cname-fix.diff +++ /dev/null @@ -1,16 +0,0 @@ ---- a/libc/inet/resolv.c.orig 2009-06-18 09:38:26.000000000 +0300 -+++ b/libc/inet/resolv.c 2009-06-18 09:38:32.000000000 +0300 -@@ -1337,10 +1337,9 @@ int res_query(const char *dname, int cla - - free(a.dotted); - -- if (a.atype == type) { /* CNAME */ -- i = MIN(anslen, i); -- memcpy(answer, packet, i); -- } -+ i = MIN(anslen, i); -+ memcpy(answer, packet, i); -+ - free(packet); - return i; - } diff --git a/core/uclibc/uclibcconfig b/core/uclibc/uclibcconfig deleted file mode 100644 index 8cc64d90a8..0000000000 --- a/core/uclibc/uclibcconfig +++ /dev/null @@ -1,246 +0,0 @@ -# -# Automatically generated make config: don't edit -# Version: 0.9.30.1 -# Mon Jun 15 09:42:10 2009 -# -# 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=y -# 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_xtensa is not set - -# -# Target Architecture Features and Options -# -TARGET_ARCH="i386" -FORCE_OPTIONS_FOR_ARCH=y -# CONFIG_GENERIC_386 is not set -# CONFIG_386 is not set -CONFIG_486=y -# CONFIG_586 is not set -# CONFIG_586MMX is not set -# CONFIG_686 is not set -# CONFIG_PENTIUMII is not set -# CONFIG_PENTIUMIII is not set -# CONFIG_PENTIUM4 is not set -# CONFIG_K6 is not set -# CONFIG_K7 is not set -# CONFIG_ELAN is not set -# CONFIG_CRUSOE is not set -# CONFIG_WINCHIPC6 is not set -# CONFIG_WINCHIP2 is not set -# CONFIG_CYRIXIII is not set -# CONFIG_NEHEMIAH is not set -TARGET_SUBARCH="" - -# -# Using ELF file format -# -ARCH_LITTLE_ENDIAN=y - -# -# Using Little Endian -# -ARCH_HAS_MMU=y -ARCH_USE_MMU=y -UCLIBC_HAS_FLOATS=y -UCLIBC_HAS_FPU=y -DO_C99_MATH=y -UCLIBC_HAS_FENV=y -UCLIBC_HAS_LONG_DOUBLE_MATH=y -KERNEL_HEADERS="/usr/include" -HAVE_DOT_CONFIG=y - -# -# General Library Settings -# -# HAVE_NO_PIC is not set -DOPIC=y -# ARCH_HAS_NO_SHARED is not set -# ARCH_HAS_NO_LDSO is not set -HAVE_SHARED=y -FORCE_SHAREABLE_TEXT_SEGMENTS=y -LDSO_LDD_SUPPORT=y -LDSO_CACHE_SUPPORT=y -# LDSO_PRELOAD_FILE_SUPPORT is not set -LDSO_BASE_FILENAME="ld.so" -UCLIBC_STATIC_LDCONFIG=y -LDSO_RUNPATH=y -UCLIBC_CTOR_DTOR=y -# LDSO_GNU_HASH_SUPPORT is not set -# HAS_NO_THREADS is not set -UCLIBC_HAS_THREADS=y -# PTHREADS_DEBUG_SUPPORT is not set -# LINUXTHREADS_OLD is not set -LINUXTHREADS_NEW=y -UCLIBC_HAS_SYSLOG=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=y -UCLIBC_SUSV3_LEGACY=y -UCLIBC_SUSV3_LEGACY_MACROS=y -# UCLIBC_HAS_STUBS is not set -UCLIBC_HAS_SHADOW=y -UCLIBC_HAS_PROGRAM_INVOCATION_NAME=y -UCLIBC_HAS___PROGNAME=y -UCLIBC_HAS_PTY=y -ASSUME_DEVPTS=y -UNIX98PTY_ONLY=y -# UCLIBC_HAS_GETPT is not set -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 - -# -# Support various families of functions -# -UCLIBC_LINUX_MODULE_24=y -UCLIBC_LINUX_SPECIFIC=y -UCLIBC_HAS_GNU_ERROR=y -UCLIBC_BSD_SPECIFIC=y -UCLIBC_HAS_BSD_ERR=y -UCLIBC_HAS_OBSOLETE_BSD_SIGNAL=y -UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL=y -# UCLIBC_NTP_LEGACY is not set -UCLIBC_SV4_DEPRECATED=y -UCLIBC_HAS_REALTIME=y -UCLIBC_HAS_ADVANCED_REALTIME=y -UCLIBC_HAS_EPOLL=y -UCLIBC_HAS_XATTR=y -UCLIBC_HAS_PROFILING=y -UCLIBC_HAS_CRYPT_IMPL=y -UCLIBC_HAS_CRYPT=y -UCLIBC_HAS_NETWORK_SUPPORT=y -UCLIBC_HAS_SOCKET=y -UCLIBC_HAS_IPV4=y -UCLIBC_HAS_IPV6=y -UCLIBC_HAS_RPC=y -UCLIBC_HAS_FULL_RPC=y -UCLIBC_HAS_REENTRANT_RPC=y -UCLIBC_USE_NETLINK=y -UCLIBC_SUPPORT_AI_ADDRCONFIG=y -UCLIBC_HAS_BSD_RES_CLOSE=y - -# -# 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=y -# UCLIBC_HAS_LOCALE is not set -UCLIBC_HAS_HEXADECIMAL_FLOATS=y -UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y -UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9 -# UCLIBC_HAS_SCANF_GLIBC_A_FLAG is not set -# 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_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=y -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" - -# -# Security options -# -UCLIBC_BUILD_PIE=y -UCLIBC_HAS_ARC4RANDOM=y -# HAVE_NO_SSP is not set -UCLIBC_HAS_SSP=y -UCLIBC_HAS_SSP_COMPAT=y -# SSP_QUICK_CANARY is not set -# PROPOLICE_BLOCK_ABRT is not set -PROPOLICE_BLOCK_SEGV=y -UCLIBC_BUILD_SSP=y -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 -# DOSTRIP is not set -# 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 |