[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

DWZ 0.13 released



Hi,

DWZ 0.13 has been released.

There is a web page for DWZ at:

        https://sourceware.org/dwz/

DWZ 0.13 includes the following changes and enhancements:

* DW_OP_GNU_variable_value support.

* A multifile with only a .debug_str section is now allowed.  Previously
  this resulted in an error "dwz: <multifile>: .debug_info section not
  present".

* Improved handling of unordered section header table.  Previously this
  resulted in an error "dwz: Section offsets in <file> not monotonically
  increasing".

* Improved handling of NOBITS sections generated by objcopy
  --only-keep-debug.  Previously this resulted in an error "dwz:
  Allocatable section in <file> after non-allocatable ones".

* Sections .debug_gnu_names and .debug_gnu_types are now handled, by
  removing them from the output file (similar to what is done for
  sections .debug_names and .debug_types).  Previously this resulted in
  an error "dwz: Unknown debugging section <section>".

* A case where previously the error "dwz: Error mmapping multi-file
  temporary files" was generated, now is handled by generating the error
  "dwz: No suitable DWARF found for multifile optimization".

* A case where previously the error "dwz: DWARF version 0 unhandled"
  was generated, is now handled by generating the error "dwz: Found
  compressed .debug_info section, not attempting dwz compression".

* Fixed multifile mode exit status to behave the same as non-multifile
  mode exit status.

* When running into "dwz:<file>: .debug_info section not present" , dwz
  now exits with 0.

* The following assertion failures were fixed:
  - dwz.c:2363: checksum_die: Assertion `
      ((!op_multifile && !rd_multifile && !fi_multifile)
        || cu != die_cu (ref))
       && (!op_multifile || cu->cu_chunk == die_cu (ref)->cu_chunk)
    ' failed.
  - dwz: dwz.c:8558: adjust_exprloc: Assertion `
      refd != NULL && !refd->die_remove
    ' failed.
  - dwz: dwz.c:1722: read_loclist: Assertion `
      ptr + len <= endsec
    ' failed.
  - dwz: dwz.c:9068: write_die: Assertion `
      p && (form == DW_FORM_sec_offset || form == DW_FORM_data4)
    ' failed
  - dwz: dwz.c:9901: read_dwarf: Assertion `
      data != NULL && data->d_buf != NULL
    ' failed

* A testsuite was added.

Thanks,
- Tom