diff options
author | joseph <joseph@7b3dc134-2b1b-0410-93df-9e9f96275f8d> | 2012-09-25 14:42:18 +0000 |
---|---|---|
committer | joseph <joseph@7b3dc134-2b1b-0410-93df-9e9f96275f8d> | 2012-09-25 14:42:18 +0000 |
commit | aeb5b827c5f7ed858a5b15101d1a3893356cc6ba (patch) | |
tree | 5d8e4382197847df3cf875caac4994390b6f1094 /libc/elf/rtld.c | |
parent | 598804b7d4191eddbaf24784c3b25a6c4d6f33cd (diff) | |
download | eglibc2-aeb5b827c5f7ed858a5b15101d1a3893356cc6ba.tar.gz |
Merge changes between r20391 and r20863 from /fsf/trunk.
git-svn-id: svn://svn.eglibc.org/trunk@20864 7b3dc134-2b1b-0410-93df-9e9f96275f8d
Diffstat (limited to 'libc/elf/rtld.c')
-rw-r--r-- | libc/elf/rtld.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/libc/elf/rtld.c b/libc/elf/rtld.c index f77bc7ce1..1ba35321b 100644 --- a/libc/elf/rtld.c +++ b/libc/elf/rtld.c @@ -1094,7 +1094,8 @@ of this helper program; chances are you did not intend to run this program.\n\ /* Now the map for the main executable is available. */ main_map = GL(dl_ns)[LM_ID_BASE]._ns_loaded; - if (GL(dl_rtld_map).l_info[DT_SONAME] != NULL + if (__builtin_expect (mode, normal) == normal + && GL(dl_rtld_map).l_info[DT_SONAME] != NULL && main_map->l_info[DT_SONAME] != NULL && strcmp ((const char *) D_PTR (&GL(dl_rtld_map), l_info[DT_STRTAB]) + GL(dl_rtld_map).l_info[DT_SONAME]->d_un.d_val, |