mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-27 11:43:34 +08:00
Update.
* 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.
This commit is contained in:
parent
e3265f5bc5
commit
466a0ec998
@ -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>
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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]
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user