1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-08-07 06:43:00 +03:00
* 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>
This commit is contained in:
Ulrich Drepper
1999-07-07 18:39:33 +00:00
parent 2556bfe6fd
commit 94e365c612
31 changed files with 674 additions and 367 deletions

View File

@@ -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;
}