Re: [PATCH] libdwfl: Fix relocation overlap sanity check.

2018-11-26 Thread Mark Wielaard
On Fri, 2018-11-23 at 21:20 +0100, Mark Wielaard wrote:
> We would not relocate when the relocation section data or the target
> section date would overlap with one of the ELF headers. This is only
> really necessary if the data comes directly from the mmapped file.
> Otherwise there is no real overlap and the relocations can be safely
> applied.
> 
> One particular thing we got wrong with the original sanity check was
> when the relocation data or target data section was compressed. In
> that case it could happen we overestimated the size (because the Shdr
> would have been updated to show the uncompressed data size). But
> uncompressed data is always malloced and so cannot overlap with the
> mmapped Elf header structures.
> 
> When building with CFLAGS="-g -Og" this showed up as a failure in
> run-strip-reloc.sh for strip-compressed.o. Where the .debug_loc
> section decompressed would "overlap" with the shdrs at the end of
> the file and so wouldn't get relocations applied.

Pushed to master.


Re: [PATCH] libdw: Enable building with -Og.

2018-11-26 Thread Mark Wielaard
On Fri, 2018-11-23 at 21:08 +0100, Mark Wielaard wrote:
> When building with -Og gcc is unable to see that __libdw_dieabbrev ()
> will initialize what the second argument points to when no error
> occurs
> as called by dwarf_child and dwarf_getattrs. Causing an possibly
> uninitialized error. Just initialize readp/die_addr to NULL, which is
> the value we would return if an error occurs anyway.
> 
> https://sourceware.org/bugzilla/show_bug.cgi?id=23914

Pushed to master.


[Bug backends/23902] varlocs dwarf_cfi_addrframe: unknown error (missing ebl abi_cfi hook)

2018-11-26 Thread mark at klomp dot org
https://sourceware.org/bugzilla/show_bug.cgi?id=23902

Mark Wielaard  changed:

   What|Removed |Added

Summary|varlocs |varlocs
   |dwarf_cfi_addrframe:|dwarf_cfi_addrframe:
   |unknown error   |unknown error (missing ebl
   ||abi_cfi hook)

--- Comment #7 from Mark Wielaard  ---
The ebl abi_cfi hook sets up the initial CFI instructions, default data
alignment factor and return address register for the architecture. These are
normally given in the System V Application Binary Interface Processor
Supplement for a specific architecture which also explain the DWARF register
mappings.

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

[Bug tools/23920] New: elflint should check sanity check Chdr fields and uncompressed data of compressed sections

2018-11-26 Thread mark at klomp dot org
https://sourceware.org/bugzilla/show_bug.cgi?id=23920

Bug ID: 23920
   Summary: elflint should check sanity check Chdr fields and
uncompressed data of compressed sections
   Product: elfutils
   Version: unspecified
Status: NEW
  Severity: normal
  Priority: P2
 Component: tools
  Assignee: unassigned at sourceware dot org
  Reporter: mark at klomp dot org
CC: elfutils-devel at sourceware dot org
  Target Milestone: ---

elflint currently only checks that a section that has SHF_COMPRESSED set has a
Chdr. It doesn't check anything about the Chdr (does the ch_type make sense, is
the alignment a power of 2, does the data uncompress, etc.) nor whether the
other flags of the section make sense (it cannot be SHF_ALLOC, SHF_NOBITS).

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

[Bug tools/23921] New: elflint should check (minimum) section alignment sanity

2018-11-26 Thread mark at klomp dot org
https://sourceware.org/bugzilla/show_bug.cgi?id=23921

Bug ID: 23921
   Summary: elflint should check (minimum) section alignment
sanity
   Product: elfutils
   Version: unspecified
Status: NEW
  Severity: normal
  Priority: P2
 Component: tools
  Assignee: unassigned at sourceware dot org
  Reporter: mark at klomp dot org
CC: elfutils-devel at sourceware dot org
  Target Milestone: ---

elflint currently only checks the alignment of section zero is zero.

It should check that the offset and address of the section match the alignment
and it should check the alignment is setup correctly for various known types.

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

[Bug libelf/23916] [bisected] elifutils-0.175 broke kernel's objtool (elifutils-0.173 works)

2018-11-26 Thread mark at klomp dot org
https://sourceware.org/bugzilla/show_bug.cgi?id=23916

--- Comment #4 from Mark Wielaard  ---
(In reply to Sergei Trofimovich from comment #3)
> On a related note: should eu-elflint complain on originally compiled
> rapl.o.back (from tarball)? That would ease detecting non-conformant
> binutils versions.

Yes, that is probably a good idea, I filed two new bugs:

Bug 23920 - elflint should check sanity check Chdr fields and uncompressed data
of compressed sections

Bug 23921 - elflint should check (minimum) section alignment sanity

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

[Bug libelf/23916] [bisected] elifutils-0.175 broke kernel's objtool (elifutils-0.173 works)

2018-11-26 Thread mark at klomp dot org
https://sourceware.org/bugzilla/show_bug.cgi?id=23916

--- Comment #5 from Mark Wielaard  ---
I filed a binutils bug with patch.
https://sourceware.org/bugzilla/show_bug.cgi?id=23919

If you are able to test patch that on your setup to see if it resolves the
issue with objtool that would be really helpful.

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