public inbox for elfutils@sourceware.org
 help / color / mirror / Atom feed
* elfutils 0.175 released
@ 2018-11-16 13:01 Mark Wielaard
  2018-11-18 22:46 ` Kurt Roeckx
  2018-11-19 23:43 ` Kurt Roeckx
  0 siblings, 2 replies; 7+ messages in thread
From: Mark Wielaard @ 2018-11-16 13:01 UTC (permalink / raw)
  To: elfutils-devel

[-- Attachment #1: Type: text/plain, Size: 2902 bytes --]

ELFUTILS 0.175 - http://elfutils.org/

A new release of elfutils is available at:
ftp://sourceware.org/pub/elfutils/0.175/
or https://sourceware.org/elfutils/ftp/0.175/

* NEWS *

readelf: Handle mutliple .debug_macro sections.
         Recognize and parse GNU Property, NT_VERSION and
         GNU Build Attribute ELF Notes.

strip: Handle SHT_GROUP correctly.
       Add strip --reloc-debug-sections-only option.
       Handle relocations against GNU compressed sections.

libdwelf: New function dwelf_elf_begin.

libcpu: Recognize bpf jump variants BPF_JLT, BPF_JLE, BPF_JSLT
        and BPF_JSLE.

backends: RISCV handles ADD/SUB relocations.
          Handle SHT_X86_64_UNWIND.

Fixes CVE-2018-18310, CVE-2018-18520 and CVE-2018-18521.

* GIT SHORTLOG *

Andreas Schwab (1):
  Handle ADD/SUB relocations

Mark Wielaard (34):
  tests: backtrace-dwarf.c improve error handling in test framework.
  strip, unstrip: Handle SHT_GROUP correctly.
  unstrip: Renumber the group section indexes.
  readelf: Handle multiple .debug_macro sections and decode header
    flag.
  libdwfl: Sanity check partial core file data reads.
  findtextrel: Check that sh_entsize isn't zero.
  ar: Assume epoch if ar_date is bogus.
  arlib: Check that sh_entsize isn't zero.
  size: Handle recursive ELF ar files.
  Check sh_entsize is not zero.
  readelf: Make sure readp is smaller than cieend in
    print_debug_frame_section.
  backends: ppc use define instead of const for size of dwarf_regs
    array.
  readelf: Use shstrndx to lookup section names.
  addr2line: Use elf_getshdrstrndx not Ehdr field to print section
    name.
  Recognize and parse GNU Property notes.
  unstrip: Add ELF_CHECK to make sure gelf_getehdr () doesn't return
    NULL.
  strip: Always copy over any phdrs if there are any.
  strip: Split out debug section relocation into separate helper
    functions.
  strip: Extract code to update shdrstrndx into new common function.
  strip: Add --reloc-debug-sections-only option.
  libelf: Explicitly update section data after (de)compression.
  backends: Add x86_64 section_type_name for SHT_X86_64_UNWIND.
  libdwelf: New function dwelf_elf_begin.
  libcpu: Recognize bpf jump variants BPF_JLT, BPF_JLE, BPF_JSLT
    and BPF_JSLE
  Recognize NT_VERSION notes.
  Handle GNU Build Attribute ELF Notes.
  strip: Also handle gnu compressed debug sections with
    --reloc-debug-sections
  libelf: Correctly setup alignment of SHF_COMPRESSED section data.
  elflint: Allow PT_GNU_EH_FRAME segment to match SHT_X86_64_UNWIND
    section.
  Prepare for 0.175
  libebl: Don't update w, t and len unnecessarily in
    ebl_object_note_type_name.
  libelf: Mark both fsize and msize with const attribute.
  Update upload-release.sh script and po files.

Milian Wolff (1):
  Also find CFI in sections of type SHT_X86_64_UNWIND

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 490 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: elfutils 0.175 released
  2018-11-16 13:01 elfutils 0.175 released Mark Wielaard
@ 2018-11-18 22:46 ` Kurt Roeckx
  2018-11-19  6:53   ` Mark Wielaard
  2018-11-19 23:43 ` Kurt Roeckx
  1 sibling, 1 reply; 7+ messages in thread
From: Kurt Roeckx @ 2018-11-18 22:46 UTC (permalink / raw)
  To: Mark Wielaard; +Cc: elfutils-devel

[-- Attachment #1: Type: text/plain, Size: 389 bytes --]

On Fri, Nov 16, 2018 at 02:00:46PM +0100, Mark Wielaard wrote:
> ELFUTILS 0.175 - http://elfutils.org/
> 
> A new release of elfutils is available at:
> ftp://sourceware.org/pub/elfutils/0.175/
> or https://sourceware.org/elfutils/ftp/0.175/

Trying to build this on Debian, I get 8 failures, but they all
seem to be white space differences. I've attached the
test-suite.log file.


Kurt


[-- Attachment #2: test-suite.log --]
[-- Type: text/plain, Size: 8489 bytes --]

==========================================
   elfutils 0.175: tests/test-suite.log
==========================================

# TOTAL: 204
# PASS:  195
# SKIP:  1
# XFAIL: 0
# FAIL:  8
# XPASS: 0
# ERROR: 0

.. contents:: :depth: 2

FAIL: run-readelf-const-values.sh
=================================

--- readelf.out	2018-11-18 23:43:41.610890094 +0100
+++ -	2018-11-18 23:43:41.616503487 +0100
@@ -21,7 +21,7 @@
              low_pc               (addr) 0x00000000004004d0
              high_pc              (data8) 3 (0x00000000004004d3)
              frame_base           (exprloc) 
-              [   0] call_frame_cfa
+              [ 0] call_frame_cfa
              call_all_calls       (flag_present) yes
              sibling              (ref4) [    5e]
  [    4d]      variable             abbrev: 1
@@ -59,7 +59,7 @@
              low_pc               (addr) 0x00000000004003e0
              high_pc              (data8) 7 (0x00000000004003e7)
              frame_base           (exprloc) 
-              [   0] call_frame_cfa
+              [ 0] call_frame_cfa
              GNU_all_call_sites   (flag_present) yes
              sibling              (ref4) [   119]
  [    b0]      variable             abbrev: 3
FAIL run-readelf-const-values.sh (exit status: 1)

FAIL: run-readelf-twofiles.sh
=============================

--- readelf.out	2018-11-18 23:43:44.286830882 +0100
+++ -	2018-11-18 23:43:44.295663903 +0100
@@ -8,15 +8,15 @@
  [     0] range 34, 35
           0x000000000040049c <main>..
           0x000000000040049c <main>
-           [   0] breg7 -8
+           [ 0] breg7 -8
           range 35, 46
           0x000000000040049d <main+0x1>..
           0x00000000004004ad <main+0x11>
-           [   0] breg7 0
+           [ 0] breg7 0
           range 46, 47
           0x00000000004004ae <main+0x12>..
           0x00000000004004ae <main+0x12>
-           [   0] breg7 -8
+           [ 0] breg7 -8
 
 testfile14:
 
@@ -27,12 +27,12 @@
  [     0] range 34, 35
           0x000000000040049c <main>..
           0x000000000040049c <main>
-           [   0] breg7 -8
+           [ 0] breg7 -8
           range 35, 46
           0x000000000040049d <main+0x1>..
           0x00000000004004ad <main+0x11>
-           [   0] breg7 0
+           [ 0] breg7 0
           range 46, 47
           0x00000000004004ae <main+0x12>..
           0x00000000004004ae <main+0x12>
-           [   0] breg7 -8
+           [ 0] breg7 -8
FAIL run-readelf-twofiles.sh (exit status: 1)

FAIL: run-readelf-loc.sh
========================

--- readelf.out	2018-11-18 23:43:44.446827342 +0100
+++ -	2018-11-18 23:43:44.458498779 +0100
@@ -5,17 +5,17 @@
  [     0] range 0, d
           0x0000000000400480 <main>..
           0x000000000040048c <main+0xc>
-           [   0] reg5
+           [ 0] reg5
  [    23] range 5, d
           0x0000000000400485 <main+0x5>..
           0x000000000040048c <main+0xc>
-           [   0] reg5
+           [ 0] reg5
 
  CU [    e0] base: 0x00000000004004a0 <say>
  [    46] range 12, 1a
           0x00000000004004b2 <say+0x12>..
           0x00000000004004b9 <say+0x19>
-           [   0] breg5 0
+           [ 0] breg5 0
 
 DWARF section [34] '.debug_ranges' at offset 0xd94:
 
FAIL run-readelf-loc.sh (exit status: 1)

FAIL: run-readelf-variant.sh
============================

--- testfile2.temp	2018-11-18 23:43:51.706666686 +0100
+++ -	2018-11-18 23:43:51.714817340 +0100
@@ -1,7 +1,7 @@
              byte_size            (exprloc) 
-              [   0] push_object_address
-              [   1] deref_size 1
+              [ 0] push_object_address
+              [ 1] deref_size 1
               [ 3] call4 [    95]
-              [   8] plus_uconst 7
-              [  10] const1s -4
-              [  12] and
+              [ 8] plus_uconst 7
+              [10] const1s -4
+              [12] and
FAIL run-readelf-variant.sh (exit status: 1)

FAIL: run-readelf-types.sh
==========================

--- readelf.out	2018-11-18 23:43:56.682556562 +0100
+++ -	2018-11-18 23:43:56.694717935 +0100
@@ -19,7 +19,7 @@
              low_pc               (addr) 0x00000000004005b0 <main>
              high_pc              (data8) 11 (0x00000000004005bb)
              frame_base           (exprloc) 
-              [   0] call_frame_cfa
+              [ 0] call_frame_cfa
              GNU_all_call_sites   (flag_present) yes
  [    46]    base_type            abbrev: 10
              byte_size            (data1) 4
FAIL run-readelf-types.sh (exit status: 1)

FAIL: run-readelf-dwz-multi.sh
==============================

--- readelf.out	2018-11-18 23:43:56.790554172 +0100
+++ -	2018-11-18 23:43:56.801299743 +0100
@@ -26,7 +26,7 @@
              low_pc               (addr) 0x00000000004006ac <main>
              high_pc              (udata) 44 (0x00000000004006d8)
              frame_base           (exprloc) 
-              [   0] call_frame_cfa
+              [ 0] call_frame_cfa
              GNU_all_tail_call_sites (flag_present) yes
              sibling              (ref_udata) [    6e]
  [    48]      formal_parameter     abbrev: 8
@@ -35,21 +35,21 @@
                decl_line            (data1) 3
                type                 (GNU_ref_alt) [    3e]
                location             (exprloc) 
-                [   0] fbreg -36
+                [ 0] fbreg -36
  [    56]      formal_parameter     abbrev: 4
                name                 (strp) "argv"
                decl_file            (data1) main.c (1)
                decl_line            (data1) 3
                type                 (ref_udata) [    6e]
                location             (exprloc) 
-                [   0] fbreg -48
+                [ 0] fbreg -48
  [    61]      variable             abbrev: 7
                name                 (string) "b"
                decl_file            (data1) main.c (1)
                decl_line            (data1) 5
                type                 (GNU_ref_alt) [    5a]
                location             (exprloc) 
-                [   0] fbreg -32
+                [ 0] fbreg -32
  [    6e]    pointer_type         abbrev: 2
              byte_size            (data1) 8
              type                 (ref_udata) [    2b]
FAIL run-readelf-dwz-multi.sh (exit status: 1)

SKIP: run-lfs-symbols.sh
========================

LFS testing is irrelevent on this system
SKIP run-lfs-symbols.sh (exit status: 77)

FAIL: run-readelf-zdebug.sh
===========================

--- readelf.out	2018-11-18 23:44:00.538471219 +0100
+++ -	2018-11-18 23:44:00.554503813 +0100
@@ -3,11 +3,11 @@
 
  CU [     b] base: 000000000000000000
  [     0] range 4003c0, 4003c3
-           [   0] reg5
+           [ 0] reg5
           range 4003c3, 4003d6
-           [   0] breg5 -42
-           [   2] stack_value
+           [ 0] breg5 -42
+           [ 2] stack_value
           range 4003d6, 4003d9
-           [   0] GNU_entry_value:
-                 [   0] reg5
-           [   3] stack_value
+           [ 0] GNU_entry_value:
+                [ 0] reg5
+           [ 3] stack_value
FAIL run-readelf-zdebug.sh (exit status: 1)

FAIL: run-readelf-zdebug-rel.sh
===============================

--- readelf.out	2018-11-18 23:44:00.642468916 +0100
+++ -	2018-11-18 23:44:00.648673372 +0100
@@ -21,7 +21,7 @@
              low_pc               (addr) 000000000000000000
              high_pc              (data8) 24 (0x0000000000000018)
              frame_base           (exprloc) 
-              [   0] call_frame_cfa
+              [ 0] call_frame_cfa
              GNU_all_call_sites   (flag_present) yes
              sibling              (ref4) [    80]
  [    4e]      formal_parameter     abbrev: 3
@@ -36,7 +36,7 @@
                decl_line            (data1) 4
                type                 (ref4) [    87]
                location             (exprloc) 
-                [   0] reg4
+                [ 0] reg4
  [    6a]      variable             abbrev: 5
                name                 (string) "a"
                decl_file            (data1) testfile-zdebug-rel.c (1)
@@ -49,7 +49,7 @@
                decl_line            (data1) 7
                type                 (ref4) [    9a]
                location             (exprloc) 
-                [   0] reg5
+                [ 0] reg5
  [    80]    base_type            abbrev: 7
              byte_size            (data1) 4
              encoding             (data1) signed (5)
FAIL run-readelf-zdebug-rel.sh (exit status: 1)


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: elfutils 0.175 released
  2018-11-18 22:46 ` Kurt Roeckx
@ 2018-11-19  6:53   ` Mark Wielaard
  2018-11-19  8:35     ` Kurt Roeckx
  0 siblings, 1 reply; 7+ messages in thread
From: Mark Wielaard @ 2018-11-19  6:53 UTC (permalink / raw)
  To: Kurt Roeckx; +Cc: elfutils-devel

On Sun, Nov 18, 2018 at 11:46:29PM +0100, Kurt Roeckx wrote:
> On Fri, Nov 16, 2018 at 02:00:46PM +0100, Mark Wielaard wrote:
> > ELFUTILS 0.175 - http://elfutils.org/
> > 
> > A new release of elfutils is available at:
> > ftp://sourceware.org/pub/elfutils/0.175/
> > or https://sourceware.org/elfutils/ftp/0.175/
> 
> Trying to build this on Debian, I get 8 failures, but they all
> seem to be white space differences. I've attached the
> test-suite.log file.

That looks like you somehow are missing:

commit 704f5fc477efaf120980449e677deb563da8491f
Author: Mark Wielaard <mark@klomp.org>
Date:   Wed Nov 29 15:43:26 2017 +0100

    readelf: Adjust print_ops formatting.

    Use only 2 spaces for index (there are never 10000, the most seen in the
    wild is 64). Adjust re-indenting after GNU_entry_value.

    Signed-off-by: Mark Wielaard <mark@klomp.org>

But that is a commit from elfutils-0.171.
Maybe you have a local patch that conflicts with it?

Cheers,

Mark

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: elfutils 0.175 released
  2018-11-19  6:53   ` Mark Wielaard
@ 2018-11-19  8:35     ` Kurt Roeckx
  0 siblings, 0 replies; 7+ messages in thread
From: Kurt Roeckx @ 2018-11-19  8:35 UTC (permalink / raw)
  To: Mark Wielaard; +Cc: elfutils-devel

On Mon, Nov 19, 2018 at 07:53:07AM +0100, Mark Wielaard wrote:
> On Sun, Nov 18, 2018 at 11:46:29PM +0100, Kurt Roeckx wrote:
> > On Fri, Nov 16, 2018 at 02:00:46PM +0100, Mark Wielaard wrote:
> > > ELFUTILS 0.175 - http://elfutils.org/
> > > 
> > > A new release of elfutils is available at:
> > > ftp://sourceware.org/pub/elfutils/0.175/
> > > or https://sourceware.org/elfutils/ftp/0.175/
> > 
> > Trying to build this on Debian, I get 8 failures, but they all
> > seem to be white space differences. I've attached the
> > test-suite.log file.
> 
> That looks like you somehow are missing:
> 
> commit 704f5fc477efaf120980449e677deb563da8491f
> Author: Mark Wielaard <mark@klomp.org>
> Date:   Wed Nov 29 15:43:26 2017 +0100
> 
>     readelf: Adjust print_ops formatting.
> 
>     Use only 2 spaces for index (there are never 10000, the most seen in the
>     wild is 64). Adjust re-indenting after GNU_entry_value.
> 
>     Signed-off-by: Mark Wielaard <mark@klomp.org>
> 
> But that is a commit from elfutils-0.171.
> Maybe you have a local patch that conflicts with it?

I somehow ended up with something that reverts it, no idea why.
After removing that everything seems to work.


Kurt

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: elfutils 0.175 released
  2018-11-16 13:01 elfutils 0.175 released Mark Wielaard
  2018-11-18 22:46 ` Kurt Roeckx
@ 2018-11-19 23:43 ` Kurt Roeckx
  2018-11-20  8:50   ` Mark Wielaard
  1 sibling, 1 reply; 7+ messages in thread
From: Kurt Roeckx @ 2018-11-19 23:43 UTC (permalink / raw)
  To: Mark Wielaard; +Cc: elfutils-devel

On Fri, Nov 16, 2018 at 02:00:46PM +0100, Mark Wielaard wrote:
> ELFUTILS 0.175 - http://elfutils.org/
> 
> A new release of elfutils is available at:
> ftp://sourceware.org/pub/elfutils/0.175/
> or https://sourceware.org/elfutils/ftp/0.175/

I'm gettings errors on riscv64:
https://buildd.debian.org/status/fetch.php?pkg=elfutils&arch=riscv64&ver=0.175-1&stamp=1542669684&raw=0


Kurt

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: elfutils 0.175 released
  2018-11-19 23:43 ` Kurt Roeckx
@ 2018-11-20  8:50   ` Mark Wielaard
  2018-11-20  9:55     ` Andreas Schwab
  0 siblings, 1 reply; 7+ messages in thread
From: Mark Wielaard @ 2018-11-20  8:50 UTC (permalink / raw)
  To: Kurt Roeckx; +Cc: elfutils-devel, Andreas Schwab

On Tue, 2018-11-20 at 00:43 +0100, Kurt Roeckx wrote:
> On Fri, Nov 16, 2018 at 02:00:46PM +0100, Mark Wielaard wrote:
> > ELFUTILS 0.175 - http://elfutils.org/
> > 
> > A new release of elfutils is available at:
> > ftp://sourceware.org/pub/elfutils/0.175/
> > or https://sourceware.org/elfutils/ftp/0.175/
> 
> I'm gettings errors on riscv64:
> 
https://buildd.debian.org/status/fetch.php?pkg=elfutils&arch=riscv64&ver=0.175-1&stamp=1542669684&raw=0

The riscv backend is fairly new. I don't have access to a riscv setup,
so cannot easily check myself. I have CCed Andreas, who wrote the port
and might be able to diagnose what is going on.

The first failure is for the location description of a return value,
which is kind of expected since riscv doesn't have a
return_value_location backend function yet.

The other 3 failures are all for the self-tests doing unwinding and
look like either DWARF and/or .eh_frame information is missing.

FAIL: run-native-test.sh
========================

/<<PKGBUILDDIR>>/tests/funcretval: dwfl_module_return_value_location:
cannot handle DWARF type description

FAIL: run-backtrace-native.sh
=============================

0x2000000000	0x2000019000	/lib/riscv64-linux-gnu/ld-2.27.so
0x200001a000	0x200001c000	[vdso: 883]
0x2000022000	0x2000037000	/lib/riscv64-linux-gnu/libpthread-
2.27.so
0x200003b000	0x2000144000	/lib/riscv64-linux-gnu/libc-2.27.so
0x2aaaaaa000	0x2aaaaae000	/<<PKGBUILDDIR>>/tests/backtrace-child
TID 883:
# 0 0x2000030e26    	raise
TID 884:
# 0 0x2000030e26    	raise
/<<PKGBUILDDIR>>/tests/backtrace: dwfl_thread_getframes: No DWARF
information found
/<<PKGBUILDDIR>>/tests/backtrace: dwfl_thread_getframes: No DWARF
information found
backtrace: backtrace.c:81: callback_verify: Assertion `seen_main'
failed.
./test-subr.sh: line 84:   880
Aborted                 LD_LIBRARY_PATH="${built_library_path}${LD_LIBR
ARY_PATH:+:}$LD_LIBRARY_PATH" $VALGRIND_CMD "$@"
backtrace-child: no main
FAIL run-backtrace-native.sh (exit status: 1)
FAIL: run-backtrace-dwarf.sh
============================

0x20000a3d12	raise
/<<PKGBUILDDIR>>/tests/backtrace-dwarf: dwfl_thread_getframes: No DWARF
information found
dwarf: no main
FAIL run-backtrace-dwarf.sh (exit status: 1)

FAIL: run-backtrace-native-core.sh
==================================

backtrace: backtrace.c:111: callback_verify: Assertion `symname &&
strcmp (symname, "raise") == 0' failed.
./test-subr.sh: line 84:   975
Aborted                 LD_LIBRARY_PATH="${built_library_path}${LD_LIBR
ARY_PATH:+:}$LD_LIBRARY_PATH" $VALGRIND_CMD "$@"
backtrace-child-core.965: no main
rmdir: failed to remove 'test-944': Directory not empty
FAIL run-backtrace-native-core.sh (exit status: 1)


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: elfutils 0.175 released
  2018-11-20  8:50   ` Mark Wielaard
@ 2018-11-20  9:55     ` Andreas Schwab
  0 siblings, 0 replies; 7+ messages in thread
From: Andreas Schwab @ 2018-11-20  9:55 UTC (permalink / raw)
  To: Mark Wielaard; +Cc: Kurt Roeckx, elfutils-devel

The riscv port is still work in progress.  Patches welcome to implement
the missing bits.

The backtrace-dwarf test doesn't fail for me, btw.

Andreas.

-- 
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2018-11-20  9:55 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-11-16 13:01 elfutils 0.175 released Mark Wielaard
2018-11-18 22:46 ` Kurt Roeckx
2018-11-19  6:53   ` Mark Wielaard
2018-11-19  8:35     ` Kurt Roeckx
2018-11-19 23:43 ` Kurt Roeckx
2018-11-20  8:50   ` Mark Wielaard
2018-11-20  9:55     ` Andreas Schwab

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).