summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--catgets/open_catalog.c13
2 files changed, 11 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index 17f6b6cb70..57649584bb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,8 @@
2000-05-26 Ulrich Drepper <drepper@redhat.com>
- * elf/dl-load.c (_dl_map_object): Don't ignore RPATHs of loader ==
+ * catgets/open_catalog.c (__open_catalog): Add a few __builtin_expect.
+
+ * elf/dl-load.c (_dl_map_object): Don't ignore RPATHs if loader ==
NULL.
* posix/tst-preadwrite.c: Allow parallel execution of
diff --git a/catgets/open_catalog.c b/catgets/open_catalog.c
index 4a63a138e0..d778255dc7 100644
--- a/catgets/open_catalog.c
+++ b/catgets/open_catalog.c
@@ -193,18 +193,19 @@ __open_catalog (__nl_catd catalog)
}
/* Avoid dealing with directories and block devices */
- if (fd < 0)
+ if (__builtin_expect (fd, 0) < 0)
{
catalog->status = nonexisting;
goto unlock_return;
}
- if (__fxstat (_STAT_VER, fd, &st) < 0)
+ if (__builtin_expect (__fxstat (_STAT_VER, fd, &st), 0) < 0)
{
catalog->status = nonexisting;
goto close_unlock_return;
}
- if (!S_ISREG (st.st_mode) || st.st_size < sizeof (struct catalog_obj))
+ if (__builtin_expect (!S_ISREG (st.st_mode), 0)
+ || st.st_size < sizeof (struct catalog_obj))
{
/* `errno' is not set correctly but the file is not usable.
Use an reasonable error value. */
@@ -230,7 +231,8 @@ __open_catalog (__nl_catd catalog)
catalog->file_ptr =
(struct catalog_obj *) __mmap (NULL, st.st_size, PROT_READ,
MAP_FILE|MAP_COPY|MAP_INHERIT, fd, 0);
- if (catalog->file_ptr != (struct catalog_obj *) MAP_FAILED)
+ if (__builtin_expect (catalog->file_ptr != (struct catalog_obj *) MAP_FAILED,
+ 1))
/* Tell the world we managed to mmap the file. */
catalog->status = mmapped;
else
@@ -270,7 +272,8 @@ __open_catalog (__nl_catd catalog)
/* Determine whether the file is a catalog file and if yes whether
it is written using the correct byte order. Else we have to swap
the values. */
- if (catalog->file_ptr->magic == CATGETS_MAGIC)
+ if (__builtin_expect (catalog->file_ptr->magic, CATGETS_MAGIC)
+ == CATGETS_MAGIC)
swapping = 0;
else if (catalog->file_ptr->magic == SWAPU32 (CATGETS_MAGIC))
swapping = 1;