mirror of git://sourceware.org/git/glibc.git
Update.
* 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
This commit is contained in:
parent
1b6020c13e
commit
b72f9d5197
|
@ -1,8 +1,8 @@
|
||||||
2001-01-20 Ulrich Drepper <drepper@redhat.com>
|
2001-01-20 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Initialize egid
|
* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Fix typo
|
||||||
to 1. This helps those installing ld.so SUID (nobody will be that
|
preventing optimization from being done. Set the correct type bit
|
||||||
stupid, I hope). Don't define and use _dl_base_addr unless
|
in seen. Don't define and use _dl_base_addr unless
|
||||||
NEED_DL_BASE_ADDR is defined.
|
NEED_DL_BASE_ADDR is defined.
|
||||||
|
|
||||||
* io/ftw.c (ftw_dir): Add slash after directory name if there
|
* io/ftw.c (ftw_dir): Add slash after directory name if there
|
||||||
|
|
|
@ -89,14 +89,13 @@ _dl_sysdep_start (void **start_argptr,
|
||||||
uid_t uid = 0;
|
uid_t uid = 0;
|
||||||
uid_t euid = 0;
|
uid_t euid = 0;
|
||||||
gid_t gid = 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;
|
gid_t egid = 0;
|
||||||
|
#ifdef HAVE_AUX_XID
|
||||||
|
# define set_seen(tag) (tag) /* Evaluate for the side effects. */
|
||||||
|
#else
|
||||||
unsigned int seen = 0;
|
unsigned int seen = 0;
|
||||||
# define M(type) (1 << (type))
|
# define M(type) (1 << (type))
|
||||||
|
# define set_seen(val) seen |= M ((tag)->a_type)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
DL_FIND_ARG_COMPONENTS (start_argptr, _dl_argc, _dl_argv, _environ,
|
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;
|
user_entry = (ElfW(Addr)) &ENTRY_POINT;
|
||||||
_dl_platform = NULL; /* Default to nothing known about the platform. */
|
_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)
|
switch (av->a_type)
|
||||||
{
|
{
|
||||||
case AT_PHDR:
|
case AT_PHDR:
|
||||||
|
|
Loading…
Reference in New Issue