aboutsummaryrefslogtreecommitdiff
path: root/ltrace-elf.c
diff options
context:
space:
mode:
Diffstat (limited to 'ltrace-elf.c')
-rw-r--r--ltrace-elf.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/ltrace-elf.c b/ltrace-elf.c
index bdb6220..f4a58a5 100644
--- a/ltrace-elf.c
+++ b/ltrace-elf.c
@@ -63,13 +63,16 @@ arch_elf_destroy(struct ltelf *lte)
}
#endif
-static int
+int
default_elf_add_plt_entry(struct Process *proc, struct ltelf *lte,
const char *a_name, GElf_Rela *rela, size_t ndx,
struct library_symbol **ret)
{
char *name = strdup(a_name);
if (name == NULL) {
+ fail_message:
+ fprintf(stderr, "Couldn't create symbol for PLT entry: %s\n",
+ strerror(errno));
fail:
free(name);
return -1;
@@ -79,7 +82,7 @@ default_elf_add_plt_entry(struct Process *proc, struct ltelf *lte,
struct library_symbol *libsym = malloc(sizeof(*libsym));
if (libsym == NULL)
- goto fail;
+ goto fail_message;
/* XXX The double cast should be removed when
* arch_addr_t becomes integral type. */