aboutsummaryrefslogtreecommitdiff
path: root/elf/dl-load.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2001-09-05 03:42:43 +0000
committerUlrich Drepper <drepper@redhat.com>2001-09-05 03:42:43 +0000
commit407fe3bbb3708abc6796acc71c5fe34371c2847c (patch)
tree918b347c952d9d399789d21394b991bd42916977 /elf/dl-load.c
parent71ce28fd1abbccc9814d199d770e673135a33ee1 (diff)
downloadglibc-407fe3bbb3708abc6796acc71c5fe34371c2847c.tar
glibc-407fe3bbb3708abc6796acc71c5fe34371c2847c.tar.gz
glibc-407fe3bbb3708abc6796acc71c5fe34371c2847c.tar.bz2
glibc-407fe3bbb3708abc6796acc71c5fe34371c2847c.zip
Update.
2001-09-04 Ulrich Drepper <drepper@redhat.com> Correct very misleading message for error in failed runtime relocation. * elf/dl-error.c (_dl_signal_error): Take extra parameter to describe place of the error. (_dl_signal_cerror): Likewise. * sysdeps/generic/ldsodefs.h: Adjust prototypes. * elf/dl-close.c: Likewise. * elf/dl-deps.c: Likewise. * elf/dl-load.c: Likewise. * elf/dl-lookup.c: Likewise. * elf/dl-open.c: Likewise. * elf/dl-reloc.c: Likewise. * elf/dl-sym.c: Likewise. * elf/dl-version.c: Likewise. * sysdeps/generic/dl-sysdep.c: Likewise.
Diffstat (limited to 'elf/dl-load.c')
-rw-r--r--elf/dl-load.c33
1 files changed, 20 insertions, 13 deletions
diff --git a/elf/dl-load.c b/elf/dl-load.c
index fe4e957ced..cf05ad0dc8 100644
--- a/elf/dl-load.c
+++ b/elf/dl-load.c
@@ -345,7 +345,7 @@ add_name_to_object (struct link_map *l, const char *name)
if (newname == NULL)
{
/* No more memory. */
- _dl_signal_error (ENOMEM, name, N_("cannot allocate name record"));
+ _dl_signal_error (ENOMEM, name, NULL, N_("cannot allocate name record"));
return;
}
/* The object should have a libname set from _dl_new_object. */
@@ -452,7 +452,7 @@ fillin_rpath (char *rpath, struct r_search_path_elem **result, const char *sep,
malloc (sizeof (*dirp) + ncapstr * sizeof (enum r_dir_status)
+ where_len + len + 1);
if (dirp == NULL)
- _dl_signal_error (ENOMEM, NULL,
+ _dl_signal_error (ENOMEM, NULL, NULL,
N_("cannot create cache for search path"));
dirp->dirname = ((char *) dirp + sizeof (*dirp)
@@ -521,7 +521,7 @@ decompose_rpath (struct r_search_path_struct *sps,
result = (struct r_search_path_elem **)
malloc (sizeof (*result));
if (result == NULL)
- _dl_signal_error (ENOMEM, NULL,
+ _dl_signal_error (ENOMEM, NULL, NULL,
N_("cannot create cache for search path"));
result[0] = NULL;
@@ -537,7 +537,8 @@ decompose_rpath (struct r_search_path_struct *sps,
string tokens. */
copy = expand_dynamic_string_token (l, rpath);
if (copy == NULL)
- _dl_signal_error (ENOMEM, NULL, N_("cannot create RUNPATH/RPATH copy"));
+ _dl_signal_error (ENOMEM, NULL, NULL,
+ N_("cannot create RUNPATH/RPATH copy"));
/* Count the number of necessary elements in the result array. */
nelems = 0;
@@ -550,7 +551,8 @@ decompose_rpath (struct r_search_path_struct *sps,
result = (struct r_search_path_elem **) malloc ((nelems + 1 + 1)
* sizeof (*result));
if (result == NULL)
- _dl_signal_error (ENOMEM, NULL, N_("cannot create cache for search path"));
+ _dl_signal_error (ENOMEM, NULL, NULL,
+ N_("cannot create cache for search path"));
fillin_rpath (copy, result, ":", 0, what, where);
@@ -587,7 +589,8 @@ _dl_init_paths (const char *llp)
aelem = rtld_search_dirs.dirs = (struct r_search_path_elem **)
malloc ((nsystem_dirs_len + 1) * sizeof (struct r_search_path_elem *));
if (rtld_search_dirs.dirs == NULL)
- _dl_signal_error (ENOMEM, NULL, N_("cannot create search path array"));
+ _dl_signal_error (ENOMEM, NULL, NULL,
+ N_("cannot create search path array"));
round_size = ((2 * sizeof (struct r_search_path_elem) - 1
+ ncapstr * sizeof (enum r_dir_status))
@@ -597,7 +600,8 @@ _dl_init_paths (const char *llp)
malloc ((sizeof (system_dirs) / sizeof (system_dirs[0]))
* round_size * sizeof (struct r_search_path_elem));
if (rtld_search_dirs.dirs[0] == NULL)
- _dl_signal_error (ENOMEM, NULL, N_("cannot create cache for search path"));
+ _dl_signal_error (ENOMEM, NULL, NULL,
+ N_("cannot create cache for search path"));
rtld_search_dirs.malloced = 0;
pelem = _dl_all_dirs = rtld_search_dirs.dirs[0];
@@ -689,7 +693,7 @@ _dl_init_paths (const char *llp)
env_path_list.dirs = (struct r_search_path_elem **)
malloc ((nllp + 1) * sizeof (struct r_search_path_elem *));
if (env_path_list.dirs == NULL)
- _dl_signal_error (ENOMEM, NULL,
+ _dl_signal_error (ENOMEM, NULL, NULL,
N_("cannot create cache for search path"));
(void) fillin_rpath (llp_tmp, env_path_list.dirs, ":;",
@@ -741,7 +745,7 @@ lose (int code, int fd, const char *name, char *realname, struct link_map *l,
free (l);
}
free (realname);
- _dl_signal_error (code, name, msg);
+ _dl_signal_error (code, name, NULL, msg);
}
@@ -819,7 +823,8 @@ _dl_map_object_from_fd (const char *name, int fd, struct filebuf *fbp,
if (_dl_zerofd == -1)
{
__close (fd);
- _dl_signal_error (errno, NULL, N_("cannot open zero fill device"));
+ _dl_signal_error (errno, NULL, NULL,
+ N_("cannot open zero fill device"));
}
}
#endif
@@ -1101,7 +1106,8 @@ _dl_map_object_from_fd (const char *name, int fd, struct filebuf *fbp,
free (l);
- _dl_signal_error (0, name, N_("shared object cannot be dlopen()ed"));
+ _dl_signal_error (0, name, NULL,
+ N_("shared object cannot be dlopen()ed"));
}
if (l->l_info[DT_HASH])
@@ -1720,7 +1726,7 @@ _dl_map_object (struct link_map *loader, const char *name, int preloaded,
/* Enter the new object in the list of loaded objects. */
if ((name_copy = local_strdup (name)) == NULL
|| (l = _dl_new_object (name_copy, name, type, loader)) == NULL)
- _dl_signal_error (ENOMEM, name,
+ _dl_signal_error (ENOMEM, name, NULL,
N_("cannot create shared object descriptor"));
/* Signal that this is a faked entry. */
l->l_faked = 1;
@@ -1734,7 +1740,8 @@ _dl_map_object (struct link_map *loader, const char *name, int preloaded,
return l;
}
else
- _dl_signal_error (errno, name, N_("cannot open shared object file"));
+ _dl_signal_error (errno, name, NULL,
+ N_("cannot open shared object file"));
}
return _dl_map_object_from_fd (name, fd, &fb, realname, loader, type, mode);