diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/fxstat64.c | 4 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/lxstat64.c | 6 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/xstat64.c | 4 |
4 files changed, 11 insertions, 7 deletions
@@ -1,5 +1,9 @@ 2001-01-18 Ulrich Drepper <drepper@redhat.com> + * sysdeps/unix/sysv/linux/fxstat64.c: Add one __builtin_expect. + * sysdeps/unix/sysv/linux/lxstat64.c: Likewise. + * sysdeps/unix/sysv/linux/xstat64.c: Likewise. + * elf/rtld.c (process_envvars): Call __strtoul_internal instead of strtoul. * elf/dl-minimal.c (strtol, __strtol_internal, strtoul): Removed. diff --git a/sysdeps/unix/sysv/linux/fxstat64.c b/sysdeps/unix/sysv/linux/fxstat64.c index 2140661ff3..85d2bf36bd 100644 --- a/sysdeps/unix/sysv/linux/fxstat64.c +++ b/sysdeps/unix/sysv/linux/fxstat64.c @@ -1,5 +1,5 @@ /* fxstat64 using old-style Unix fstat system call. - Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc. + Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -52,7 +52,7 @@ ___fxstat64 (int vers, int fd, struct stat64 *buf) #if __ASSUME_STAT64_SYSCALL > 0 result = INLINE_SYSCALL (fstat64, 2, fd, CHECK_1 (buf)); # if defined _HAVE_STAT64___ST_INO && __ASSUME_ST_INO_64_BIT == 0 - if (!result && buf->__st_ino != (__ino_t) buf->st_ino) + if (__builtin_expect (!result, 1) && buf->__st_ino != (__ino_t) buf->st_ino) buf->st_ino = buf->__st_ino; # endif return result; diff --git a/sysdeps/unix/sysv/linux/lxstat64.c b/sysdeps/unix/sysv/linux/lxstat64.c index 1192940d48..4baf5afa8e 100644 --- a/sysdeps/unix/sysv/linux/lxstat64.c +++ b/sysdeps/unix/sysv/linux/lxstat64.c @@ -1,5 +1,5 @@ /* lxstat64 using old-style Unix lstat system call. - Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc. + Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -54,7 +54,7 @@ ___lxstat64 (int vers, const char *name, struct stat64 *buf) #ifdef __ASSUME_STAT64_SYSCALL result = INLINE_SYSCALL (lstat64, 2, CHECK_STRING (name), CHECK_1 (buf)); # if defined _HAVE_STAT64___ST_INO && __ASSUME_ST_INO_64_BIT == 0 - if (!result && buf->__st_ino != (__ino_t)buf->st_ino) + if (__builtin_expect (!result, 1) && buf->__st_ino != (__ino_t) buf->st_ino) buf->st_ino = buf->__st_ino; # endif return result; @@ -69,7 +69,7 @@ ___lxstat64 (int vers, const char *name, struct stat64 *buf) if (result != -1 || errno != ENOSYS) { # if defined _HAVE_STAT64___ST_INO && __ASSUME_ST_INO_64_BIT == 0 - if (!result && buf->__st_ino != (__ino_t)buf->st_ino) + if (!result && buf->__st_ino != (__ino_t) buf->st_ino) buf->st_ino = buf->__st_ino; # endif return result; diff --git a/sysdeps/unix/sysv/linux/xstat64.c b/sysdeps/unix/sysv/linux/xstat64.c index f52cb7a42c..2db0ed6a76 100644 --- a/sysdeps/unix/sysv/linux/xstat64.c +++ b/sysdeps/unix/sysv/linux/xstat64.c @@ -1,5 +1,5 @@ /* xstat64 using old-style Unix stat system call. - Copyright (C) 1991, 95, 96, 97, 98, 99, 2000 Free Software Foundation, Inc. + Copyright (C) 1991,95,96,97,98,99,2000,2001 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -57,7 +57,7 @@ ___xstat64 (int vers, const char *name, struct stat64 *buf) #if __ASSUME_STAT64_SYSCALL > 0 result = INLINE_SYSCALL (stat64, 2, CHECK_STRING (name), CHECK_1 (buf)); # if defined _HAVE_STAT64___ST_INO && __ASSUME_ST_INO_64_BIT == 0 - if (!result && buf->__st_ino != (__ino_t) buf->st_ino) + if (__builtin_expect (!result, 1) && buf->__st_ino != (__ino_t) buf->st_ino) buf->st_ino = buf->__st_ino; # endif return result; |