aboutsummaryrefslogtreecommitdiff
path: root/libbacktrace/elf.c
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2019-01-17 00:07:43 +0000
committerTom de Vries <vries@gcc.gnu.org>2019-01-17 00:07:43 +0000
commit9ad458d5397ffccd419cdd4a00dd816a500ab018 (patch)
tree53f7bad707d051b375f18d8d7d537787deace525 /libbacktrace/elf.c
parente6f00c83f4478e7e9174edf39219a6e0c1043c6c (diff)
downloadgcc-9ad458d5397ffccd419cdd4a00dd816a500ab018.zip
gcc-9ad458d5397ffccd419cdd4a00dd816a500ab018.tar.gz
gcc-9ad458d5397ffccd419cdd4a00dd816a500ab018.tar.bz2
[libbacktrace] Add altlink field to struct dwarf_data
Add an altlink field to struct dwarf_data, and initialize it with the pointer to the struct dwarf_data for the .gnu_debugaltlink. 2019-01-17 Tom de Vries <tdevries@suse.de> * dwarf.c (struct dwarf_data): Add altlink field. (backtrace_dwarf_add): Add and handle fileline_altlink parameter. * elf.c (elf_add): Add argument to backtrace_dwarf_add call. (phdr_callback, backtrace_initialize): Add argument to elf_add calls. * internal.h (backtrace_dwarf_add): Add fileline_altlink parameter. * pecoff.c (coff_add): Add argument to backtrace_dwarf_add call. * xcoff.c (xcoff_add): Same. From-SVN: r267994
Diffstat (limited to 'libbacktrace/elf.c')
-rw-r--r--libbacktrace/elf.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/libbacktrace/elf.c b/libbacktrace/elf.c
index a863327..87e7b0d 100644
--- a/libbacktrace/elf.c
+++ b/libbacktrace/elf.c
@@ -3097,6 +3097,7 @@ elf_add (struct backtrace_state *state, const char *filename, int descriptor,
debuglink_view_valid = 0;
}
+ struct dwarf_data *fileline_altlink = NULL;
if (debugaltlink_name != NULL)
{
int d;
@@ -3108,7 +3109,7 @@ elf_add (struct backtrace_state *state, const char *filename, int descriptor,
int ret;
ret = elf_add (state, filename, d, base_address, error_callback, data,
- fileline_fn, found_sym, found_dwarf, NULL,
+ fileline_fn, found_sym, found_dwarf, &fileline_altlink,
0, 1, debugaltlink_buildid_data,
debugaltlink_buildid_size);
backtrace_release_view (state, &debugaltlink_view, error_callback,
@@ -3265,6 +3266,7 @@ elf_add (struct backtrace_state *state, const char *filename, int descriptor,
sections[DEBUG_STR].data,
sections[DEBUG_STR].size,
ehdr.e_ident[EI_DATA] == ELFDATA2MSB,
+ fileline_altlink,
error_callback, data, fileline_fn,
fileline_entry))
goto fail;