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.
* 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.
-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.
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
_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;
/* 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
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
_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
}
}
- if (mode != trace)
+ if (__builtin_expect (mode, trace) != trace)
for (i = 1; i < _dl_argc; ++i)
{
const ElfW(Sym) *ref = NULL;
/* 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;
@smallexample
alpha-@var{*}-linux
+arm-@var{*}-linux
arm-@var{*}-linuxaout
arm-@var{*}-none
i@var{x}86-@var{*}-gnu