On Tue, Dec 11, 2018 at 2:14 AM Tom de Vries <tdevr...@suse.de> 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  <tdevr...@suse.de>
>
>         * 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

Reply via email to