[Bug tools/24550] eu-readelf does not know about DW_AT_GNU_{bias,numerator,denumerator}

2019-05-16 Thread mark at klomp dot org
https://sourceware.org/bugzilla/show_bug.cgi?id=24550

Mark Wielaard  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED

--- Comment #5 from Mark Wielaard  ---
Thanks for the analysis. For now I'll just go with adding the constants. They
seem to be printed as expected. But having examples in the testsuite might not
be the right time now since you might still fix some things about the actual
DWARF emitted.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

[Bug tools/24550] eu-readelf does not know about DW_AT_GNU_{bias,numerator,denumerator}

2019-05-16 Thread mark at klomp dot org
https://sourceware.org/bugzilla/show_bug.cgi?id=24550

Mark Wielaard  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #6 from Mark Wielaard  ---
commit a117891a00507d188fdab415bd25554ace9ed7ba
Author: Mark Wielaard 
Date:   Thu May 16 17:20:35 2019 +0200

libdw: Add DW_AT_GNU_numerator, DW_AT_GNU_denominator and DW_AT_GNU_bias.

https://sourceware.org/bugzilla/show_bug.cgi?id=24550

Signed-off-by: Mark Wielaard 

-- 
You are receiving this mail because:
You are on the CC list for the bug.

[Bug tools/24509] eu-readelf does not know how to dissect DW_AT_discr_list

2019-05-16 Thread mark at klomp dot org
https://sourceware.org/bugzilla/show_bug.cgi?id=24509

Mark Wielaard  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #7 from Mark Wielaard  ---
commit 643cbb275d65533472c0f53391f9fc1d5d9a2efc
Author: Mark Wielaard 
Date:   Sun May 5 23:18:36 2019 +0200

readelf: Decode DW_AT_discr_list block attributes.

Decode DW_AT_descr_list blocks using the DW_DSC values.
This requires knowing the signedness of the discriminant.
Which means the attr_callback function needs access to the
parent DIE. Pass the whole DIE path, plus the current level.
That way the type of the discriminant can be looked up in
the variant_part (parent) DIE of the variant DIE (which has
the discr_list attribute).

Add a testcase using both signed and unsigned discriminants.

https://sourceware.org/bugzilla/show_bug.cgi?id=24509

Signed-off-by: Mark Wielaard 

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Re: [PATCH] libelf: Mark shdr_flags dirty if offset or size changes during update.

2019-05-16 Thread Mark Wielaard
On Mon, 2019-05-13 at 00:13 +0200, Mark Wielaard wrote:
> We forgot to mark the shdr_flags dirty when only the sh_size or
> sh_offset changed during elf_update (). This meant that if there were
> no other shdr changes we only wrote out the section data, but didn't
> write out the shdr table to the file.
> 
> Add a testcase that puts some sections in the reverse order and then
> writes out the resulting file again without doing any other
> updates. This would show the issue after write out of the
> (re-reversed) ELF file (the .shstrtab section offset would be wrong
> causing all section names to be garbage). Also run a self test on the
> ET_REL object files.

I pushed this to master with one small change to the self test.
It is now ran on all files. It only really tests the issue for ET_REL
files (since otherwise we keep the layout the same and so don't even
update the offsets). But it is better for test coverage to make sure
things also work fine for ET_DYN and ET_EXEC files.

It also seems to have fixed this RPM issue:
"debugedit fails to update section headers"
https://github.com/rpm-software-management/rpm/issues/423

Cheers,

Mark