From: Joseph Myers Date: Wed, 16 Dec 2009 17:44:03 +0000 (+0000) Subject: Update MIPS dl-lookup.c. X-Git-Tag: glibc-2.16-ports-before-merge~547 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=872083bf1559281ac2afc772ff2f093638e1d6e5;p=thirdparty%2Fglibc.git Update MIPS dl-lookup.c. --- diff --git a/ChangeLog.mips b/ChangeLog.mips index 9dfe2a5d1b4..0f8f7c8796d 100644 --- a/ChangeLog.mips +++ b/ChangeLog.mips @@ -1,3 +1,7 @@ +2009-12-16 Joseph Myers + + * sysdeps/mips/dl-lookup.c: Update from generic version. + 2009-12-15 Joseph Myers * sysdeps/unix/sysv/linux/mips/bits/fcntl.h: Redefine O_SYNC and diff --git a/sysdeps/mips/dl-lookup.c b/sysdeps/mips/dl-lookup.c index c7deb4dc973..a9fff598a8e 100644 --- a/sysdeps/mips/dl-lookup.c +++ b/sysdeps/mips/dl-lookup.c @@ -794,7 +794,7 @@ _dl_lookup_symbol_x (const char *undef_name, struct link_map *undef_map, if (__builtin_expect (protected != 0, 0)) { /* It is very tricky. We need to figure out what value to - return for the protected symbol. */ + return for the protected symbol. */ if (type_class == ELF_RTYPE_CLASS_PLT) { if (current_value.s != NULL && current_value.m != undef_map) @@ -839,7 +839,8 @@ _dl_lookup_symbol_x (const char *undef_name, struct link_map *undef_map, version, type_class, flags, skip_map); /* The object is used. */ - current_value.m->l_used = 1; + if (__builtin_expect (current_value.m->l_used == 0, 0)) + current_value.m->l_used = 1; if (__builtin_expect (GLRO(dl_debug_mask) & (DL_DEBUG_BINDINGS|DL_DEBUG_PRELINK), 0)) @@ -861,7 +862,7 @@ _dl_setup_hash (struct link_map *map) Elf_Symndx nchain; if (__builtin_expect (map->l_info[DT_ADDRTAGIDX (DT_GNU_HASH) + DT_NUM - + DT_THISPROCNUM + DT_VERSIONTAGNUM + + DT_THISPROCNUM + DT_VERSIONTAGNUM + DT_EXTRANUM + DT_VALNUM] != NULL, 1)) { Elf32_Word *hash32