And then have the ChangeLog merge=merge-changelog line
in ~/.gitattributes?
Cheers,
Mark
On Wed, Mar 21, 2018 at 02:20:51AM +0300, Dmitry V. Levin wrote:
> On Wed, Mar 21, 2018 at 12:03:53AM +0100, Mark Wielaard wrote:
> > I am not against this, but it could use a bit more documentation
> > in at least the commit message, so people know what they should
> > set
On Wed, Mar 21, 2018 at 02:28:48AM +0300, Dmitry V. Levin wrote:
> On Sun, Mar 18, 2018 at 01:43:23AM +0100, Mark Wielaard wrote:
> > + /* Let the ptrace fallback deal with the corner case of the address
> > + possibly crossing a page boundery. */
> > + if
wly reported ELF to take
> precedence
>
> b) we find an mmap event that with a non-zero pgoff, and have no clue how to
> call dwfl_report_elf and just give up.
>
> In both cases, I was hopeing for dwfl_report_module to help since it
> seemingly
> allows me to exactly recreate the mapping that was traced originally.
If you could add some logging and post that plus the eu-readelf -l
output of the ELF file, that might help track down what is really going
on.
Cheers,
Mark
ded to the next page.
Where the page size seems to be 4K (0x1000). I assume if you look at
the actual LOAD segment sizes of the files (eu-readelf -l) they match
with what dwfl reports, and if it extends to the nearest 4k page it
matches whatp mmap reports.
Cheers,
Mark
nt.
Note that in DWARF5 .debug_pubnames and .debug_pubtypes have been
replaced with common index .debug_names (like .gdb_index). But there is
no support for that index either yet (eu-readelf can read .gdb_index
sections, but libdw won't take advantage of them yet).
Sorry,
Mark
Sorry.
> If not, any ideas of how to construct a minimum .debug_info in order
> to read it?
At the moment you need a minimal CU DIE with a DW_AT_stmt_list pointing
to the line table, a DW_AT_name for the primary source file and a
DW_AT_comp_dir for the compilation directory to resolve any relative
file.
Cheers,
Mark
ht depend in which function you are
using whether or not libdw expects you to construct the full path
yourself or whether it will "helpfully" try to resolve it for you.
Cheers,
Mark
On Mon, 2018-03-26 at 21:24 +0200, Torsten Polle wrote:
> > > > Am 26.03.2018 um 21:12 schrieb Mark Wielaard :
> > On Mon, Mar 26, 2018 at 04:41:06PM +, Sasha Da Rocha Pinheiro wrote:
> > > is it possible to read contents of .debug_line section without the
>
On Tue, 2018-03-20 at 13:33 +0100, Mark Wielaard wrote:
> Report an error for why the DW_AT_decl_file or DW_AT_call_file cannot
> be resolved to a file name. This is likely invalid DWARF, a missing
> DW_AT_stmt_list attribute on the CU or a missing .debug_line section.
I pushed this
On Tue, 2018-03-27 at 15:42 +0200, Mark Wielaard wrote:
> On Tue, 2018-03-20 at 13:33 +0100, Mark Wielaard wrote:
> > Report an error for why the DW_AT_decl_file or DW_AT_call_file
> > cannot
> > be resolved to a file name. This is likely invalid DWARF, a missing
> > D
On Tue, 2018-03-20 at 23:32 +0100, Mark Wielaard wrote:
> On Sun, Mar 18, 2018 at 01:43:23AM +0100, Mark Wielaard wrote:
> > If possible use process_vm_readv to read 4K blocks instead of fetching
> > each word individually with ptrace. For unwinding this often means we
> >
The bucket chain should not contain loops. If it does we should mark the
hash bucket chain as invalid. This is easily checked by noticing when we
have seen more than the number of chain elements. Which equals the max
number as symbols in the table.
https://sourceware.org/bugzilla/show_bug.cgi?id
ed come up more often, and it is a little confusing.
So I am proposing the following documentation update to hopefully
explain better how to get the absolute path for a file (decl).
Hopefully this helps.
Cheers,
MarkFrom e87cfeb2290bff320c7f0a45f93ba571ffe3c58d Mon Sep 17 00:00:00 2001
From: Mark Wie
-bit value depending on endianness of the underlying
file.
Signed-off-by: Mark Wielaard
---
libdw/ChangeLog | 14 ++
libdw/dwarf_begin_elf.c | 1 +
libdw/dwarf_error.c | 3 +-
libdw/dwarf_formaddr.c | 113
libdw
Recognize the new .debug_str_offsets section. The CU will now hold a new
str_off_base offset in that section for that CU. dwarf_form_string will
decode DW_FORM_strx[1234] and return strings using that str_off_base
from the .debug_addr.
Signed-off-by: Mark Wielaard
---
libdw/ChangeLog
On Thu, 2018-03-29 at 14:10 +0200, Mark Wielaard wrote:
> It does indeed come up more often, and it is a little confusing.
> So I am proposing the following documentation update to hopefully
> explain better how to get the absolute path for a file (decl).
I did discuss this offlist a
On Fri, 2018-03-30 at 17:56 +0200, Mark Wielaard wrote:
> Recognize the new .debug_addr section. The CU will now hold a new
> address base offset in that section for that CU. dwarf_form_addr will
> decode DW_FORM_addrx[1234] and return addresses using that address
> base from the .d
On Fri, 2018-03-30 at 17:57 +0200, Mark Wielaard wrote:
> Recognize the new .debug_str_offsets section. The CU will now hold a new
> str_off_base offset in that section for that CU. dwarf_form_string will
> decode DW_FORM_strx[1234] and return strings using that str_off_base
> from the
et up. Shows up as a valgrind warning.
Signed-off-by: Mark Wielaard
---
libdw/ChangeLog | 5 +
libdw/libdw_findcu.c | 2 ++
2 files changed, 7 insertions(+)
diff --git a/libdw/ChangeLog b/libdw/ChangeLog
index ee6a1eb..ad62771 100644
--- a/libdw/ChangeLog
+++ b/libdw/ChangeLog
@@ -1,3
This caches the CU base address, makes error checking slight more relaxed
and restructures the code so it will be easier to add different forms
of ranges. Adds a new test for the new CU base address code.
Signed-off-by: Mark Wielaard
---
libdw/ChangeLog | 30 +
libdw
s at the end of unwinding the frame
that means that either the return address register is bogus (error),
or that the return address is undefined (end of the call stack).
This fixes the run-backtrace-native-biarch.sh testcase for me on an
i386 on x86_64 setup with gcc 7.2.1 and glibc 2.17.
Signed-off-by
The CFA is set by default to the stack pointer of the previous frame.
So that is also how we can always restore the SP. This default aarch64
CFI rule is necessary on Fedora 28 with GCC8 to make the run-deleted.sh
and run-backtrace-dwarf.sh testcases work.
Signed-off-by: Mark Wielaard
On Fri, 2018-04-06 at 14:27 +0200, Mark Wielaard wrote:
> This caches the CU base address, makes error checking slight more relaxed
> and restructures the code so it will be easier to add different forms
> of ranges. Adds a new test for the new CU base address code.
Pushed to master.
On Wed, 2018-04-11 at 10:47 +0200, Mark Wielaard wrote:
> The CFA is set by default to the stack pointer of the previous frame.
> So that is also how we can always restore the SP. This default aarch64
> CFI rule is necessary on Fedora 28 with GCC8 to make the run-deleted.sh
> and r
On Tue, 2018-04-10 at 16:23 +0200, Mark Wielaard wrote:
> When we have unwound the frame and then cannot set the return address
> we wouldn't set any error. That meant that a dwfl_thread_getframes ()
> call could end in an error, but without any dwfl_errno set, producing
> the
information about the CUs containing pointers into
other sections) we don't need to lookup the file names, nor print
the errors/warnings.
Signed-off-by: Mark Wielaard
---
src/ChangeLog | 4
src/readelf.c | 3 +++
2 files changed, 7 insertions(+)
diff --git a/src/ChangeLog b/src/ChangeLog
op_advance
Completely masking the bug.
The libdw dwarf_getsrclines.c implementation does get this right.
Because it doesn't care about the data representation and so does
the calculation directly.
Signed-off-by: Mark Wielaard
---
src/ChangeLog | 5 +
src/readelf.c | 2 +-
2 files changed, 6 i
irst fails without
the bug fix. The second was already correct.
Signed-off-by: Mark Wielaard
---
tests/ChangeLog| 6 +++
tests/Makefile.am | 1 +
tests/run-readelf-line.sh | 89 +
tests/testfile-ppc64-min-instr
On Thu, 2018-04-19 at 17:47 +0200, Andreas Schwab wrote:
> +2018-04-19 Andreas Schwab
> +
> + * elf.h: Update from glibc.
Thanks. Pushed to master.
empty
> FAIL run-backtrace-native-core.sh (exit status: 1)
This probably needs an abi_cfi hook and setting up the
frame_nregs field.
> In addition, all tests that use ptrace are failing as linux-user
> emulation does not implement it.
And it would need an set_initial_registers_tid hook
and possible a fallback unwind hook.
Cheers,
Mark
se we want to try to parse the "raw" section data.
Signed-off-by: Mark Wielaard
---
src/ChangeLog | 13 +
src/readelf.c | 33 +
2 files changed, 34 insertions(+), 12 deletions(-)
diff --git a/src/ChangeLog b/src/ChangeLog
index 3df62a0..55c5e
DW_FORM_line_strp strings come from a separate .debug_line_str section.
Make error messages more distinct (no .debug_str, no .debug_line_str or
not a string form).
Signed-off-by: Mark Wielaard
---
libdw/ChangeLog | 10 ++
libdw/dwarf_begin_elf.c | 1 +
libdw/dwarf_error.c
It is just a .debug_str section with another name.
Signed-off-by: Mark Wielaard
---
src/ChangeLog | 7 +++
src/readelf.c | 21 +
2 files changed, 20 insertions(+), 8 deletions(-)
diff --git a/src/ChangeLog b/src/ChangeLog
index 7764482..4b55bbc 100644
--- a/src
x and .debug_tu_index, nor the .debug_sup section
for supplemental DWARF files.
Signed-off-by: Mark Wielaard
---
libebl/ChangeLog| 6 ++
libebl/eblopenbackend.c | 7 +++
2 files changed, 13 insertions(+)
diff --git a/libebl/ChangeLog b/libebl/ChangeLog
index 66e8aa3..aa82e3a 100644
On Wed, Apr 25, 2018 at 01:23:27PM +0200, Mark Wielaard wrote:
> DW_FORM_line_strp strings come from a separate .debug_line_str section.
> Make error messages more distinct (no .debug_str, no .debug_line_str or
> not a string form).
Pushed to master.
On Wed, Apr 25, 2018 at 01:24:18PM +0200, Mark Wielaard wrote:
> It is just a .debug_str section with another name.
Pushed to master.
On Wed, Apr 25, 2018 at 01:24:37PM +0200, Mark Wielaard wrote:
> This adds the new DWARF5 debug section names .debug_addr, .debug_line_str,
> .debug_loclists, .debug_names, .debug_rnglists and .debug_str_offsets. This
> makes sure eu-strip knows to strip them away.
>
> Note that
ments. But the original old DWARF code path didn't really
change.
Signed-off-by: Mark Wielaard
---
libdw/ChangeLog| 8 +
libdw/dwarf.h | 11 ++
libdw/dwarf_getsrclines.c | 437 +++--
libdw/libdwP.h
Although we don't yet handle DWARF5 supplemental files, they are like
mostly like GNU alt files. This way using any of the supplemental files
will at least generate an appropriate error message.
Signed-off-by: Mark Wielaard
---
libdw/ChangeLog | 9 +
libdw/dwarf_form
section.
Signed-off-by: Mark Wielaard
---
src/ChangeLog | 7 +++
src/readelf.c | 39 ++-
2 files changed, 45 insertions(+), 1 deletion(-)
diff --git a/src/ChangeLog b/src/ChangeLog
index b1041a8..a6ee30b 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
might use the cu before realizing the Dwarf_Die is
invalid. Fix this with an explicit NULL check and add a testcase.
Signed-off-by: Mark Wielaard
---
libdw/ChangeLog| 6 +++
libdw/dwarf_siblingof.c| 5 ++-
libdw/libdwP.h | 2 +
tests/ChangeLog
format is also cleaned up a bit so that it better lines out.
Testcases adjusted and new ones added.
Signed-off-by: Mark Wielaard
---
libdw/ChangeLog | 7 +
libdw/dwarf_formstring.c| 17 --
libdw/libdwP.h | 107 ++-
src/ChangeLog | 11 +
src
through DW_MACRO_import_sup.
Signed-off-by: Mark Wielaard
---
libdw/ChangeLog | 8 ++
libdw/dwarf_formudata.c | 1 +
libdw/dwarf_getmacros.c | 42 +
src/ChangeLog | 5
src/readelf.c | 70
On Tue, 2018-05-08 at 00:06 +0200, Mark Wielaard wrote:
> In DWARF5 the actual line number table format doesn't change, except for
> not allowing DW_LNE_define_file (but we still just accept it). The
> changes are the header having new fields for address and segment
> select
On Tue, 2018-05-08 at 15:42 +0200, Mark Wielaard wrote:
> Although we don't yet handle DWARF5 supplemental files, they are like
> mostly like GNU alt files. This way using any of the supplemental files
> will at least generate an appropriate error message.
Pushed to master.
On Tue, 2018-05-08 at 16:49 +0200, Mark Wielaard wrote:
> Some debug sections need information from the CU DIEs to properly
> parse the data. Normally the .debug_info section is one of the first.
> But some DWARF producers reorder the sections and put it after some
> other debug se
On Tue, 2018-04-24 at 16:17 +0200, Mark Wielaard wrote:
> For various debug data sections readelf has its own parsers that don't
> rely on libdw data structures or functions. But we still like to get the
> data through libdw since that will be uncompressed and/or relocated.
>
To make it possible to use eu-addr2line interactively through a pipe we
need to explicitly flush stdout after handling each line from stdin.
https://sourceware.org/bugzilla/show_bug.cgi?id=23173
Signed-off-by: Mark Wielaard
---
src/ChangeLog | 5 +
src/addr2line.c | 1 +
2 files changed
On Fri, 2018-05-11 at 12:49 +0200, Mark Wielaard wrote:
> In some cases we create an illegal Dwarf_Die by clearing all fields.
> The idea is that dwarf_tag () on such a Dwarf_Die will return
> DW_TAG_invalid, to indicate that the Dwarf_Die is unusable (and other
> functions will also r
On Fri, 2018-05-11 at 14:28 +0200, Mark Wielaard wrote:
> This only changes the parsing of the directory and file name tables.
> It does this by sharing the printing of (non-CU based) from data from
> the .debug_macro code. Adding support for printing strx[1234] form
> data
> by s
On Fri, 2018-05-11 at 15:38 +0200, Mark Wielaard wrote:
> Almost identical to GNU .debug_macro extension. Just accept and use
> DW_AT_macros where we accept or use DW_AT_GNU_macros. And be a little
> stricter in which FORMs we accept (this could have caused problems
> with the GNU
The buildbot flagged a couple of issues on debian-i686.
Fixes pushed to master.
Signed-off-by: Mark Wielaard
---
src/ChangeLog | 6 ++
src/readelf.c | 10 +-
2 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/src/ChangeLog b/src/ChangeLog
index 4e6887e..419fa20 100644
dwarf with their skeleton (or the other way around). It also
doesn't yet handle any special split-dwarf attributes or tags.
Signed-off-by: Mark Wielaard
---
libdw/ChangeLog | 5 +
libdw/dwarf_begin_elf.c | 31 +--
src/ChangeLog | 4
src
Most are handled just like their DWARF5 counterparts.
Signed-off-by: Mark Wielaard
---
libdw/ChangeLog | 20
libdw/dwarf.h | 16
libdw/dwarf_formaddr.c| 4 +++-
libdw/dwarf_formstring.c | 3 ++-
libdw/dwarf_formudata.c | 2
The split dwarf dwo unit id and type are not in the CU header itself, but
can be found in the CU DIE DW_AT_GNU_dwo attributes. Use this to set the
correct unit_type and id for GNU DebugFission split units. Also show this
information in eu-readelf when printing units.
Signed-off-by: Mark Wielaard
there an ELF abi document for riscv that describes these special
symbols?
Thanks,
Mark
you take a look
at the CONTRIBUTING file and add one if you agree with the
Developer's Certificate of Origin:
https://sourceware.org/git/?p=elfutils.git;a=blob;f=CONTRIBUTING;hb=HEAD
Thanks,
Mark
On Tue, May 15, 2018 at 11:18:43PM +0300, Dmitry V. Levin wrote:
> Signed-off-by: Dmitry V. Levin
Great. Pushed.
Thanks,
Mark
str_offsets_base_off which is tested in the
new testcase (by getting the name of the split CU DIE).
Signed-off-by: Mark Wielaard
---
libdw/ChangeLog | 15 +
libdw/Makefile.am | 3 +-
libdw/dwarf_end.c | 5 ++
libdw/dwarf_get_units.c
dwarf_attr_integrate and dwarf_hasattr_integrate should also search
for attributes from the skeleton DIE in case the given DIE is a split
compile unit DIE. Split compile unit DIEs inherit various attributes
from their skeleton unit DIE in DWARF5.
Signed-off-by: Mark Wielaard
---
libdw/ChangeLog
set it if it has recorded it. Which it will
do now before closing a file descriptor for the main Dwfl_Module file.
Signed-off-by: Mark Wielaard
---
libdw/ChangeLog| 15 ++
libdw/dwarf_begin_elf.c| 24 +++
libdw/dwarf_end.c | 3
n
(at offset zero). To get the full line table use the skeleton DIE (which
does have a DW_AT_stmt_list).
Signed-off-by: Mark Wielaard
---
libdw/ChangeLog | 9 +++
libdw/dwarf_getsrcfiles.c | 50 ---
libdw/dwarf_getsrclines.c | 25 ++
On Tue, May 15, 2018 at 12:33:33PM +0200, Mark Wielaard wrote:
> The .debug_*.dwo section names are handled just like their none .dwo
> variants. The section contents is the same as sections without the .dwo
> name, but they are only found in split-dwarf files. This patch allows
>
On Tue, May 15, 2018 at 01:27:00PM +0200, Mark Wielaard wrote:
> Most are handled just like their DWARF5 counterparts.
Pushed to master.
On Tue, May 15, 2018 at 02:04:31PM +0200, Mark Wielaard wrote:
> The split dwarf dwo unit id and type are not in the CU header itself, but
> can be found in the CU DIE DW_AT_GNU_dwo attributes. Use this to set the
> correct unit_type and id for GNU DebugFission split units. Also
split unit DIE from the skeleton.
A new testcase is added to iterate over all ranges in a split GNU
DebugFission file.
Signed-off-by: Mark Wielaard
---
libdw/ChangeLog | 12
libdw/dwarf_formudata.c | 50 +--
libdw/dwarf_highpc.c
On Wed, May 16, 2018 at 09:15:01PM +0200, Mark Wielaard wrote:
> For a skeleton DIE dwarf_get_units should provide the split DIE as subdie.
> This implements that by trying to find the (named) .dwo file and finding
> the matching CU in it. The .dwo file is search relative to the current
&
As pointed out by the i386-debian buildbot.
The prototype and definition should match. On i386 this is important
because it changes the calling convention.
Signed-off-by: Mark Wielaard
---
libdw/ChangeLog | 4
libdw/libdwP.h | 3 ++-
2 files changed, 6 insertions(+), 1 deletion(-)
diff
On Thu, May 17, 2018 at 01:28:25PM +0200, Mark Wielaard wrote:
> dwarf_attr_integrate and dwarf_hasattr_integrate should also search
> for attributes from the skeleton DIE in case the given DIE is a split
> compile unit DIE. Split compile unit DIEs inherit various attributes
> from th
through some other way.
Add a new testcase to make sure the results of calling dwarf_cu_info
and dwarf_get_units are consistent.
Signed-off-by: Mark Wielaard
---
libdw/ChangeLog| 7 +
libdw/Makefile.am | 2 +-
libdw/dwarf_cu_info.c | 103 +
libdw/libdw.h | 14
_all_call_sites (flag_present) yes
{2b}base_typeabbrev: 3
byte_size(data1) 4
encoding (data1) signed (5)
name (string) "int"
Signed-off-by: Mark Wielaard
---
src/ChangeLog | 12 ++
src/readelf.c | 107
On Thu, May 17, 2018 at 07:43:42PM +0200, Mark Wielaard wrote:
> The logic that finds alt files and dwo files relies on having an open
> file descriptor. But after all needed ELF data has been read the
> underlying Elf file descriptor can be closed. libdwfl in particular
> closes fil
ibute pair) to run-all-dwarf-ranges.sh.
Signed-off-by: Mark Wielaard
---
libdw/ChangeLog | 19
libdw/dwarf_begin_elf.c | 27 +
libdw/dwarf_end.c | 12 ++-
libdw/dwarf_formaddr.c| 18
libdw/dwarf_formudata.c
he same as the attribute not being there.
Signed-off-by: Mark Wielaard
---
libdw/ChangeLog | 7 +++
libdw/dwarf_getlocation.c | 17 -
libdw/dwarf_highpc.c | 10 ++
3 files changed, 17 insertions(+), 17 deletions(-)
diff --git a/libdw/ChangeLog b/libdw
On Fri, 2018-05-18 at 12:58 +0200, Mark Wielaard wrote:
> Split DWARF .dwo files do contain a .debug_line section, but only with
> the file table, there is no actual line program. Also split DWARF CU DIEs
> don't have a DW_AT_stmt_list attribute. To get at the file (and dir) table
a layout eu-stack would then be able to find the unwind
tables and symbols associated with a particular address.
I believe qemu already has an gdb stub that gdb can use to get at the
registers, memory and process layout. Maybe you could adapt that
provide the information needed.
Cheers,
Mark
On Sat, May 19, 2018 at 04:03:51PM +0200, Mark Wielaard wrote:
> GNU DebugFission split dwarf handles DW_FORM_sec_offset specially for
> attributes that point to ranges. The .debug_ranges section is not in
> the .dwo file, but in the main/skeleton object file. The sec_offset is
> not r
Parse the .debug_rnglists section for DWARF5 --debug-dump=ranges.
Add testcase to show both "normal" and "split" DWARF variants are
handled for DWARF4 and DWARF5.
Signed-off-by: Mark Wielaard
---
libdw/ChangeLog | 11 +
libdw/dwarf.h | 13 ++
lib
On Sat, 2018-05-19 at 16:03 +0200, Mark Wielaard wrote:
> GNU DebugFission split dwarf handles DW_FORM_sec_offset specially for
> attributes that point to ranges. The .debug_ranges section is not in
> the .dwo file, but in the main/skeleton object file. The sec_offset is
> not reloc
On Sun, 2018-05-20 at 15:21 +0200, Mark Wielaard wrote:
> This allows getting a (split) subdie lazily, only when needed.
> All arguments to dwarf_get_units are optional. When not given
> then unit DIE and sub DIE are not looked up. This new function
> allows them to be looked
On Sun, 2018-05-20 at 21:28 +0200, Mark Wielaard wrote:
> To show the difference between "regular" CUs and split CUs print
> offsets and references between { and } instead of [ and ].
>
> When --debug-dump=info+ is given (implied by -w) instead of
> --debug-dump=info
ith dwarf_frame_register (), etc. They don't
care whether the CFI came from a Dwarf .debug_frame or Elf .eh_frame.
Cheers,
Mark
Handle all new DW_RLE opcodes in .debug_rnglists in dwarf_ranges. Extract
code for reading .debug_addr indexes from dwarf_formaddr as __libdw_addrx
to reuse in __libdw_read_begin_end_pair_inc. And add new testcase.
Signed-off-by: Mark Wielaard
---
libdw/ChangeLog | 15
;, it will link up the libdw datastructures
so that the skeleton and split DWARF units are setup correctly anyway.
This does introduce a problem when trying to cleanup the Dwarf handle
ownership graph. So we will deliberately leak memory by not closing the
underlying Dwfl in that case.
Signed-of
On Tue, 2018-05-22 at 13:10 +0200, Mark Wielaard wrote:
> DW_OP_addrx/constx and GNU DebugFission DW_OP_GNU_addr/const_index take
> as argument an index into the .debug_addr section for the associated CU.
> This index gets resolved through dwarf_getlocation_attr. A new fake addr
> C
On Tue, 2018-05-22 at 14:44 +0200, Mark Wielaard wrote:
> dwarf_highpc can use any address FORM, not just DW_FORM_addr. Just try
> whether the address can be resolved as address. Always set error when
> attribute couldn't be found or resolved. When calculating the base
> address f
: all warnings being treated as errors
Signed-off-by: Mark Wielaard
---
libdw/ChangeLog| 5 +
libdw/dwarf_getlocation_attr.c | 2 +-
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/libdw/ChangeLog b/libdw/ChangeLog
index 526c91f..fd59a24 100644
--- a/libdw
files.
Signed-off-by: Mark Wielaard
---
libdwfl/ChangeLog | 5 +
libdwfl/relocate.c | 2 +-
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/libdwfl/ChangeLog b/libdwfl/ChangeLog
index d69fe0c..34aa07d 100644
--- a/libdwfl/ChangeLog
+++ b/libdwfl/ChangeLog
@@ -1,3 +1,8 @@
+2018
The new DWARF5 .debug_loclists sections are like .debug_rnglists, but
plus locations. For Split Dwarf GCC generates the .debug_loclists fully
in the split .dwo file. Any references to addresses need to be resolved
through the skeleton .debug_addr section.
Signed-off-by: Mark Wielaard
---
libdw
On Wed, May 23, 2018 at 04:29:56PM +0200, Mark Wielaard wrote:
> Parse the .debug_rnglists section for DWARF5 --debug-dump=ranges.
> Add testcase to show both "normal" and "split" DWARF variants are
> handled for DWARF4 and DWARF5.
Pushed to master.
/ml/gcc-patches/2018-05/msg01562.html
Signed-off-by: Mark Wielaard
---
libdw/ChangeLog | 17
libdw/dwarf_begin_elf.c | 27 +++
libdw/dwarf_end.c| 5 ++
libdw/dwarf_getlocation.c| 99 ---
libdw
On Thu, 2018-05-24 at 21:08 +0200, Mark Wielaard wrote:
> Handle all new DW_RLE opcodes in .debug_rnglists in dwarf_ranges. Extract
> code for reading .debug_addr indexes from dwarf_formaddr as __libdw_addrx
> to reuse in __libdw_read_begin_end_pair_inc. And add new testcase.
Pushe
[GNU_]_addr_base offsets.
Signed-off-by: Mark Wielaard
---
src/ChangeLog | 12 ++
src/readelf.c | 267 +++-
tests/ChangeLog | 7 ++
tests/Makefile.am | 2 +
tests/run-readelf-addr.sh
) file, never in
the main (skeleton) file.
For DWARF5 the (non-split) unit DIE will have a DW_AT_str_offsets_base
attribute pointing at the actual index (after the header). The split
unit will never have this attribute (and use the table at offset zero).
Signed-off-by: Mark Wielaard
---
src
On Fri, 2018-05-25 at 14:43 +0200, Mark Wielaard wrote:
> To get the right context (especially addresses) when looking at a .dwo file
> we really need the skeleton file. If we can find it (simply replace .dwo
> with .o) then use that to get to the split DWARF units so that libdw sets
make distcheck) before the fix.
Signed-off-by: Mark Wielaard
---
libdw/ChangeLog| 5 +
libdw/libdw_find_split_unit.c | 11 +--
src/ChangeLog | 5 +
src/readelf.c | 2 +-
tests/ChangeLog| 6 ++
tests/Makefi
needed.
Fix by resetting the implicit and explicit section printing flags.
Add a testcase that prints the .debug_loc section for two files and
check that the CUs are resolved.
Signed-off-by: Mark Wielaard
---
src/ChangeLog | 5 +
src/readelf.c | 10 +-
GNU DebugFission .debug_loc location lists uses the .debug_loc section
in the split dwarf .dwo file. The encoding is a mix of old style DWARF
.debug_loc and new style .debug_loclists.
Add two testcases for the readelf and libdw decoders.
Signed-off-by: Mark Wielaard
---
libdw/ChangeLog
On Sun, 2018-05-27 at 14:13 +0200, Mark Wielaard wrote:
> __libdwfl_relocate is called for get_dwarf and get_elf. We allow not all
> relocations to be resolved for Elf files, but required all relocations
> (in the debug sections) to be fully resoled in Dwarf files. This used to
> mos
901 - 1000 of 3433 matches
Mail list logo