aboutsummaryrefslogtreecommitdiff
path: root/libbacktrace/dwarf.c
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2019-01-17 00:07:32 +0000
committerTom de Vries <vries@gcc.gnu.org>2019-01-17 00:07:32 +0000
commite6f00c83f4478e7e9174edf39219a6e0c1043c6c (patch)
treec45e23be50aa5e71905476e8df2e1ee1299a73ec /libbacktrace/dwarf.c
parenta34c2a3d19b096a97184253d1e1f225f13bd3a0f (diff)
downloadgcc-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.c6
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;