Update.
authorUlrich Drepper <drepper@redhat.com>
Sat, 20 Jan 2001 19:14:31 +0000 (19:14 +0000)
committerUlrich Drepper <drepper@redhat.com>
Sat, 20 Jan 2001 19:14:31 +0000 (19:14 +0000)
* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Fix typo
preventing optimization from being done.  Set the correct type bit
in seen.  Don't define and use _dl_base_addr unless

ChangeLog
sysdeps/generic/dl-sysdep.c

index 852a415..466520f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,8 +1,8 @@
 2001-01-20  Ulrich Drepper  <drepper@redhat.com>
 
-       * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Initialize egid
-       to 1.  This helps those installing ld.so SUID (nobody will be that
-       stupid, I hope).  Don't define and use _dl_base_addr unless
+       * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Fix typo
+       preventing optimization from being done.  Set the correct type bit
+       in seen.  Don't define and use _dl_base_addr unless
        NEED_DL_BASE_ADDR is defined.
 
        * io/ftw.c (ftw_dir): Add slash after directory name if there
index e6caf97..38ca412 100644 (file)
@@ -89,14 +89,13 @@ _dl_sysdep_start (void **start_argptr,
   uid_t uid = 0;
   uid_t euid = 0;
   gid_t gid = 0;
-#ifdef HAVE_AUX_X
-  /* This adds a little bit of security.  If the kernel does not pass
-     any value up we default to the safe mode.  */
-  gid_t egid = 1;
-#else
   gid_t egid = 0;
+#ifdef HAVE_AUX_XID
+# define set_seen(tag) (tag) /* Evaluate for the side effects.  */
+#else
   unsigned int seen = 0;
 # define M(type) (1 << (type))
+# define set_seen(val) seen |= M ((tag)->a_type)
 #endif
 
   DL_FIND_ARG_COMPONENTS (start_argptr, _dl_argc, _dl_argv, _environ,
@@ -105,7 +104,7 @@ _dl_sysdep_start (void **start_argptr,
   user_entry = (ElfW(Addr)) &ENTRY_POINT;
   _dl_platform = NULL; /* Default to nothing known about the platform.  */
 
-  for (av = _dl_auxv; av->a_type != AT_NULL; seen |= M ((++av)->a_type))
+  for (av = _dl_auxv; av->a_type != AT_NULL; set_seen (av++))
     switch (av->a_type)
       {
       case AT_PHDR: