From e6f00c83f4478e7e9174edf39219a6e0c1043c6c Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Thu, 17 Jan 2019 00:07:32 +0000 Subject: [libbacktrace] Return struct dwarf_data pointer from elf_add Allow the caller of elf_add access to the struct dwarf_data pointer corresponding to the added elf. 2019-01-17 Tom de Vries * internal.h (backtrace_dwarf_add): Add fileline_entry parameter. * dwarf.c (backtrace_dwarf_add): Add and handle fileline_entry parameter. * elf.c (elf_add): Add and handle fileline_entry parameter. Add argument to backtrace_dwarf_add call. (phdr_callback, backtrace_initialize): Add argument to elf_add calls. * pecoff.c (coff_add): Add argument to backtrace_dwarf_add call. * xcoff.c (xcoff_add): Same. From-SVN: r267993 --- libbacktrace/dwarf.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'libbacktrace/dwarf.c') diff --git a/libbacktrace/dwarf.c b/libbacktrace/dwarf.c index dca5d90..190c6fc 100644 --- a/libbacktrace/dwarf.c +++ b/libbacktrace/dwarf.c @@ -3064,7 +3064,8 @@ backtrace_dwarf_add (struct backtrace_state *state, size_t dwarf_str_size, int is_bigendian, backtrace_error_callback error_callback, - void *data, fileline *fileline_fn) + void *data, fileline *fileline_fn, + struct dwarf_data **fileline_entry) { struct dwarf_data *fdata; @@ -3076,6 +3077,9 @@ backtrace_dwarf_add (struct backtrace_state *state, if (fdata == NULL) return 0; + if (fileline_entry != NULL) + *fileline_entry = fdata; + if (!state->threaded) { struct dwarf_data **pp; -- cgit v1.1