about summary refs log tree commit diff
path: root/elf/rtld.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2000-04-15 22:26:34 +0000
committerUlrich Drepper <drepper@redhat.com>2000-04-15 22:26:34 +0000
commit145b84138f8b1fca851196451ab0f21a054ae754 (patch)
tree0e7f1c478ba1aa27bd7acd4fbbf7b99471e5c14a /elf/rtld.c
parent29094e48802f69927d59b5edf5afc90ec222c8b9 (diff)
downloadglibc-145b84138f8b1fca851196451ab0f21a054ae754.tar.gz
glibc-145b84138f8b1fca851196451ab0f21a054ae754.tar.xz
glibc-145b84138f8b1fca851196451ab0f21a054ae754.zip
Update.
	* elf/dl-version.c (_dl_check_map_versions): New argument trace_mode.
	Before testing versions check that we actually loaded the object
	and whether we are in trace mode.  If not loaded during tracing don't
	test versions in this object.
	(_dl_check_all_versions): Take new parameter and pass to
	_dl_check_map_versions.
	* sysdeps/generic/ldsodefs.h: Update prototypes for
	_dl_check_all_versions and _dl_check_map_versions.
	* elf/rtld.c (struct version_check_args): Add dotrace.
	(version_check_doit): Pass args->dotrace to _dl_check_all_versions.
	(dl_main): Pass info about trace mode to version_check_doit.
	* elf/dl-open.c (dl_open_worker): Pass zero as new argument to
	_dl_check_all_versions.

	* manual/users.texi (XPG Functions): Document utmpxname, getutmp,
	and getutmpx.
	Patch by Bryan Henderson <bryanh@giraffe-data.com>.
Diffstat (limited to 'elf/rtld.c')
-rw-r--r--elf/rtld.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/elf/rtld.c b/elf/rtld.c
index 24968f87cd..7e960348f0 100644
--- a/elf/rtld.c
+++ b/elf/rtld.c
@@ -283,6 +283,7 @@ struct map_args
 struct version_check_args
 {
   int doexit;
+  int dotrace;
 };
 
 static void
@@ -305,7 +306,7 @@ static void
 version_check_doit (void *a)
 {
   struct version_check_args *args = (struct version_check_args *) a;
-  if (_dl_check_all_versions (_dl_loaded, 1) && args->doexit)
+  if (_dl_check_all_versions (_dl_loaded, 1, args->dotrace) && args->doexit)
     /* We cannot start the application.  Abort now.  */
     _exit (1);
 }
@@ -842,6 +843,7 @@ of this helper program; chances are you did not intend to run this program.\n\
   {
     struct version_check_args args;
     args.doexit = mode == normal;
+    args.dotrace = mode == trace;
     _dl_receive_error (print_missing_version, version_check_doit, &args);
   }