PR30407: Add DWARF5 support to print_ubacktrace_fileline()
Add DWARF5 support to the tapsef function print_ubacktrace_fileline().
DWARF5 comes with a different line number program header compared to
DWARF4, see section 6.2.4 of the DWARF5 standard. The DWARF5 specific
part of the header is now processed in a new _stp_filename_lookup_5().
This _stp_filename_lookup_5() needs to parse relatively big chunk of
information from DWARF (paths and file names). Storing these within
local arrays may cause problems with the stack size. For this reason
the storage was moved out to the context struct (dw_data). For this
reason, various callers need to pass the pointer to the context struct
to their callees. Finally _stp_filename_lookup_5() needs to see the
context struct at the KO compile time. Since the context struct is
emitted to the stap_XXXXXX_src.i (within s.up->emit_common_header ())
after the main header file for Linux runtime.h (which includes sym.c),
the _stp_filename_lookup_5() was separated out into sym2.c for later
emission.
This update comes with a testcase systemtap.base/pr30407.exp.