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 /include/dlfcn.h | |
parent | f3863621f617b040c66d635109203c29f35f7331 (diff) | |
download | glibc-8e17ea58173d35e2e5dabfeb9fa5abf2609cfc51.zip glibc-8e17ea58173d35e2e5dabfeb9fa5abf2609cfc51.tar.gz glibc-8e17ea58173d35e2e5dabfeb9fa5abf2609cfc51.tar.bz2 |
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 'include/dlfcn.h')
-rw-r--r-- | include/dlfcn.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/include/dlfcn.h b/include/dlfcn.h index a2398c4..ad445ae 100644 --- a/include/dlfcn.h +++ b/include/dlfcn.h @@ -36,14 +36,15 @@ extern void *_dl_sym (void *handle, const char *name, void *who) extern void *_dl_vsym (void *handle, const char *name, const char *version, void *who) internal_function; - + /* Call OPERATE, catching errors from `dl_signal_error'. If there is no error, *ERRSTRING is set to null. If there is an error, *ERRSTRING is set to a string constructed from the strings passed to _dl_signal_error, - and the error code passed is the return value. ERRSTRING if nonzero + and the error code passed is the return value and *OBJNAME is set to + the object name which experienced the problems. ERRSTRING if nonzero points to a malloc'ed string which the caller has to free after use. ARGS is passed as argument to OPERATE. */ -extern int _dl_catch_error (char **errstring, +extern int _dl_catch_error (const char **objname, const char **errstring, void (*operate) (void *), void *args) internal_function; |