diff --git a/elf.c b/elf.c index 64e055b..072369c 100644 --- a/elf.c +++ b/elf.c @@ -566,6 +566,26 @@ elf_nosyms (struct backtrace_state *state ATTRIBUTE_UNUSED, error_callback (data, "no symbol table in ELF executable", -1); } +/* Variant of backtrace_syminfo_to_full_callback that handles the exta + wrapping of moredata. */ + +static void +backtrace_syminfo_to_full_callback_moredata (void *data, uintptr_t pc, + const char *symname, + uintptr_t symval ATTRIBUTE_UNUSED, + uintptr_t symsize ATTRIBUTE_UNUSED) +{ + struct backtrace_moredata *md = (struct backtrace_moredata *) data; + struct backtrace_call_full *bdata; + struct backtrace_moredata callback_md; + + bdata = (struct backtrace_call_full *) md->backtrace_data; + memset (&callback_md, 0, sizeof callback_md); + callback_md.backtrace_version = BACKTRACE_MOREDATA_VERSION; + callback_md.backtrace_data = bdata->full_data; + bdata->ret = bdata->full_callback (&callback_md, pc, NULL, 0, symname); +} + /* A callback function used when we can't find any debug info. */ static int diff --git a/fileline.c b/fileline.c index 4f92bf3..28afc6c 100644 --- a/fileline.c +++ b/fileline.c @@ -429,26 +429,6 @@ backtrace_syminfo_to_full_callback (void *data, uintptr_t pc, bdata->ret = bdata->full_callback (bdata->full_data, pc, NULL, 0, symname); } -/* Variant of backtrace_syminfo_to_full_callback that handles the exta - wrapping of moredata. */ - -void -backtrace_syminfo_to_full_callback_moredata (void *data, uintptr_t pc, - const char *symname, - uintptr_t symval ATTRIBUTE_UNUSED, - uintptr_t symsize ATTRIBUTE_UNUSED) -{ - struct backtrace_moredata *md = (struct backtrace_moredata *) data; - struct backtrace_call_full *bdata; - struct backtrace_moredata callback_md; - - bdata = (struct backtrace_call_full *) md->backtrace_data; - memset (&callback_md, 0, sizeof callback_md); - callback_md.backtrace_version = BACKTRACE_MOREDATA_VERSION; - callback_md.backtrace_data = bdata->full_data; - bdata->ret = bdata->full_callback (&callback_md, pc, NULL, 0, symname); -} - /* An error callback that corresponds to backtrace_syminfo_to_full_callback. */ diff --git a/internal.h b/internal.h index e678b71..26b41fb 100644 --- a/internal.h +++ b/internal.h @@ -394,15 +394,6 @@ extern void backtrace_syminfo_to_full_callback (void *data, uintptr_t pc, uintptr_t symval, uintptr_t symsize); -/* A variant of backtrace_syminfo_to_full_callback for when the moredata - flag is set. */ - -extern void backtrace_syminfo_to_full_callback_moredata (void *data, - uintptr_t pc, - const char *symname, - uintptr_t symval, - uintptr_t symsize); - /* An error callback that corresponds to backtrace_syminfo_to_full_callback. */