On Tue, Dec 11, 2018 at 2:14 AM Tom de Vries <[email protected]> wrote:
>
> Add an altlink field to struct dwarf_data, and initialize it with the pointer
> to the struct dwarf_data for the .gnu_debugaltlink.
>
> 2018-11-11 Tom de Vries <[email protected]>
>
> * dwarf.c (struct dwarf_data): Add altlink field.
> (backtrace_dwarf_add): Add and handle fileline_entry and
> fileline_altlink parameters.
> * elf.c (elf_add): Add and handle fileline_entry parameter. Add args
> to
> backtrace_dwarf_add call.
> (phdr_callback, backtrace_initialize): Add arguments to elf_add calls.
> * internal.h (backtrace_dwarf_add): Add fileline_entry and
> fileline_altlink parameters.
> * pecoff.c (coff_add): Add args to backtrace_dwarf_add call.
> * xcoff.c (xcoff_add): Same.
> @@ -2968,7 +2970,7 @@ build_dwarf_data (struct backtrace_state *state,
> size_t dwarf_str_size,
> int is_bigendian,
> backtrace_error_callback error_callback,
> - void *data)
> + void *data, struct dwarf_data *altlink)
> {
error_callback and data should remain the last two parameters, as they
are for many of the functions in this file.
> @@ -3031,7 +3034,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, void **fileline_entry,
> + void *fileline_altlink)
The new fileline_altlink parameter should come before error_callback,
as it is not error_callback/data and is not a result parameter.
What is fileline_entry for? Why is it void**?
Ian