diff options
author | Ulrich Drepper <drepper@redhat.com> | 2000-06-10 04:01:36 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2000-06-10 04:01:36 +0000 |
commit | 8e17ea58173d35e2e5dabfeb9fa5abf2609cfc51 (patch) | |
tree | de81e2ebf2b5b32510d511caa07c2496e3d540ba /elf/rtld.c | |
parent | f3863621f617b040c66d635109203c29f35f7331 (diff) | |
download | glibc-8e17ea58173d35e2e5dabfeb9fa5abf2609cfc51.tar.gz glibc-8e17ea58173d35e2e5dabfeb9fa5abf2609cfc51.tar.xz glibc-8e17ea58173d35e2e5dabfeb9fa5abf2609cfc51.zip |
Update.
2000-06-09 Ulrich Drepper <drepper@redhat.com> Rewrite error message handling. * elf/dl-deps.c (_dl_map_object_deps): Pass new parameter to _dl_catch_error. * elf/dl-error (struct catch): Add objname member. (_dl_signal_error): Take new parameter with object name. When passing message on simply store object name and duplicate error message. (_dl_catch_error): Take new parameter. Store object name in the place pointed to. * include/dlfcn.h: Adjust _dl_catch_error prototype. * sysdeps/generic/ldsodefs.h: Adjust _dl_signal_error prototype. * elf/dl-libc.c (dlerror_run): Pass new parameter to _dl_catch_error. * elf/dl-open.c (_dl_open): Likewise. * elf/rtld.c (dl_main): Likewise. * elf/dl-close.c: Mark error messages with N_(). * elf/dl-deps.c: Likewise. * elf/dl-error.c: Likewise. * elf/dl-load.c: Likewise. * elf/dl-open.c: Likewise. * elf/dl-reloc.c: Likewise. * elf/dl-support.c: Likewise. * elf/dl-sym.c: Likewise. * elf/dl-version.c: Likewise. * elf/dl-lookup.c: Add comments about problems with error message translations. * elf/dl-reloc.c: Likewise. * elf/dl-version.c: Likewise.
Diffstat (limited to 'elf/rtld.c')
-rw-r--r-- | elf/rtld.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/elf/rtld.c b/elf/rtld.c index b83eaa61b1..5dbab3a885 100644 --- a/elf/rtld.c +++ b/elf/rtld.c @@ -507,14 +507,15 @@ of this helper program; chances are you did not intend to run this program.\n\ if (__builtin_expect (mode, normal) == verify) { - char *err_str = NULL; + const char *objname; + const char *err_str = NULL; struct map_args args; args.str = _dl_argv[0]; - (void) _dl_catch_error (&err_str, map_doit, &args); - if (err_str != NULL) + (void) _dl_catch_error (&objname, &err_str, map_doit, &args); + if (__builtin_expect (err_str != NULL, 0)) { - free (err_str); + free ((char *) err_str); _exit (EXIT_FAILURE); } } |