diff options
author | Tom de Vries <tdevries@suse.de> | 2019-01-17 00:07:32 +0000 |
---|---|---|
committer | Tom de Vries <vries@gcc.gnu.org> | 2019-01-17 00:07:32 +0000 |
commit | e6f00c83f4478e7e9174edf39219a6e0c1043c6c (patch) | |
tree | c45e23be50aa5e71905476e8df2e1ee1299a73ec /libbacktrace/dwarf.c | |
parent | a34c2a3d19b096a97184253d1e1f225f13bd3a0f (diff) | |
download | gcc-e6f00c83f4478e7e9174edf39219a6e0c1043c6c.zip gcc-e6f00c83f4478e7e9174edf39219a6e0c1043c6c.tar.gz gcc-e6f00c83f4478e7e9174edf39219a6e0c1043c6c.tar.bz2 |
[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 <tdevries@suse.de>
* 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
Diffstat (limited to 'libbacktrace/dwarf.c')
-rw-r--r-- | libbacktrace/dwarf.c | 6 |
1 files changed, 5 insertions, 1 deletions
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; |