svn commit: branches/uClibc-nptl: extra/Configs include ldso/ldso ldso/li etc...

sjhill at uclibc.org sjhill at uclibc.org
Tue Sep 13 02:37:45 UTC 2005


Author: sjhill
Date: 2005-09-12 19:37:42 -0700 (Mon, 12 Sep 2005)
New Revision: 11444

Log:
Finish merge from trunk.


Added:
   branches/uClibc-nptl/libc/sysdeps/linux/i386/mmap.S

Modified:
   branches/uClibc-nptl/Rules.mak
   branches/uClibc-nptl/extra/Configs/Config.in
   branches/uClibc-nptl/include/dlfcn.h
   branches/uClibc-nptl/ldso/ldso/Makefile
   branches/uClibc-nptl/ldso/ldso/ldso.c
   branches/uClibc-nptl/ldso/libdl/libdl.c
   branches/uClibc-nptl/libc/misc/internals/__uClibc_main.c
   branches/uClibc-nptl/libc/stdlib/atexit.c
   branches/uClibc-nptl/libc/sysdeps/linux/common/mmap.c
   branches/uClibc-nptl/libc/sysdeps/linux/i386/Makefile


Changeset:
Modified: branches/uClibc-nptl/Rules.mak
===================================================================
--- branches/uClibc-nptl/Rules.mak	2005-09-13 02:29:39 UTC (rev 11443)
+++ branches/uClibc-nptl/Rules.mak	2005-09-13 02:37:42 UTC (rev 11444)
@@ -111,7 +111,8 @@
 TARGET_ARCH:=$(shell grep -s ^TARGET_ARCH $(TOPDIR)/.config | sed -e 's/^TARGET_ARCH=//' -e 's/"//g')
 RUNTIME_PREFIX:=$(strip $(subst //,/, $(subst ,/, $(subst ",, $(strip $(RUNTIME_PREFIX))))))
 DEVEL_PREFIX:=$(strip $(subst //,/, $(subst ,/, $(subst ",, $(strip $(DEVEL_PREFIX))))))
-export RUNTIME_PREFIX DEVEL_PREFIX
+KERNEL_SOURCE:=$(strip $(subst //,/, $(subst ,/, $(subst ",, $(strip $(KERNEL_SOURCE))))))
+export RUNTIME_PREFIX DEVEL_PREFIX KERNEL_SOURCE
 
 ARFLAGS:=cr
 
@@ -373,10 +374,6 @@
     CFLAGS += $(PICFLAG)
 endif
 
-ifeq ($(DL_FINI_CRT_COMPAT),y)
-CFLAGS += -D_DL_FINI_CRT_COMPAT
-endif
-
 # Keep the check_as from being needlessly executed
 ASFLAGS = $(CFLAGS)
 ifndef ASFLAGS_NOEXEC

Modified: branches/uClibc-nptl/extra/Configs/Config.in
===================================================================
--- branches/uClibc-nptl/extra/Configs/Config.in	2005-09-13 02:29:39 UTC (rev 11443)
+++ branches/uClibc-nptl/extra/Configs/Config.in	2005-09-13 02:37:42 UTC (rev 11444)
@@ -277,13 +277,6 @@
 	  Usage of RUNPATH tags is not too common, so disabling this feature 
 	  should be safe for most people.
 
-config DL_FINI_CRT_COMPAT
-	bool "uClibc 0.9.27 compatibility"
-	default n
-	help
-	  Allows to update a 0.9.27 based system to new crt/fini handling.
-	  After rebuilding all apps, this option can be disabled.
-
 config UCLIBC_CTOR_DTOR
 	bool "Support global constructors and destructors"
 	default y

Modified: branches/uClibc-nptl/include/dlfcn.h
===================================================================
--- branches/uClibc-nptl/include/dlfcn.h	2005-09-13 02:29:39 UTC (rev 11443)
+++ branches/uClibc-nptl/include/dlfcn.h	2005-09-13 02:37:42 UTC (rev 11444)
@@ -1,5 +1,5 @@
 /* User functions for run-time dynamic loading.
-   Copyright (C) 1995-1999, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1995-1999,2000,2001,2003,2004 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
@@ -49,18 +49,30 @@
 
 /* Unmap and close a shared object opened by `dlopen'.
    The handle cannot be used again after calling `dlclose'.  */
-extern int dlclose (void *__handle) __THROW;
+extern int dlclose (void *__handle) __THROW __nonnull ((1));
 
 /* Find the run-time address in the shared object HANDLE refers to
    of the symbol called NAME.  */
 extern void *dlsym (void *__restrict __handle,
-		    __const char *__restrict __name) __THROW;
+		    __const char *__restrict __name) __THROW __nonnull ((2));
 
+#if 0
+#ifdef __USE_GNU
+/* Find the run-time address in the shared object HANDLE refers to
+   of the symbol called NAME with VERSION.  */
+extern void *dlvsym (void *__restrict __handle,
+		     __const char *__restrict __name,
+		     __const char *__restrict __version)
+     __THROW __nonnull ((2, 3));
+#endif
+#endif
+
 /* When any of the above functions fails, call this function
    to return a string describing the error.  Each call resets
    the error string so that a following call returns null.  */
 extern char *dlerror (void) __THROW;
 
+
 #ifdef __USE_GNU
 /* Structure containing information about object searched using
    `dladdr'.  */
@@ -74,7 +86,8 @@
 
 /* Fill in *INFO with the following information about ADDRESS.
    Returns 0 iff no shared object's segments contain that address.  */
-extern int dladdr (const void *__address, Dl_info *__info) __THROW;
+extern int dladdr (__const void *__address, Dl_info *__info)
+     __THROW __nonnull ((2));
 
 /* Get information about the shared objects currently loaded */
 extern int dlinfo (void);

Modified: branches/uClibc-nptl/ldso/ldso/Makefile
===================================================================
--- branches/uClibc-nptl/ldso/ldso/Makefile	2005-09-13 02:29:39 UTC (rev 11443)
+++ branches/uClibc-nptl/ldso/ldso/Makefile	2005-09-13 02:37:42 UTC (rev 11444)
@@ -28,9 +28,6 @@
 endif
 
 XXFLAGS=$(XWARNINGS) $(SSP_DISABLE_FLAGS)
-ifeq ($(DL_FINI_CRT_COMPAT),y)
-XXFLAGS+=-D_DL_FINI_CRT_COMPAT
-endif
 
 ifeq ($(DODEBUG),y)
 # Not really much point in including debugging info, since gdb

Modified: branches/uClibc-nptl/ldso/ldso/ldso.c
===================================================================
--- branches/uClibc-nptl/ldso/ldso/ldso.c	2005-09-13 02:29:39 UTC (rev 11443)
+++ branches/uClibc-nptl/ldso/ldso/ldso.c	2005-09-13 02:37:42 UTC (rev 11444)
@@ -768,17 +768,7 @@
 			(*dl_elf_func) ();
 		}
 	}
-#ifdef _DL_FINI_CRT_COMPAT
-	/* arches that have moved their ldso FINI handling should skip this part */
-	{
-		int (*_dl_atexit) (void *) = (int (*)(void *)) (intptr_t) _dl_find_hash("atexit",
-				_dl_symbol_tables, NULL, ELF_RTYPE_CLASS_PLT);
 
-		if (_dl_atexit)
-			(*_dl_atexit) (_dl_fini);
-	}
-#endif
-
 	/* Find the real malloc function and make ldso functions use that from now on */
 	 _dl_malloc_function = (void* (*)(size_t)) (intptr_t) _dl_find_hash("malloc",
 			 _dl_symbol_tables, NULL, ELF_RTYPE_CLASS_PLT);

Modified: branches/uClibc-nptl/ldso/libdl/libdl.c
===================================================================
--- branches/uClibc-nptl/ldso/libdl/libdl.c	2005-09-13 02:29:39 UTC (rev 11443)
+++ branches/uClibc-nptl/ldso/libdl/libdl.c	2005-09-13 02:37:42 UTC (rev 11444)
@@ -450,6 +450,13 @@
 	return ret;
 }
 
+#if 0
+void *dlvsym(void *vhandle, const char *name, const char *version)
+{
+	return dlsym(vhandle, name);
+}
+#endif
+
 static int do_dlclose(void *vhandle, int need_fini)
 {
 	struct dyn_elf *rpnt, *rpnt1, *rpnt1_tmp;

Modified: branches/uClibc-nptl/libc/misc/internals/__uClibc_main.c
===================================================================
--- branches/uClibc-nptl/libc/misc/internals/__uClibc_main.c	2005-09-13 02:29:39 UTC (rev 11443)
+++ branches/uClibc-nptl/libc/misc/internals/__uClibc_main.c	2005-09-13 02:37:42 UTC (rev 11444)
@@ -266,13 +266,3 @@
      */
     exit(main(argc, argv, __environ));
 }
-
-#ifdef _DL_FINI_CRT_COMPAT
-extern int weak_function main(int argc, char **argv, char **envp);
-void __attribute__ ((__noreturn__))
-__uClibc_start_main(int argc, char **argv, char **envp,
-		    void (*app_fini)(void), void (*app_init)(void))
-{
-	__uClibc_main(main, argc, argv, app_init, app_fini, NULL, NULL);
-}
-#endif

Modified: branches/uClibc-nptl/libc/stdlib/atexit.c
===================================================================
--- branches/uClibc-nptl/libc/stdlib/atexit.c	2005-09-13 02:29:39 UTC (rev 11443)
+++ branches/uClibc-nptl/libc/stdlib/atexit.c	2005-09-13 02:37:42 UTC (rev 11444)
@@ -223,6 +223,7 @@
 #endif
 
 extern void (*__rtld_fini)(void);
+
 /*
  * Normal program termination
  */
@@ -239,10 +240,8 @@
 	if (__app_fini != NULL)
 		(__app_fini)();
 #endif
-#ifndef _DL_FINI_CRT_COMPAT
 	if (__rtld_fini != NULL)
 		(__rtld_fini)();
-#endif
 
     /* If we are using stdio, try to shut it down.  At the very least,
 	 * this will attempt to commit all buffered writes.  It may also

Modified: branches/uClibc-nptl/libc/sysdeps/linux/common/mmap.c
===================================================================
--- branches/uClibc-nptl/libc/sysdeps/linux/common/mmap.c	2005-09-13 02:29:39 UTC (rev 11443)
+++ branches/uClibc-nptl/libc/sysdeps/linux/common/mmap.c	2005-09-13 02:37:42 UTC (rev 11444)
@@ -13,7 +13,7 @@
 
 #ifdef __NR_mmap
 #define __NR__mmap __NR_mmap
-_syscall1(__ptr_t, _mmap, unsigned long *, buffer);
+static inline _syscall1(__ptr_t, _mmap, unsigned long *, buffer);
 __ptr_t mmap(__ptr_t addr, size_t len, int prot,
 			 int flags, int fd, __off_t offset)
 {

Modified: branches/uClibc-nptl/libc/sysdeps/linux/i386/Makefile
===================================================================
--- branches/uClibc-nptl/libc/sysdeps/linux/i386/Makefile	2005-09-13 02:29:39 UTC (rev 11443)
+++ branches/uClibc-nptl/libc/sysdeps/linux/i386/Makefile	2005-09-13 02:37:42 UTC (rev 11444)
@@ -25,7 +25,7 @@
 CTOR_TARGETS=$(TOPDIR)lib/crti.o $(TOPDIR)lib/crtn.o
 
 SSRC=__longjmp.S vfork.S clone.S setjmp.S bsd-setjmp.S \
-	bsd-_setjmp.S syscall.S mmap64.S
+	bsd-_setjmp.S syscall.S mmap.S mmap64.S
 SOBJS=$(patsubst %.S,%.o, $(SSRC))
 
 CSRC=brk.c sigaction.c __syscall_error.c

Copied: branches/uClibc-nptl/libc/sysdeps/linux/i386/mmap.S (from rev 11442, trunk/uClibc/libc/sysdeps/linux/i386/mmap.S)




More information about the uClibc-cvs mailing list