summaryrefslogtreecommitdiff
path: root/elf/dl-error.c
diff options
context:
space:
mode:
Diffstat (limited to 'elf/dl-error.c')
-rw-r--r--elf/dl-error.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/elf/dl-error.c b/elf/dl-error.c
index 83d984f045..1cd4cc3852 100644
--- a/elf/dl-error.c
+++ b/elf/dl-error.c
@@ -1,5 +1,5 @@
/* Error handling for runtime dynamic linker.
- Copyright (C) 1995,96,97,98,99,2000 Free Software Foundation, Inc.
+ Copyright (C) 1995,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
@@ -97,13 +97,14 @@ _dl_signal_error (int errcode, const char *objname, const char *errstring)
{
/* Lossage while resolving the program's own symbols is always fatal. */
char buffer[1024];
- _dl_sysdep_fatal (_dl_argv[0] ?: "<program name unknown>",
- ": error while loading shared libraries: ",
+ _dl_fatal_printf ("\
+%s: error while loading shared libraries: %s%s%s%s%s\n",
+ _dl_argv[0] ?: "<program name unknown>",
objname ?: "", objname && *objname ? ": " : "",
errstring, errcode ? ": " : "",
(errcode
? __strerror_r (errcode, buffer, sizeof buffer)
- : ""), "\n", NULL);
+ : ""));
}
}
@@ -143,7 +144,7 @@ _dl_catch_error (const char **objname, const char **errstring,
old = tsd_getspecific ();
errcode = setjmp (c.env);
- if (errcode == 0)
+ if (__builtin_expect (errcode, 0) == 0)
{
tsd_setspecific (&c);
(*operate) (args);