about summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1998-11-05 17:52:04 +0000
committerUlrich Drepper <drepper@redhat.com>1998-11-05 17:52:04 +0000
commit9a821cf90b38590fa546dc3246d12526e4f95ba1 (patch)
treefd000dc3bba3e4605f4995e99a1b221b448830bc
parentfe959e1efb0353204c67cc590e51e0ccba58d241 (diff)
downloadglibc-9a821cf90b38590fa546dc3246d12526e4f95ba1.tar.gz
glibc-9a821cf90b38590fa546dc3246d12526e4f95ba1.tar.xz
glibc-9a821cf90b38590fa546dc3246d12526e4f95ba1.zip
Update.
	* elf/rtld.c: Add a few __builtin_expects where they will improve
	a lot.

1998-11-05  Ulrich Drepper  <drepper@cygnus.com>

1998-11-04  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* libio/genops.c (_IO_least_marker): Add additional parameter
	end_p replacing fp->_IO_read_end.
	(save_for_backup): Likewise.  All callers changed.  Use _IO_size_t
	and _IO_ssize_t instead of int.
	(_IO_switch_to_main_get_area): Remove use of _IO_save_ptr.
	(_IO_switch_to_backup_area): Likewise.  Fix comments.
	(_IO_seekmark): Undo last change.
	(_IO_default_pbackfail): Correct use of backup area.
	* libio/libio.h (_IO_FILE_complete): Remove _IO_save_ptr.
-rw-r--r--ChangeLog17
-rw-r--r--README4
-rw-r--r--elf/rtld.c12
-rw-r--r--manual/install.texi1
4 files changed, 26 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index c8e6a234d4..f41a7d1686 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 1998-11-05  Ulrich Drepper  <drepper@cygnus.com>
 
+	* elf/rtld.c: Add a few __builtin_expects where they will improve
+	a lot.
+
+1998-11-05  Ulrich Drepper  <drepper@cygnus.com>
+
 	* version.h (VERSION): Bump to 2.0.100.
 
 	* sysdeps/i386/fpu/bits/mathinline.h (__pow2): Fix fldl -> fld.
@@ -7,6 +12,18 @@
 	* sysdeps/libm-i387/s_fma.S: Optimize a bit.
 	* sysdeps/libm-i387/s_fmaf.S: Likewise.
 
+1998-11-04  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+
+	* libio/genops.c (_IO_least_marker): Add additional parameter
+	end_p replacing fp->_IO_read_end.
+	(save_for_backup): Likewise.  All callers changed.  Use _IO_size_t
+	and _IO_ssize_t instead of int.
+	(_IO_switch_to_main_get_area): Remove use of _IO_save_ptr.
+	(_IO_switch_to_backup_area): Likewise.  Fix comments.
+	(_IO_seekmark): Undo last change.
+	(_IO_default_pbackfail): Correct use of backup area.
+	* libio/libio.h (_IO_FILE_complete): Remove _IO_save_ptr.
+
 1998-11-04 19:47 -0500  Zack Weinberg  <zack@rabi.phys.columbia.edu>
 
 	* configure.in: Search for install-info and substitute it.
diff --git a/README b/README
index 183146f92f..0c89272193 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-This directory contains the version 2.0.99 test release of the GNU C Library.
+This directory contains the version 2.0.100 test release of the GNU C Library.
 Many bugs have been fixed since the last release.
 Some bugs surely remain.
 
@@ -53,7 +53,7 @@ provides the Unix `crypt' function, plus some other entry points.
 Because of the United States export restriction on DES implementations,
 we are distributing this code separately from the rest of the C
 library.  There is an extra distribution tar file just for crypt; it is
-called `glibc-crypt-2.0.99.tar.gz'.  You can just unpack the crypt
+called `glibc-crypt-2.0.100.tar.gz'.  You can just unpack the crypt
 distribution along with the rest of the C library and build; you can
 also build the library without getting crypt.  Users outside the USA
 can get the crypt distribution via anonymous FTP from ftp.ifi.uio.no
diff --git a/elf/rtld.c b/elf/rtld.c
index 472cb21127..b88e1e12b0 100644
--- a/elf/rtld.c
+++ b/elf/rtld.c
@@ -398,7 +398,7 @@ of this helper program; chances are you did not intend to run this program.\n\
       _dl_init_paths (library_path);
       paths_initialized = 1;
 
-      if (mode == verify)
+      if (__builtin_expect (mode, normal) == verify)
 	{
 	  char *err_str = NULL;
 	  struct map_args args;
@@ -514,7 +514,7 @@ of this helper program; chances are you did not intend to run this program.\n\
     /* Set up our cache of pointers into the hash table.  */
     _dl_setup_hash (_dl_loaded);
 
-  if (mode == verify)
+  if (__builtin_expect (mode, normal) == verify)
     {
       /* We were called just to verify that this is a dynamic
 	 executable using us as the program interpreter.  Exit with an
@@ -684,7 +684,7 @@ of this helper program; chances are you did not intend to run this program.\n\
   if (_dl_rtld_map.l_next)
     _dl_rtld_map.l_next->l_prev = _dl_rtld_map.l_prev;
 
-  if (_dl_rtld_map.l_opencount > 1)
+  if (__builtin_expect (_dl_rtld_map.l_opencount, 2) > 1)
     {
       /* Some DT_NEEDED entry referred to the interpreter object itself, so
 	 put it back in the list of visible objects.  We insert it into the
@@ -714,7 +714,7 @@ of this helper program; chances are you did not intend to run this program.\n\
     _dl_receive_error (print_missing_version, version_check_doit, &args);
   }
 
-  if (mode != normal)
+  if (__builtin_expect (mode, normal) != normal)
     {
       /* We were run just to list the shared libraries.  It is
 	 important that we do this before real relocation, because the
@@ -744,7 +744,7 @@ of this helper program; chances are you did not intend to run this program.\n\
 	      }
 	}
 
-      if (mode != trace)
+      if (__builtin_expect (mode, trace) != trace)
 	for (i = 1; i < _dl_argc; ++i)
 	  {
 	    const ElfW(Sym) *ref = NULL;
@@ -1283,7 +1283,7 @@ process_envvars (enum mode *modep, int *lazyp)
 
   /* LAZY is determined by the environment variable LD_WARN and
      LD_BIND_NOW if we trace the binary.  */
-  if (mode == trace)
+  if (__builtin_expect (mode, normal) == trace)
     *lazyp = _dl_verbose ? !bind_now : -1;
   else
     *lazyp = !__libc_enable_secure && !bind_now;
diff --git a/manual/install.texi b/manual/install.texi
index 69ba14b85f..3712643989 100644
--- a/manual/install.texi
+++ b/manual/install.texi
@@ -301,6 +301,7 @@ following patterns:
 
 @smallexample
 alpha-@var{*}-linux
+arm-@var{*}-linux
 arm-@var{*}-linuxaout
 arm-@var{*}-none
 i@var{x}86-@var{*}-gnu