about summary refs log tree commit diff
path: root/nss
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1999-07-07 18:39:33 +0000
committerUlrich Drepper <drepper@redhat.com>1999-07-07 18:39:33 +0000
commit94e365c61202e2472c8aea42c7c95ce40f5b843c (patch)
tree15cf6a02604ab91d5aa1feeaeb338f0fc6b91f34 /nss
parent2556bfe6fdb5ccb4864e0249d5fdd475e4100c71 (diff)
downloadglibc-94e365c61202e2472c8aea42c7c95ce40f5b843c.tar.gz
glibc-94e365c61202e2472c8aea42c7c95ce40f5b843c.tar.xz
glibc-94e365c61202e2472c8aea42c7c95ce40f5b843c.zip
Update.
	* sysdeps/gnu/Makefile (libdl-routines): Add eval.

1999-07-06  Zack Weinberg  <zack@rabi.columbia.edu>

	* dlfcn: New directory.  Move the following files from elf:
	dladdr.c, dlclose.c, dlerror.c, dlfcn.h, dlopen.c,
	dlopenold.c, dlsym.c, dlvsym.c.
	* dlfcn/Makefile: New file.
	* dlfcn/Versions: New file.
	* dlfcn/dlsym.c: All ELF-specific code split out to new
	function _dl_sym.
	* dlfcn/dlvsym.c: All ELF-specific code split out to new
	function _dl_vsym.
	* elf/dl-sym.c: New file.  _dl_sym and _dl_vsym are
	implemented here.

	* dlfcn/dladdr.c: Remove all references to ELF data structures
	or headers.
	* dlfcn/dlclose.c: Likewise.
	* dlfcn/dlerror.c: Likewise.
	* dlfcn/dlopen.c: Likewise.
	* dlfcn/dlopenold.c: Likewise.

	* Makeconfig (dlfcn): New variable - set to `dlfcn' if elf is
	yes, empty otherwise.
	(libdl): Set to dlfcn/libdl.so or libdl.a if elf is yes,
	depending on build-shared.
	(subdirs): Add $(dlfcn).
	(rpath-dirs): Add dlfcn.
	* elf/Makefile: Remove all references to libdl or its
	components, except the ones relating to the test cases.
	(routines): Add dl-sym.
	* elf/Versions (libc): Add _dl_sym and _dl_vsym for GLIBC_2.2.
	(libdl): Delete.

	* elf/dl-close.c (_dl_close): Change argument to void *.
	* elf/dl-open.c (_dl_open): Change return type to void *.
	* elf/eval.c: Removed.
	* elf/ldsodefs.h: Move prototypes of _dl_catch_error,
	_dlerror_run, _dl_open, _dl_close, _dl_addr, and
	_dl_mcount_wrapper_check to include/dlfcn.h.  Delete
	_CALL_DL_FCT macro.
	* include/dlfcn.h: Also prototype _dl_sym and _dl_vsym here.
	Include real header from dlfcn directory.
	* include/ldsodefs.h: Removed.

	* grp/initgroups.c: Use DL_CALL_FCT not _CALL_DL_FCT.
	* nss/getXXbyYY_r.c: Likewise.
	* nss/getXXent_r.c: Likewise.
	* iconv/gconv.c: Likewise.  Don't include ldsodefs.h.
	* iconv/gconv_db.c: Likewise.  Don't include ldsodefs.h.
	* iconv/skeleton.c: Don't include ldsodefs.h.
	* nss/nsswitch.h: Don't include ldsodefs.h.  Include dlfcn.h.

1999-07-07  Ulrich Drepper  <drepper@cygnus.com>
Diffstat (limited to 'nss')
-rw-r--r--nss/getXXbyYY_r.c2
-rw-r--r--nss/getXXent_r.c8
-rw-r--r--nss/nsswitch.h3
3 files changed, 6 insertions, 7 deletions
diff --git a/nss/getXXbyYY_r.c b/nss/getXXbyYY_r.c
index 8ad4754a3b..ac10f4ea7a 100644
--- a/nss/getXXbyYY_r.c
+++ b/nss/getXXbyYY_r.c
@@ -179,7 +179,7 @@ INTERNAL (REENTRANT_NAME) (ADD_PARAMS, LOOKUP_TYPE *resbuf, char *buffer,
 
   while (no_more == 0)
     {
-      status = _CALL_DL_FCT (fct, (ADD_VARIABLES, resbuf, buffer, buflen,
+      status = DL_CALL_FCT (fct, (ADD_VARIABLES, resbuf, buffer, buflen,
 				   &errno H_ERRNO_VAR));
 
       /* The status is NSS_STATUS_TRYAGAIN and errno is ERANGE the
diff --git a/nss/getXXent_r.c b/nss/getXXent_r.c
index 42de65dea2..57bb99f081 100644
--- a/nss/getXXent_r.c
+++ b/nss/getXXent_r.c
@@ -164,7 +164,7 @@ SETFUNC_NAME (STAYOPEN)
   while (! no_more)
     {
       int is_last_nip = nip == last_nip;
-      enum nss_status status = _CALL_DL_FCT (fct, (STAYOPEN_VAR));
+      enum nss_status status = DL_CALL_FCT (fct, (STAYOPEN_VAR));
 
       no_more = __nss_next (&nip, SETFUNC_NAME_STRING, (void **) &fct,
 			    status, 0);
@@ -201,7 +201,7 @@ ENDFUNC_NAME (void)
   while (! no_more)
     {
       /* Ignore status, we force check in __NSS_NEXT.  */
-      _CALL_DL_FCT (fct, ());
+      DL_CALL_FCT (fct, ());
 
       if (nip == last_nip)
 	/* We have processed all services which were used.  */
@@ -245,7 +245,7 @@ INTERNAL (REENTRANT_GETNAME) (LOOKUP_TYPE *resbuf, char *buffer, size_t buflen,
     {
       int is_last_nip = nip == last_nip;
 
-      status = _CALL_DL_FCT (fct,
+      status = DL_CALL_FCT (fct,
 			     (resbuf, buffer, buflen, &errno H_ERRNO_VAR));
 
       /* The the status is NSS_STATUS_TRYAGAIN and errno is ERANGE the
@@ -277,7 +277,7 @@ INTERNAL (REENTRANT_GETNAME) (LOOKUP_TYPE *resbuf, char *buffer, size_t buflen,
 				      (void **) &sfct);
 
 	      if (! no_more)
-		status = _CALL_DL_FCT (sfct, (STAYOPEN_TMPVAR));
+		status = DL_CALL_FCT (sfct, (STAYOPEN_TMPVAR));
 	      else
 		status = NSS_STATUS_NOTFOUND;
 	    }
diff --git a/nss/nsswitch.h b/nss/nsswitch.h
index 9f40a9e46f..c3398d7a7e 100644
--- a/nss/nsswitch.h
+++ b/nss/nsswitch.h
@@ -26,8 +26,7 @@
 #include <nss.h>
 #include <resolv.h>
 #include <search.h>
-#include <ldsodefs.h>
-
+#include <dlfcn.h>
 
 /* Actions performed after lookup finished.  */
 typedef enum