diff options
author | Ulrich Drepper <drepper@redhat.com> | 2002-02-06 01:14:01 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2002-02-06 01:14:01 +0000 |
commit | 37beecf77ca265266deabc0244819ab3f14adaa7 (patch) | |
tree | 48320a2eca5650b0a73053b46d42aaee01eae5cd /elf | |
parent | ec70c011557d0964dfc528d2d326d75526aec123 (diff) | |
download | glibc-37beecf77ca265266deabc0244819ab3f14adaa7.zip glibc-37beecf77ca265266deabc0244819ab3f14adaa7.tar.gz glibc-37beecf77ca265266deabc0244819ab3f14adaa7.tar.bz2 |
Update.
* elf/dl-minimal.c: Define _itoa_lower_digits.
* elf/dynamic-link.h (elf_get_dynamic_info): ld.so can have
DT_FLAGS set.
Diffstat (limited to 'elf')
-rw-r--r-- | elf/dl-minimal.c | 5 | ||||
-rw-r--r-- | elf/dynamic-link.h | 14 |
2 files changed, 12 insertions, 7 deletions
diff --git a/elf/dl-minimal.c b/elf/dl-minimal.c index cd899bf..c65151c 100644 --- a/elf/dl-minimal.c +++ b/elf/dl-minimal.c @@ -334,3 +334,8 @@ __strsep (char **stringp, const char *delim) } weak_alias (__strsep, strsep) strong_alias (__strsep, __strsep_g) + + +/* The '_itoa_lower_digits' variable in libc.so is able to handle bases + up to 36. We don't need this here. */ +const char _itoa_lower_digits[16] = "0123456789abcdef"; diff --git a/elf/dynamic-link.h b/elf/dynamic-link.h index 0229684..f4bbcb5 100644 --- a/elf/dynamic-link.h +++ b/elf/dynamic-link.h @@ -108,24 +108,24 @@ elf_get_dynamic_info (struct link_map *l) if (info[DT_REL] != NULL) assert (info[DT_RELENT]->d_un.d_val == sizeof (ElfW(Rel))); #endif -#ifdef RTLD_BOOTSTRAP - /* None of the flags should be set for the dynamic linker itself. */ - assert (info[DT_FLAGS] == NULL); -#else if (info[DT_FLAGS] != NULL) { /* Flags are used. Translate to the old form where available. Since these l_info entries are only tested for NULL pointers it is ok if they point to the DT_FLAGS entry. */ l->l_flags = info[DT_FLAGS]->d_un.d_val; - if l->l_(flags & DF_SYMBOLIC) +#ifdef RTLD_BOOTSTRAP + /* These three flags must not be set for ld.so. */ + assert ((l->l_flags & (DF_SYMBOLIC | DF_TEXTREL | DF_BIND_NOW)) == 0); +#else + if (l->l_flags & DF_SYMBOLIC) info[DT_SYMBOLIC] = info[DT_FLAGS]; - if l->l_(flags & DF_TEXTREL) + if (l->l_flags & DF_TEXTREL) info[DT_TEXTREL] = info[DT_FLAGS]; if (l->l_flags & DF_BIND_NOW) info[DT_BIND_NOW] = info[DT_FLAGS]; - } #endif + } if (info[VERSYMIDX (DT_FLAGS_1)] != NULL) l->l_flags_1 = info[VERSYMIDX (DT_FLAGS_1)]->d_un.d_val; #ifdef RTLD_BOOTSTRAP |