about summary refs log tree commit diff
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;