Browse Source

pt-allocrtsig.c is irrelevant for now, remove related too, add libc_hidden_proto from old version

Peter S. Mazinger 18 years ago
parent
commit
167d569420

+ 2 - 4
libpthread/linuxthreads/Makefile.in

@@ -50,7 +50,6 @@ pthread_SRC := \
 	rwlock semaphore sighandler signals specific spinlock
 pthread_SRC := $(patsubst %,$(libpthread_DIR)/%.c,$(pthread_SRC))
 
-#libpthread_shared_SRC := pt-allocrtsig
 libpthread_static_SRC := pthread_atfork
 libpthread_SRC := $(pthread_arch_SRC) $(pthread_linux_SRC) $(pthread_sysdep_SRC) $(pthread_SRC)
 libpthread_OBJ := $(patsubst $(libpthread_DIR)/%.c,$(libpthread_OUT)/%.o,$(libpthread_SRC))
@@ -69,14 +68,13 @@ libc-static-y += $(libpthread_OUT)/libc_pthread_init.o
 libc-shared-y += $(libpthread_libc_OBJ:.o=.oS)
 
 libpthread-static-y += $(patsubst %,$(libpthread_OUT)/%.o,$(libpthread_static_SRC))
-libpthread-shared-y += $(patsubst %,$(libpthread_OUT)/%.oS,$(libpthread_shared_SRC))
 
 ifeq ($(DOPIC),y)
 libpthread-a-y  += $(libpthread_OBJ:.o=.os) $(libpthread-static-y:.o=.os)
 else
 libpthread-a-y  += $(libpthread_OBJ) $(libpthread-static-y)
 endif
-libpthread-so-y += $(libpthread_OBJ:.o=.os) $(libpthread-shared-y)
+libpthread-so-y += $(libpthread_OBJ:.o=.os)
 
 lib-a-$(UCLIBC_HAS_THREADS) += $(top_builddir)lib/libpthread.a
 lib-so-$(UCLIBC_HAS_THREADS) += $(top_builddir)lib/libpthread.so
@@ -101,7 +99,7 @@ else
 endif
 	$(do_ar)
 
-$(libpthread_OUT)/libpthread.oS: $(libpthread_SRC) $(patsubst %,$(libpthread_DIR)/%.c,$(libpthread_shared_SRC))
+$(libpthread_OUT)/libpthread.oS: $(libpthread_SRC)
 	$(Q)$(RM) $@
 	$(compile-m)
 ifeq ($(PTHREADS_DEBUG_SUPPORT),y)

+ 3 - 1
libpthread/linuxthreads/forward.c

@@ -18,9 +18,11 @@
    02111-1307 USA.  */
 
 #include <dlfcn.h>
-#include "internals.h"
 #include <stdlib.h>
 
+/* psm: keep this before internals.h */
+libc_hidden_proto(exit)
+#include "internals.h"
 
 /* Pointers to the libc functions.  */
 struct pthread_functions __libc_pthread_functions attribute_hidden;

+ 9 - 2
libpthread/linuxthreads/libc_pthread_init.c

@@ -25,6 +25,13 @@
 #endif
 #include "internals.h"
 
+#ifdef SHARED
+libc_hidden_proto(memcpy)
+#endif
+#if !(USE_TLS && HAVE___THREAD) && defined __UCLIBC_HAS_XLOCALE__
+libc_hidden_proto(uselocale)
+#endif
+
 int *
 __libc_pthread_init (functions)
      const struct pthread_functions *functions;
@@ -37,10 +44,10 @@ __libc_pthread_init (functions)
 	  sizeof (__libc_pthread_functions));
 #endif
 
-#if !(USE_TLS && HAVE___THREAD)
+#if !(USE_TLS && HAVE___THREAD) && defined __UCLIBC_HAS_XLOCALE__
   /* Initialize thread-locale current locale to point to the global one.
      With __thread support, the variable's initializer takes care of this.  */
-  __uselocale (LC_GLOBAL_LOCALE);
+  uselocale (LC_GLOBAL_LOCALE);
 #endif
 
   return &__libc_multiple_threads;

+ 4 - 1
libpthread/linuxthreads/manager.c

@@ -38,6 +38,9 @@
 #include <not-cancel.h>
 
 #define __clone clone
+#if !(USE_TLS && HAVE___THREAD) && defined __UCLIBC_HAS_XLOCALE__
+#define __uselocale(x) uselocale(x)
+#endif
 
 /* For debugging purposes put the maximum number of threads in a variable.  */
 const int __linuxthreads_pthread_threads_max = PTHREAD_THREADS_MAX;
@@ -291,7 +294,7 @@ pthread_start_thread(void *arg)
       __sched_setscheduler(THREAD_GETMEM(self, p_pid),
                            SCHED_OTHER, &default_params);
     }
-#if !(USE_TLS && HAVE___THREAD)
+#if !(USE_TLS && HAVE___THREAD) && defined __UCLIBC_HAS_XLOCALE__
   /* Initialize thread-locale current locale to point to the global one.
      With __thread support, the variable's initializer takes care of this.  */
   __uselocale (LC_GLOBAL_LOCALE);

+ 0 - 8
libpthread/linuxthreads/sysdeps/pthread/uClibc-glue.h

@@ -8,18 +8,10 @@
 #ifdef IS_IN_libpthread
 #include "kernel-features.h"
 
-#ifndef _GNU_SOURCE
-# define _GNU_SOURCE
-#endif
-
 #ifndef __GLIBC_HAVE_LONG_LONG
 # define __GLIBC_HAVE_LONG_LONG
 #endif
 
-#ifndef __UCLIBC_HAS_XLOCALE__
-# define __uselocale(x)
-#endif
-
 #define __getpagesize getpagesize
 #define __sched_get_priority_max sched_get_priority_max
 #define __sched_get_priority_min sched_get_priority_min