about summary refs log tree commit diff
path: root/elf/rtld.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2000-07-21 06:43:05 +0000
committerUlrich Drepper <drepper@redhat.com>2000-07-21 06:43:05 +0000
commitf53c03c20d6039d78cf1ccb43fbbbe79e0ec7e9e (patch)
treefa9ef879669c57ff5becd3911f5ee26211229ecd /elf/rtld.c
parentd052b31b79a3681db7de04177a55b04354320a61 (diff)
downloadglibc-f53c03c20d6039d78cf1ccb43fbbbe79e0ec7e9e.tar.gz
glibc-f53c03c20d6039d78cf1ccb43fbbbe79e0ec7e9e.tar.xz
glibc-f53c03c20d6039d78cf1ccb43fbbbe79e0ec7e9e.zip
Update.
	* elf/rtld.c: Define _dl_bind_not variable.
	(process_envvars): Recognize LD_BIND_NOT and set _dl_bind_not.
	* elf/dl-support.c: Likewise.
	* sysdeps/generic/ldsodefs.h: Declare _dl_bind_not.
	* elf/dl-runtime.c (fixup): Don't remember looked up value if
	_dl_bind_not.
	(profile_fixup): Likewise.
Diffstat (limited to 'elf/rtld.c')
-rw-r--r--elf/rtld.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/elf/rtld.c b/elf/rtld.c
index 8276b79a71..1d144c536e 100644
--- a/elf/rtld.c
+++ b/elf/rtld.c
@@ -96,6 +96,7 @@ int _dl_debug_statistics;
 const char *_dl_inhibit_rpath;		/* RPATH values which should be
 					   ignored.  */
 const char *_dl_origin_path;
+int _dl_bind_not;
 
 /* This is a pointer to the map for the main object and through it to
    all loaded objects.  */
@@ -1363,7 +1364,12 @@ process_envvars (enum mode *modep, int *lazyp)
 	case 8:
 	  /* Do we bind early?  */
 	  if (memcmp (&envline[3], "BIND_NOW", 8) == 0)
-	    bind_now = envline[12] != '\0';
+	    {
+	      bind_now = envline[12] != '\0';
+	      break;
+	    }
+	  if (memcmp (&envline[3], "BIND_NOT", 8) == 0)
+	    _dl_bind_not = envline[12] != '\0';
 	  break;
 
 	case 9: