diff options
author | Ulrich Drepper <drepper@redhat.com> | 2000-10-24 00:03:37 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2000-10-24 00:03:37 +0000 |
commit | c41c89d35db92458777bec25cf2037e3e91a96bb (patch) | |
tree | ef6ba1af5902fc9a44d006bc10e2ce63a72fe942 | |
parent | 298ea0ffa5ee721cc1d0714f38fb12f86593cb3c (diff) | |
download | glibc-c41c89d35db92458777bec25cf2037e3e91a96bb.zip glibc-c41c89d35db92458777bec25cf2037e3e91a96bb.tar.gz glibc-c41c89d35db92458777bec25cf2037e3e91a96bb.tar.bz2 |
Update.
2000-10-23 Ulrich Drepper <drepper@redhat.com>
* elf/dl-close.c (_dl_close): Add a few more __builtin_expect.
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | elf/dl-close.c | 8 |
2 files changed, 8 insertions, 4 deletions
@@ -1,3 +1,7 @@ +2000-10-23 Ulrich Drepper <drepper@redhat.com> + + * elf/dl-close.c (_dl_close): Add a few more __builtin_expect. + 2000-10-23 Jim Meyering <meyering@ascend.com> Allow this code to be used outside of glibc. diff --git a/elf/dl-close.c b/elf/dl-close.c index cb6b6fc..4c861a1 100644 --- a/elf/dl-close.c +++ b/elf/dl-close.c @@ -55,7 +55,7 @@ _dl_close (void *_map) /* Nope. Do nothing. */ return; - if (map->l_opencount == 0) + if (__builtin_expect (map->l_opencount, 1) == 0) _dl_signal_error (0, map->l_name, N_("shared object not open")); /* Acquire the lock. */ @@ -150,7 +150,7 @@ _dl_close (void *_map) /* That was the last reference, and this was a dlopen-loaded object. We can unmap it. */ - if (imap->l_global) + if (__builtin_expect (imap->l_global, 0)) { /* This object is in the global scope list. Remove it. */ int cnt = _dl_main_searchlist->r_nlist; @@ -228,7 +228,7 @@ _dl_close (void *_map) /* Now we can perhaps also remove the modules for which we had dependencies because of symbol lookup. */ - if (rellist != NULL) + if (__builtin_expect (rellist != NULL, 0)) { while (nrellist-- > 0) _dl_close (rellist[nrellist]); @@ -238,7 +238,7 @@ _dl_close (void *_map) free (list); - if (_dl_global_scope_alloc != 0 + if (__builtin_expect (_dl_global_scope_alloc, 0) != 0 && _dl_main_searchlist->r_nlist == _dl_initial_searchlist.r_nlist) { /* All object dynamically loaded by the program are unloaded. Free |