mirror of
https://sourceware.org/git/glibc.git
synced 2025-12-24 17:51:17 +03:00
Update.
2000-06-19 Ulrich Drepper <drepper@redhat.com> * elf/sprof.c (print_version): Update year. * elf/sprof.c (load_shobj): Don't always add load address to dynamic table entry values. Use D_PTR. * elf/dl-reloc.c (_dl_relocate_object): Don't start profiling weird binaries without PLT. Patches by James Mathiesen <james@curl.com>.
This commit is contained in:
@@ -94,13 +94,21 @@ cannot make segment writable for relocation"));
|
||||
if (__builtin_expect (_dl_profile != NULL, 0))
|
||||
{
|
||||
/* Allocate the array which will contain the already found
|
||||
relocations. */
|
||||
relocations. If the shared object lacks a PLT (for example
|
||||
if it inly contains lead function) the l_info[DT_PLTRELSZ]
|
||||
will be NULL. */
|
||||
if (l->l_info[DT_PLTRELSZ] == NULL)
|
||||
_dl_sysdep_fatal (_dl_argv[0] ?: "<program name unknown>",
|
||||
": profiler found no PLTREL in object ",
|
||||
l->l_name, "\n", NULL);
|
||||
|
||||
l->l_reloc_result =
|
||||
(ElfW(Addr) *) calloc (sizeof (ElfW(Addr)),
|
||||
l->l_info[DT_PLTRELSZ]->d_un.d_val);
|
||||
if (l->l_reloc_result == NULL)
|
||||
_dl_sysdep_fatal (_dl_argv[0] ?: "<program name unknown>",
|
||||
"cannot allocate memory for profiling", NULL);
|
||||
": profiler outof memory shadowing PLTREL of ",
|
||||
l->l_name, "\n", NULL);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user