svn commit: branches/uClibc-nptl: include include/sys libc/misc/utmp libc etc...

sjhill at uclibc.org sjhill at uclibc.org
Thu Dec 1 03:09:00 UTC 2005


Author: sjhill
Date: 2005-11-30 19:08:57 -0800 (Wed, 30 Nov 2005)
New Revision: 12604

Log:
Mini-merge from trunk. Not as fun as a Mini Cooper, but oh well.


Modified:
   branches/uClibc-nptl/Makerules
   branches/uClibc-nptl/include/fcntl.h
   branches/uClibc-nptl/include/sys/resource.h
   branches/uClibc-nptl/include/sys/time.h
   branches/uClibc-nptl/libc/misc/utmp/utent.c
   branches/uClibc-nptl/libc/stdlib/random.c
   branches/uClibc-nptl/libc/stdlib/random_r.c
   branches/uClibc-nptl/libc/sysdeps/linux/common/getdents.c
   branches/uClibc-nptl/libc/sysdeps/linux/common/getdents64.c
   branches/uClibc-nptl/libc/sysdeps/linux/common/mmap64.c
   branches/uClibc-nptl/libc/sysdeps/linux/hppa/bits/setjmp.h
   branches/uClibc-nptl/libc/sysdeps/linux/mips/sys/tas.h
   branches/uClibc-nptl/libpthread/linuxthreads.old/Makefile.in
   branches/uClibc-nptl/libpthread/linuxthreads.old_db/Makefile.in
   branches/uClibc-nptl/libpthread/linuxthreads_db/Makefile.in


Changeset:
Modified: branches/uClibc-nptl/Makerules
===================================================================
--- branches/uClibc-nptl/Makerules	2005-12-01 02:50:50 UTC (rev 12603)
+++ branches/uClibc-nptl/Makerules	2005-12-01 03:08:57 UTC (rev 12604)
@@ -142,13 +142,13 @@
 	$(Q)$(STRIPTOOL) -x -R .note -R .comment $@
 
 $(ldso):
-	cd $(top_builddir); $(MAKE) lib/$(patsubst %.$(MAJOR_VERSION),%,$(notdir $@))
+	@cd $(top_builddir); $(MAKE) lib/$(patsubst %.$(MAJOR_VERSION),%,$(notdir $@))
 
 $(libc):
-	cd $(top_builddir); $(MAKE) lib/$(patsubst %.$(MAJOR_VERSION),%,$(notdir $@))
+	@cd $(top_builddir); $(MAKE) lib/$(patsubst %.$(MAJOR_VERSION),%,$(notdir $@))
 
 $(headers_dep):
-	cd $(top_builddir); $(MAKE) headers
+	@cd $(top_builddir); $(MAKE) headers
 
 #ifeq ($(HAVE_ELF),y)
 CRT=crt1

Modified: branches/uClibc-nptl/include/fcntl.h
===================================================================
--- branches/uClibc-nptl/include/fcntl.h	2005-12-01 02:50:50 UTC (rev 12603)
+++ branches/uClibc-nptl/include/fcntl.h	2005-12-01 03:08:57 UTC (rev 12604)
@@ -1,4 +1,5 @@
-/* Copyright (C) 1991,1992,1994-2001,2003,2004 Free Software Foundation, Inc.
+/* Copyright (C) 1991,1992,1994-2001,2003,2004,2005
+   Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -55,6 +56,15 @@
 # define SEEK_END	2	/* Seek from end of file.  */
 #endif	/* XPG */
 
+#if 0 /*def __USE_GNU*/
+# define AT_FDCWD		-100	/* Special value used to indicate
+					   openat should use the current
+					   working directory. */
+# define AT_SYMLINK_NOFOLLOW	0x100	/* Do not follow symbolic links.  */
+# define AT_REMOVEDIR		0x200	/* Remove directory instead of
+					   unlinking file.  */
+#endif
+
 /* Do the file control operation described by CMD on FD.
    The remaining arguments are interpreted depending on CMD.
 
@@ -90,6 +100,32 @@
 extern int open64 (__const char *__file, int __oflag, ...) __nonnull ((1));
 #endif
 
+#if 0 /*def __USE_GNU*/
+/* Similar to OPEN but a relative path name is interpreted relative to
+   the directory for which FD is a descriptor.
+
+   NOTE: some other OPENAT implementation support additional functionality
+   through this interface, especially using the O_XATTR flag.  This is not
+   yet supported here.
+
+   This function is a cancellation point and therefore not marked with
+   __THROW.  */
+# ifndef __USE_FILE_OFFSET64
+extern int openat (int __fd, __const char *__file, int __oflag, ...)
+     __nonnull ((2));
+# else
+#  ifdef __REDIRECT
+extern int __REDIRECT (openat, (int __fd, __const char *__file, int __oflag,
+				...), openat64) __nonnull ((2));
+#  else
+#   define openat openat64
+#  endif
+# endif
+
+extern int openat64 (int __fd, __const char *__file, int __oflag, ...)
+     __nonnull ((2));
+#endif
+
 /* Create and open FILE, with mode MODE.  This takes an `int' MODE
    argument because that is what `mode_t' will be widened to.
 
@@ -145,8 +181,8 @@
 extern int posix_fadvise (int __fd, __off_t __offset, __off_t __len,
 			  int __advise) __THROW;
 # else
-# ifdef __REDIRECT
-extern int __REDIRECT (posix_fadvise, (int __fd, __off64_t __offset,
+# ifdef __REDIRECT_NTH
+extern int __REDIRECT_NTH (posix_fadvise, (int __fd, __off64_t __offset,
 				       __off64_t __len, int __advise),
 		       posix_fadvise64);
 # else

Modified: branches/uClibc-nptl/include/sys/resource.h
===================================================================
--- branches/uClibc-nptl/include/sys/resource.h	2005-12-01 02:50:50 UTC (rev 12603)
+++ branches/uClibc-nptl/include/sys/resource.h	2005-12-01 03:08:57 UTC (rev 12604)
@@ -51,8 +51,8 @@
 extern int getrlimit (__rlimit_resource_t __resource,
 		      struct rlimit *__rlimits) __THROW;
 #else
-# ifdef __REDIRECT
-extern int __REDIRECT (getrlimit, (__rlimit_resource_t __resource,
+# ifdef __REDIRECT_NTH
+extern int __REDIRECT_NTH (getrlimit, (__rlimit_resource_t __resource,
 				       struct rlimit *__rlimits), getrlimit64);
 # else
 #  define getrlimit getrlimit64
@@ -70,8 +70,8 @@
 extern int setrlimit (__rlimit_resource_t __resource,
 		      __const struct rlimit *__rlimits) __THROW;
 #else
-# ifdef __REDIRECT
-extern int __REDIRECT (setrlimit, (__rlimit_resource_t __resource,
+# ifdef __REDIRECT_NTH
+extern int __REDIRECT_NTH (setrlimit, (__rlimit_resource_t __resource,
 				       __const struct rlimit *__rlimits),
 			   setrlimit64);
 # else

Modified: branches/uClibc-nptl/include/sys/time.h
===================================================================
--- branches/uClibc-nptl/include/sys/time.h	2005-12-01 02:50:50 UTC (rev 12603)
+++ branches/uClibc-nptl/include/sys/time.h	2005-12-01 03:08:57 UTC (rev 12604)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-1994,96,97,98,99,2000,2001 Free Software Foundation, Inc.
+/* Copyright (C) 1991-1994,1996-2002,2003,2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -70,13 +70,14 @@
    NOTE: This form of timezone information is obsolete.
    Use the functions and variables declared in <time.h> instead.  */
 extern int gettimeofday (struct timeval *__restrict __tv,
-			 __timezone_ptr_t __tz) __THROW;
+			 __timezone_ptr_t __tz) __THROW __nonnull ((1));
 
 #ifdef __USE_BSD
 /* Set the current time of day and timezone information.
    This call is restricted to the super-user.  */
 extern int settimeofday (__const struct timeval *__tv,
-			 __const struct timezone *__tz) __THROW;
+			 __const struct timezone *__tz)
+     __THROW __nonnull ((1));
 
 /* Adjust the current time of day by the amount in DELTA.
    If OLDDELTA is not NULL, it is filled in with the amount
@@ -132,12 +133,30 @@
 		      __const struct itimerval *__restrict __new,
 		      struct itimerval *__restrict __old) __THROW;
 
-/* Change the access time of FILE to TVP[0] and
-   the modification time of FILE to TVP[1].  */
+/* Change the access time of FILE to TVP[0] and the modification time of
+   FILE to TVP[1].  If TVP is a null pointer, use the current time instead.
+   Returns 0 on success, -1 on errors.  */
 extern int utimes (__const char *__file, __const struct timeval __tvp[2])
-     __THROW;
+     __THROW __nonnull ((1));
 
+#if 0 /*def __USE_BSD*/
+/* Same as `utimes', but does not follow symbolic links.  */
+extern int lutimes (__const char *__file, __const struct timeval __tvp[2])
+     __THROW __nonnull ((1));
 
+/* Same as `utimes', but takes an open file descriptor instead of a name.  */
+extern int futimes (int __fd, __const struct timeval __tvp[2]) __THROW;
+#endif
+
+#if 0 /*def __USE_GNU*/
+/* Change the access time of FILE relative to FD to TVP[0] and the
+   modification time of FILE to TVP[1].  If TVP is a null pointer, use
+   the current time instead.  Returns 0 on success, -1 on errors.  */
+extern int futimesat (int __fd, __const char *__file,
+		      __const struct timeval __tvp[2]) __THROW;
+#endif
+
+
 #ifdef __USE_BSD
 /* Convenience macros for operations on timevals.
    NOTE: `timercmp' does not work for >= or <=.  */

Modified: branches/uClibc-nptl/libc/misc/utmp/utent.c
===================================================================
--- branches/uClibc-nptl/libc/misc/utmp/utent.c	2005-12-01 02:50:50 UTC (rev 12603)
+++ branches/uClibc-nptl/libc/misc/utmp/utent.c	2005-12-01 03:08:57 UTC (rev 12604)
@@ -108,7 +108,7 @@
 }
 
 /* Locking is done in __getutent */
-struct utmp *getutid (const struct utmp *utmp_entry)
+struct utmp attribute_hidden *__getutid (const struct utmp *utmp_entry)
 {
     struct utmp *lutmp;
 
@@ -133,6 +133,7 @@
 
     return NULL;
 }
+strong_alias(__getutid,getutid)
 
 /* Locking is done in __getutent */
 struct utmp *getutline(const struct utmp *utmp_entry)
@@ -150,6 +151,8 @@
     return NULL;
 }
 
+extern struct utmp *__getutid (__const struct utmp *__id) attribute_hidden;
+
 struct utmp *pututline (const struct utmp *utmp_entry)
 {
     LOCK;
@@ -157,7 +160,7 @@
        the file pointer where they want it, everything will work out. */
     lseek(static_fd, (off_t) - sizeof(struct utmp), SEEK_CUR);
 
-    if (getutid(utmp_entry) != NULL) {
+    if (__getutid(utmp_entry) != NULL) {
 	lseek(static_fd, (off_t) - sizeof(struct utmp), SEEK_CUR);
 	if (write(static_fd, utmp_entry, sizeof(struct utmp)) != sizeof(struct utmp))
 	    return NULL;

Modified: branches/uClibc-nptl/libc/stdlib/random.c
===================================================================
--- branches/uClibc-nptl/libc/stdlib/random.c	2005-12-01 02:50:50 UTC (rev 12603)
+++ branches/uClibc-nptl/libc/stdlib/random.c	2005-12-01 03:08:57 UTC (rev 12604)
@@ -22,6 +22,9 @@
  * Rewritten to use reentrant functions by Ulrich Drepper, 1995.
  */
 
+#define random_r __random_r
+#define srandom_r __srandom_r
+
 #define _GNU_SOURCE
 #include <features.h>
 #include <limits.h>
@@ -243,7 +246,7 @@
    rear pointers can't wrap on the same call by not testing the rear
    pointer if the front one has wrapped.  Returns a 31-bit random number.  */
 
-long int random ()
+long int attribute_hidden __random (void)
 {
   int32_t retval;
 
@@ -252,4 +255,4 @@
   __pthread_mutex_unlock(&lock);
   return retval;
 }
-
+strong_alias(__random,random)

Modified: branches/uClibc-nptl/libc/stdlib/random_r.c
===================================================================
--- branches/uClibc-nptl/libc/stdlib/random_r.c	2005-12-01 02:50:50 UTC (rev 12603)
+++ branches/uClibc-nptl/libc/stdlib/random_r.c	2005-12-01 03:08:57 UTC (rev 12604)
@@ -123,6 +123,66 @@
 
 
 
+/* If we are using the trivial TYPE_0 R.N.G., just do the old linear
+   congruential bit.  Otherwise, we do our fancy trinomial stuff, which is the
+   same in all the other cases due to all the global variables that have been
+   set up.  The basic operation is to add the number at the rear pointer into
+   the one at the front pointer.  Then both pointers are advanced to the next
+   location cyclically in the table.  The value returned is the sum generated,
+   reduced to 31 bits by throwing away the "least random" low bit.
+   Note: The code takes advantage of the fact that both the front and
+   rear pointers can't wrap on the same call by not testing the rear
+   pointer if the front one has wrapped.  Returns a 31-bit random number.  */
+
+int attribute_hidden __random_r(struct random_data *buf, int32_t *result)
+{
+    int32_t *state;
+
+    if (buf == NULL || result == NULL)
+	goto fail;
+
+    state = buf->state;
+
+    if (buf->rand_type == TYPE_0)
+    {
+	int32_t val = state[0];
+	val = ((state[0] * 1103515245) + 12345) & 0x7fffffff;
+	state[0] = val;
+	*result = val;
+    }
+    else
+    {
+	int32_t *fptr = buf->fptr;
+	int32_t *rptr = buf->rptr;
+	int32_t *end_ptr = buf->end_ptr;
+	int32_t val;
+
+	val = *fptr += *rptr;
+	/* Chucking least random bit.  */
+	*result = (val >> 1) & 0x7fffffff;
+	++fptr;
+	if (fptr >= end_ptr)
+	{
+	    fptr = state;
+	    ++rptr;
+	}
+	else
+	{
+	    ++rptr;
+	    if (rptr >= end_ptr)
+		rptr = state;
+	}
+	buf->fptr = fptr;
+	buf->rptr = rptr;
+    }
+    return 0;
+
+fail:
+    __set_errno (EINVAL);
+    return -1;
+}
+strong_alias(__random_r,random_r)
+
 /* Initialize the random number generator based on the given seed.  If the
    type is the trivial no-state-information type, just remember the seed.
    Otherwise, initializes state[] based on the given "seed" via a linear
@@ -131,7 +191,7 @@
    information a given number of times to get rid of any initial dependencies
    introduced by the L.C.R.N.G.  Note that the initialization of randtbl[]
    for default usage relies on values produced by this routine.  */
-int srandom_r (unsigned int seed, struct random_data *buf)
+int attribute_hidden __srandom_r (unsigned int seed, struct random_data *buf)
 {
     int type;
     int32_t *state;
@@ -176,7 +236,7 @@
     while (--kc >= 0)
     {
 	int32_t discard;
-	(void) random_r (buf, &discard);
+	(void) __random_r (buf, &discard);
     }
 
 done:
@@ -185,6 +245,7 @@
 fail:
     return -1;
 }
+strong_alias(__srandom_r,srandom_r)
 
 /* Initialize the state information in the given array of N bytes for
    future random number generation.  Based on the number of bytes we
@@ -237,7 +298,7 @@
 
     buf->state = state;
 
-    srandom_r (seed, buf);
+    __srandom_r (seed, buf);
 
     state[-1] = TYPE_0;
     if (type != TYPE_0)
@@ -301,65 +362,3 @@
     __set_errno (EINVAL);
     return -1;
 }
-
-/* If we are using the trivial TYPE_0 R.N.G., just do the old linear
-   congruential bit.  Otherwise, we do our fancy trinomial stuff, which is the
-   same in all the other cases due to all the global variables that have been
-   set up.  The basic operation is to add the number at the rear pointer into
-   the one at the front pointer.  Then both pointers are advanced to the next
-   location cyclically in the table.  The value returned is the sum generated,
-   reduced to 31 bits by throwing away the "least random" low bit.
-   Note: The code takes advantage of the fact that both the front and
-   rear pointers can't wrap on the same call by not testing the rear
-   pointer if the front one has wrapped.  Returns a 31-bit random number.  */
-
-int random_r (buf, result)
-     struct random_data *buf;
-     int32_t *result;
-{
-    int32_t *state;
-
-    if (buf == NULL || result == NULL)
-	goto fail;
-
-    state = buf->state;
-
-    if (buf->rand_type == TYPE_0)
-    {
-	int32_t val = state[0];
-	val = ((state[0] * 1103515245) + 12345) & 0x7fffffff;
-	state[0] = val;
-	*result = val;
-    }
-    else
-    {
-	int32_t *fptr = buf->fptr;
-	int32_t *rptr = buf->rptr;
-	int32_t *end_ptr = buf->end_ptr;
-	int32_t val;
-
-	val = *fptr += *rptr;
-	/* Chucking least random bit.  */
-	*result = (val >> 1) & 0x7fffffff;
-	++fptr;
-	if (fptr >= end_ptr)
-	{
-	    fptr = state;
-	    ++rptr;
-	}
-	else
-	{
-	    ++rptr;
-	    if (rptr >= end_ptr)
-		rptr = state;
-	}
-	buf->fptr = fptr;
-	buf->rptr = rptr;
-    }
-    return 0;
-
-fail:
-    __set_errno (EINVAL);
-    return -1;
-}
-

Modified: branches/uClibc-nptl/libc/sysdeps/linux/common/getdents.c
===================================================================
--- branches/uClibc-nptl/libc/sysdeps/linux/common/getdents.c	2005-12-01 02:50:50 UTC (rev 12603)
+++ branches/uClibc-nptl/libc/sysdeps/linux/common/getdents.c	2005-12-01 03:08:57 UTC (rev 12604)
@@ -26,7 +26,6 @@
 #include <unistd.h>
 #include <sys/param.h>
 #include <sys/types.h>
-#include "sysdep.h"
 #include <sys/syscall.h>
 
 

Modified: branches/uClibc-nptl/libc/sysdeps/linux/common/getdents64.c
===================================================================
--- branches/uClibc-nptl/libc/sysdeps/linux/common/getdents64.c	2005-12-01 02:50:50 UTC (rev 12603)
+++ branches/uClibc-nptl/libc/sysdeps/linux/common/getdents64.c	2005-12-01 03:08:57 UTC (rev 12604)
@@ -25,7 +25,6 @@
 #include <stdint.h>
 #include <string.h>
 #include <unistd.h>
-#include "sysdep.h"
 #include <sys/param.h>
 #include <sys/types.h>
 #include <sys/syscall.h>
@@ -110,4 +109,3 @@
     return(__getdents(fd, buf, nbytes));
 }
 #endif /* __UCLIBC_HAS_LFS__ */
-

Modified: branches/uClibc-nptl/libc/sysdeps/linux/common/mmap64.c
===================================================================
--- branches/uClibc-nptl/libc/sysdeps/linux/common/mmap64.c	2005-12-01 02:50:50 UTC (rev 12603)
+++ branches/uClibc-nptl/libc/sysdeps/linux/common/mmap64.c	2005-12-01 03:08:57 UTC (rev 12604)
@@ -22,7 +22,6 @@
 #include <features.h>
 #include <errno.h>
 #include <unistd.h>
-#include "sysdep.h"
 #include <sys/mman.h>
 
 

Modified: branches/uClibc-nptl/libc/sysdeps/linux/hppa/bits/setjmp.h
===================================================================
--- branches/uClibc-nptl/libc/sysdeps/linux/hppa/bits/setjmp.h	2005-12-01 02:50:50 UTC (rev 12603)
+++ branches/uClibc-nptl/libc/sysdeps/linux/hppa/bits/setjmp.h	2005-12-01 03:08:57 UTC (rev 12604)
@@ -40,6 +40,6 @@
 /* Test if longjmp to JMPBUF would unwind the frame containing a local
    variable at ADDRESS.  */
 #define _JMPBUF_UNWINDS(_jmpbuf, _address)				\
-     ((void *)(_address) > (void *)(_jmpbuf[JB_SP]))
+     ((void *)(_address) > (void *)(((unsigned long *) _jmpbuf)[JB_SP]))
 
 #endif	/* bits/setjmp.h */

Modified: branches/uClibc-nptl/libc/sysdeps/linux/mips/sys/tas.h
===================================================================
--- branches/uClibc-nptl/libc/sysdeps/linux/mips/sys/tas.h	2005-12-01 02:50:50 UTC (rev 12603)
+++ branches/uClibc-nptl/libc/sysdeps/linux/mips/sys/tas.h	2005-12-01 03:08:57 UTC (rev 12604)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000 Free Software Foundation, Inc.
+/* Copyright (C) 2000, 2002, 2003, 2004 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Maciej W. Rozycki <macro at ds2.pg.gda.pl>, 2000.
 
@@ -22,7 +22,6 @@
 
 #include <features.h>
 #include <sgidefs.h>
-#include <sys/sysmips.h>
 
 __BEGIN_DECLS
 
@@ -34,24 +33,26 @@
 #  define _EXTERN_INLINE extern __inline
 # endif
 
-# if (_MIPS_ISA >= _MIPS_ISA_MIPS2)
-
 _EXTERN_INLINE int
-_test_and_set (int *p, int v) __THROW
+__NTH (_test_and_set (int *p, int v))
 {
   int r, t;
 
   __asm__ __volatile__
-    ("1:\n\t"
-     "ll	%0,%3\n\t"
+    ("/* Inline test and set */\n"
+     "1:\n\t"
      ".set	push\n\t"
-     ".set	noreorder\n\t"
+#if _MIPS_SIM == _ABIO32
+     ".set	mips2\n\t"
+#endif
+     "ll	%0,%3\n\t"
+     "move	%1,%4\n\t"
      "beq	%0,%4,2f\n\t"
-     " move	%1,%4\n\t"
-     ".set	pop\n\t"
      "sc	%1,%2\n\t"
+     ".set	pop\n\t"
      "beqz	%1,1b\n"
-     "2:\n"
+     "2:\n\t"
+     "/* End test and set */"
      : "=&r" (r), "=&r" (t), "=m" (*p)
      : "m" (*p), "r" (v)
      : "memory");
@@ -59,16 +60,6 @@
   return r;
 }
 
-# else /* !(_MIPS_ISA >= _MIPS_ISA_MIPS2) */
-
-_EXTERN_INLINE int
-_test_and_set (int *p, int v) __THROW
-{
-  return sysmips (MIPS_ATOMIC_SET, (int) p, v, 0);
-}
-
-# endif /* !(_MIPS_ISA >= _MIPS_ISA_MIPS2) */
-
 #endif /* __USE_EXTERN_INLINES */
 
 __END_DECLS

Modified: branches/uClibc-nptl/libpthread/linuxthreads.old/Makefile.in
===================================================================
--- branches/uClibc-nptl/libpthread/linuxthreads.old/Makefile.in	2005-12-01 02:50:50 UTC (rev 12603)
+++ branches/uClibc-nptl/libpthread/linuxthreads.old/Makefile.in	2005-12-01 03:08:57 UTC (rev 12604)
@@ -50,7 +50,11 @@
 
 libpthread_OBJ := $(patsubst $(libpthread_DIR)/%.c,$(libpthread_OUT)/%.o,$(libpthread_SRC))
 
-libpthread-a-y += $(libpthread_OBJ)
+ifeq ($(DOPIC),y)
+libpthread-a-y  += $(libpthread_OBJ:.o=.os)
+else
+libpthread-a-y  += $(libpthread_OBJ)
+endif
 libpthread-so-y += $(libpthread_OBJ:.o=.os)
 
 libpthread-multi-y += $(libpthread_SRC)
@@ -62,7 +66,11 @@
 headers-$(UCLIBC_HAS_THREADS) += linuxthreads_headers
 headers_clean-y += linuxthreads_headers_clean
 
-$(top_builddir)lib/libpthread.so: $(libpthread_OUT)/libpthread_so.a libc-y
+ifeq ($(DOPIC),y)
+$(top_builddir)lib/libpthread.so: $(top_builddir)lib/libpthread.a $(libc)
+else
+$(top_builddir)lib/libpthread.so: $(libpthread_OUT)/libpthread_so.a $(libc)
+endif
 	$(call link.so,$(libpthread_FULL_NAME),$(MAJOR_VERSION))
 
 $(libpthread_OUT)/libpthread_so.a: $(libpthread-so-y)
@@ -74,14 +82,14 @@
 endif
 	$(do_ar)
 
-ifeq ($(DOPIC),y)
-$(top_builddir)lib/libpthread.a: $(libpthread-a-y:.o=.os)
-else
 $(top_builddir)lib/libpthread.a: $(libpthread-a-y)
-endif
 	$(Q)$(INSTALL) -d $(dir $@)
 	$(Q)$(RM) $@
+ifeq ($(PTHREADS_DEBUG_SUPPORT),y)
+	$(do_strip:-x=-X --strip-debug)
+else
 	$(do_strip)
+endif
 	$(do_ar)
 
 linuxthreads_headers:
@@ -90,9 +98,8 @@
 	$(INSTALL) -d $(top_builddir)include/bits
 	$(LN) -sf ../../$(PTDIR)/sysdeps/pthread/bits/pthreadtypes.h $(top_builddir)include/bits/
 
-
 linuxthreads_headers_clean:
-	$(RM)	$(top_builddir)include/pthread.h $(top_builddir)include/semaphore.h \
+	$(RM) $(top_builddir)include/pthread.h $(top_builddir)include/semaphore.h \
 		$(top_builddir)include/bits/pthreadtypes.h
 
 libpthread_clean:

Modified: branches/uClibc-nptl/libpthread/linuxthreads.old_db/Makefile.in
===================================================================
--- branches/uClibc-nptl/libpthread/linuxthreads.old_db/Makefile.in	2005-12-01 02:50:50 UTC (rev 12603)
+++ branches/uClibc-nptl/libpthread/linuxthreads.old_db/Makefile.in	2005-12-01 03:08:57 UTC (rev 12604)
@@ -21,12 +21,12 @@
 
 libthread_db_OBJ := $(patsubst $(libthread_db_DIR)/%.c,$(libthread_db_OUT)/%.o,$(libthread_db_SRC))
 
+libthread_db-so-y := $(libthread_db_OBJ:.o=.os)
 ifeq ($(DOPIC),y)
-libthread_db-a-y := $(libthread_db_OBJ:.o=.os)
+libthread_db-a-y  := $(libthread_db-so-y)
 else
-libthread_db-a-y := $(libthread_db_OBJ)
+libthread_db-a-y  := $(libthread_db_OBJ)
 endif
-libthread_db-so-y := $(libthread_db_OBJ:.o=.os)
 
 libthread_db-multi-y := $(libthread_db_SRC)
 

Modified: branches/uClibc-nptl/libpthread/linuxthreads_db/Makefile.in
===================================================================
--- branches/uClibc-nptl/libpthread/linuxthreads_db/Makefile.in	2005-12-01 02:50:50 UTC (rev 12603)
+++ branches/uClibc-nptl/libpthread/linuxthreads_db/Makefile.in	2005-12-01 03:08:57 UTC (rev 12604)
@@ -22,8 +22,12 @@
 
 libthread_db_OBJ := $(patsubst $(libthread_db_DIR)/%.c,$(libthread_db_OUT)/%.o,$(libthread_db_SRC))
 
-libthread_db-a-y := $(libthread_db_OBJ)
 libthread_db-so-y := $(libthread_db_OBJ:.o=.os)
+ifeq ($(DOPIC),y)
+libthread_db-a-y  := $(libthread_db-so-y)
+else
+libthread_db-a-y  := $(libthread_db_OBJ)
+endif
 
 libthread_db-multi-y := $(libthread_db_SRC)
 
@@ -33,7 +37,11 @@
 headers-$(PTHREADS_DEBUG_SUPPORT) += linuxthreads_db_headers
 headers_clean-y += linuxthreads_db_headers_clean
 
-$(top_builddir)lib/libthread_db.so: $(libthread_db_OUT)/libthread_db_so.a libc-y
+ifeq ($(DOPIC),y)
+$(top_builddir)lib/libthread_db.so: $(top_builddir)lib/libthread_db.a $(libc)
+else
+$(top_builddir)lib/libthread_db.so: $(libthread_db_OUT)/libthread_db_so.a $(libc)
+endif
 	$(call link.so,$(libthread_db_FULL_NAME),1)
 
 $(libthread_db_OUT)/libthread_db_so.a: $(libthread_db-so-y)
@@ -41,16 +49,10 @@
 	$(do_strip)
 	$(do_ar)
 
-ifeq ($(DOPIC),y)
-$(top_builddir)lib/libthread_db.a: $(libthread_db-a-y:.o=.os)
-else
-$(top_builddir)lib/libthread_db.a: $(libthread_db-a-y) $(libthread_db_OUT)/libthread_db_so.a
-endif
+$(top_builddir)lib/libthread_db.a: $(libthread_db-a-y)
 	$(Q)$(INSTALL) -d $(dir $@)
 	$(Q)$(RM) $@
-ifneq ($(DOPIC),y)
 	$(do_strip)
-endif
 	$(do_ar)
 
 linuxthreads_db_headers:



More information about the uClibc-cvs mailing list