aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--elf/dl-close.c2
-rw-r--r--elf/dl-deps.c6
-rw-r--r--elf/dl-fini.c2
-rw-r--r--elf/dl-init.c4
-rw-r--r--elf/dl-lookup.c22
-rw-r--r--elf/dl-reloc.c2
-rw-r--r--elf/rtld.c2
8 files changed, 28 insertions, 20 deletions
diff --git a/ChangeLog b/ChangeLog
index 95dd0412a6..a0d2e3eb96 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
2000-04-17 Ulrich Drepper <drepper@redhat.com>
+ * elf/dl-reloc.c (_dl_relocat_object): Add more __builtin_expect.
+ * elf/dl-lookup.c: Add more __builtin_expect.
+ * elf/dl-init.c (_dl_init): Add more __builtin_expect.
+ * elf/dl-fini.c (_dl_fini): Add more __builtin_expect.
+ * elf/dl-deps.c (_dl_map_object_deps): Add more __builtin_expect.
+ * elf/dl-close.c (_dl_close): Add more __builtin_expect.
+ * elf/rtld.c (_dl_start_final): Add more __builtin_expect.
+
* elf/dl-lookup.c (add_dependency): Correct __builtin_expect use.
2000-04-15 Ulrich Drepper <drepper@redhat.com>
diff --git a/elf/dl-close.c b/elf/dl-close.c
index a58e8f8e5d..d6f00008b1 100644
--- a/elf/dl-close.c
+++ b/elf/dl-close.c
@@ -80,7 +80,7 @@ _dl_close (void *_map)
&& imap->l_init_called)
{
/* When debugging print a message first. */
- if (_dl_debug_impcalls)
+ if (__builtin_expect (_dl_debug_impcalls, 0))
_dl_debug_message (1, "\ncalling fini: ", imap->l_name,
"\n\n", NULL);
diff --git a/elf/dl-deps.c b/elf/dl-deps.c
index 899692ee3f..d59f53658d 100644
--- a/elf/dl-deps.c
+++ b/elf/dl-deps.c
@@ -119,7 +119,7 @@ struct list
else \
{ \
/* This is for DT_AUXILIARY. */ \
- if (_dl_debug_libs) \
+ if (__builtin_expect (_dl_debug_libs, 0)) \
_dl_debug_message (1, "cannot load auxiliary `", __str, \
"' because of empty dynamic string" \
" token substitution\n", NULL); \
@@ -280,7 +280,7 @@ _dl_map_object_deps (struct link_map *map,
args.name = name;
/* Say that we are about to load an auxiliary library. */
- if (_dl_debug_libs)
+ if (__builtin_expect (_dl_debug_libs, 0))
_dl_debug_message (1, "load auxiliary object=",
name, " requested by file=",
l->l_name[0]
@@ -302,7 +302,7 @@ _dl_map_object_deps (struct link_map *map,
else
{
/* Say that we are about to load an auxiliary library. */
- if (_dl_debug_libs)
+ if (__builtin_expect (_dl_debug_libs, 0))
_dl_debug_message (1, "load filtered object=", name,
" requested by file=",
l->l_name[0]
diff --git a/elf/dl-fini.c b/elf/dl-fini.c
index a285c77316..f218689628 100644
--- a/elf/dl-fini.c
+++ b/elf/dl-fini.c
@@ -141,7 +141,7 @@ _dl_fini (void)
continue;
/* When debugging print a message first. */
- if (_dl_debug_impcalls)
+ if (__builtin_expect (_dl_debug_impcalls, 0))
_dl_debug_message (1, "\ncalling fini: ",
l->l_name[0] ? l->l_name : _dl_argv[0],
"\n\n", NULL);
diff --git a/elf/dl-init.c b/elf/dl-init.c
index b455f5dc64..dfef83dd6f 100644
--- a/elf/dl-init.c
+++ b/elf/dl-init.c
@@ -43,7 +43,7 @@ _dl_init (struct link_map *main_map, int argc, char **argv, char **env)
ElfW(Addr) *addrs;
unsigned int cnt;
- if (_dl_debug_impcalls)
+ if (__builtin_expect (_dl_debug_impcalls, 0))
_dl_debug_message (1, "\ncalling preinit: ",
main_map->l_name[0]
? main_map->l_name : _dl_argv[0], "\n\n", NULL);
@@ -94,7 +94,7 @@ _dl_init (struct link_map *main_map, int argc, char **argv, char **env)
continue;
/* Print a debug message if wanted. */
- if (_dl_debug_impcalls)
+ if (__builtin_expect (_dl_debug_impcalls, 0))
_dl_debug_message (1, "\ncalling init: ",
l->l_name[0] ? l->l_name : _dl_argv[0],
"\n\n", NULL);
diff --git a/elf/dl-lookup.c b/elf/dl-lookup.c
index 16e00b0485..dc4564f2c7 100644
--- a/elf/dl-lookup.c
+++ b/elf/dl-lookup.c
@@ -128,7 +128,7 @@ add_dependency (struct link_map *undef_map, struct link_map *map)
if (runp != NULL)
{
/* The object is still available. Add the reference now. */
- if (act >= undef_map->l_reldepsmax)
+ if (__builtin_expect (act >= undef_map->l_reldepsmax, 0))
{
/* Allocate more memory for the dependency list. Since
this can never happen during the startup phase we can
@@ -152,7 +152,7 @@ add_dependency (struct link_map *undef_map, struct link_map *map)
This means this increment can never be reverted and the
object will never be unloaded. This is semantically the
correct behaviour. */
- if (act < undef_map->l_reldepsmax)
+ if (__builtin_expect (act < undef_map->l_reldepsmax, 1))
undef_map->l_reldeps[undef_map->l_reldepsact++] = map;
/* And increment the counter in the referenced object. */
@@ -205,7 +205,7 @@ _dl_lookup_symbol (const char *undef_name, struct link_map *undef_map,
in the global scope which was dynamically loaded. In this case
we have to prevent the latter from being unloaded unless the
UNDEF_MAP object is also unloaded. */
- if (current_value.m->l_global
+ if (__builtin_expect (current_value.m->l_global, 0)
&& (__builtin_expect (current_value.m->l_type, lt_library)
== lt_loaded)
&& undef_map != current_value.m
@@ -219,7 +219,7 @@ _dl_lookup_symbol (const char *undef_name, struct link_map *undef_map,
break;
}
- if (current_value.s == NULL)
+ if (__builtin_expect (current_value.s == NULL, 0))
{
if (*ref == NULL || ELFW(ST_BIND) ((*ref)->st_info) != STB_WEAK)
/* We could find no value for a strong reference. */
@@ -298,7 +298,7 @@ _dl_lookup_symbol_skip (const char *undef_name,
in the global scope which was dynamically loaded. In this case
we have to prevent the latter from being unloaded unless the
UNDEF_MAP object is also unloaded. */
- if (current_value.m->l_global
+ if (__builtin_expect (current_value.m->l_global, 0)
&& (__builtin_expect (current_value.m->l_type, lt_library)
== lt_loaded)
&& undef_map != current_value.m
@@ -312,7 +312,7 @@ _dl_lookup_symbol_skip (const char *undef_name,
break;
}
- if (current_value.s == NULL)
+ if (__builtin_expect (current_value.s == NULL, 0))
{
*ref = NULL;
return 0;
@@ -364,7 +364,7 @@ _dl_lookup_versioned_symbol (const char *undef_name,
in the global scope which was dynamically loaded. In this case
we have to prevent the latter from being unloaded unless the
UNDEF_MAP object is also unloaded. */
- if (current_value.m->l_global
+ if (__builtin_expect (current_value.m->l_global, 0)
&& (__builtin_expect (current_value.m->l_type, lt_library)
== lt_loaded)
&& undef_map != current_value.m
@@ -379,7 +379,7 @@ _dl_lookup_versioned_symbol (const char *undef_name,
break;
}
- if (res < 0)
+ if (__builtin_expect (res, 0) < 0)
{
/* Oh, oh. The file named in the relocation entry does not
contain the needed symbol. */
@@ -398,7 +398,7 @@ _dl_lookup_versioned_symbol (const char *undef_name,
}
}
- if (current_value.s == NULL)
+ if (__builtin_expect (current_value.s == NULL, 0))
{
if (*ref == NULL || ELFW(ST_BIND) ((*ref)->st_info) != STB_WEAK)
/* We could find no value for a strong reference. */
@@ -458,7 +458,7 @@ _dl_lookup_versioned_symbol_skip (const char *undef_name,
in the global scope which was dynamically loaded. In this case
we have to prevent the latter from being unloaded unless the
UNDEF_MAP object is also unloaded. */
- if (current_value.m->l_global
+ if (__builtin_expect (current_value.m->l_global, 0)
&& (__builtin_expect (current_value.m->l_type, lt_library)
== lt_loaded)
&& undef_map != current_value.m
@@ -494,7 +494,7 @@ _dl_lookup_versioned_symbol_skip (const char *undef_name,
break;
}
- if (current_value.s == NULL)
+ if (__builtin_expect (current_value.s == NULL, 0))
{
if (*ref == NULL || ELFW(ST_BIND) ((*ref)->st_info) != STB_WEAK)
{
diff --git a/elf/dl-reloc.c b/elf/dl-reloc.c
index fa8e31b22c..61bb6bc2ea 100644
--- a/elf/dl-reloc.c
+++ b/elf/dl-reloc.c
@@ -38,7 +38,7 @@ _dl_relocate_object (struct link_map *l, struct r_scope_elem *scope[],
if (!consider_profiling && l->l_info[DT_BIND_NOW])
lazy = 0;
- if (_dl_debug_reloc)
+ if (__builtin_expect (_dl_debug_reloc, 0))
_dl_debug_message (1, "\nrelocation processing: ",
l->l_name[0] ? l->l_name : _dl_argv[0],
lazy ? " (lazy)\n" : "\n", NULL);
diff --git a/elf/rtld.c b/elf/rtld.c
index 7e960348f0..46732ba912 100644
--- a/elf/rtld.c
+++ b/elf/rtld.c
@@ -251,7 +251,7 @@ _dl_start_final (void *arg, struct link_map *bootstrap_map_p,
HP_TIMING_DIFF (rtld_total_time, start_time, end_time);
}
- if (_dl_debug_statistics)
+ if (__builtin_expect (_dl_debug_statistics, 0))
print_statistics ();
return *start_addr;