summary refs log tree commit diff
path: root/elf/dl-libc.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2002-11-19 19:30:55 +0000
committerUlrich Drepper <drepper@redhat.com>2002-11-19 19:30:55 +0000
commit3c857306f53bad2003c418ac79303bd65f626424 (patch)
tree953ad66e3d58df8b37bc837b7beb152b6a6392a7 /elf/dl-libc.c
parent00a9b51d9a6838499541334bd269303a3e2c0174 (diff)
downloadglibc-3c857306f53bad2003c418ac79303bd65f626424.tar.gz
glibc-3c857306f53bad2003c418ac79303bd65f626424.tar.xz
glibc-3c857306f53bad2003c418ac79303bd65f626424.zip
Update.
2002-11-19  Ulrich Drepper  <drepper@redhat.com>

	* include/dlfcn.h: __libc_dlopen is now a macro calling
	__libc_dlopen_mode with the extra parameter RTLD_LAZY.
	(__libc_dlopen_mode): New prototype.
	* elf/dl-libc.c (__libc_dlopen_mode): Renamed from __libc_dlopen.  Add
	new parameter.  Store new parameter in mode field of structure passed
	to do_dlopen.
	(struct do_dlopen_args): Add new field mode.
	(do_dlopen): Pass mode from parameter structure to _dl_open.

	* sysdeps/unix/sysv/linux/hppa/sys/ucontext.h:
	Define mcontext_t as a sigcontext.
	* manual/crypt.texi (Cryptographic Functions): Mention that
	the MD5 one-way algorithm is compatible with BSD's.
Diffstat (limited to 'elf/dl-libc.c')
-rw-r--r--elf/dl-libc.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/elf/dl-libc.c b/elf/dl-libc.c
index d69e49f359..1810b13074 100644
--- a/elf/dl-libc.c
+++ b/elf/dl-libc.c
@@ -54,6 +54,8 @@ struct do_dlopen_args
 {
   /* Argument to do_dlopen.  */
   const char *name;
+  /* Opening mode.  */
+  int mode;
 
   /* Return from do_dlopen.  */
   struct link_map *map;
@@ -75,7 +77,7 @@ do_dlopen (void *ptr)
 {
   struct do_dlopen_args *args = (struct do_dlopen_args *) ptr;
   /* Open and relocate the shared object.  */
-  args->map = _dl_open (args->name, RTLD_LAZY, NULL);
+  args->map = _dl_open (args->name, args->mode, NULL);
 }
 
 static void
@@ -97,29 +99,30 @@ do_dlclose (void *ptr)
 /* ... and these functions call dlerror_run. */
 
 void *
-__libc_dlopen (const char *__name)
+__libc_dlopen_mode (const char *name, int mode)
 {
   struct do_dlopen_args args;
-  args.name = __name;
+  args.name = name;
+  args.mode = mode;
 
   return (dlerror_run (do_dlopen, &args) ? NULL : (void *) args.map);
 }
 
 void *
-__libc_dlsym (void *__map, const char *__name)
+__libc_dlsym (void *map, const char *name)
 {
   struct do_dlsym_args args;
-  args.map = __map;
-  args.name = __name;
+  args.map = map;
+  args.name = name;
 
   return (dlerror_run (do_dlsym, &args) ? NULL
 	  : (void *) (DL_SYMBOL_ADDRESS (args.loadbase, args.ref)));
 }
 
 int
-__libc_dlclose (void *__map)
+__libc_dlclose (void *map)
 {
-  return dlerror_run (do_dlclose, __map);
+  return dlerror_run (do_dlclose, map);
 }