commit libdwarf for openSUSE:Factory
Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libdwarf for openSUSE:Factory checked in at 2024-08-18 18:20:19 Comparing /work/SRC/openSUSE:Factory/libdwarf (Old) and /work/SRC/openSUSE:Factory/.libdwarf.new.2698 (New) Package is "libdwarf" Sun Aug 18 18:20:19 2024 rev:36 rq:1194555 version:0.11.0 Changes: --- /work/SRC/openSUSE:Factory/libdwarf/libdwarf.changes2024-06-03 17:43:39.043446069 +0200 +++ /work/SRC/openSUSE:Factory/.libdwarf.new.2698/libdwarf.changes 2024-08-18 18:20:40.311920389 +0200 @@ -1,0 +2,83 @@ +Sun Aug 18 13:03:01 UTC 2024 - Dirk Müller + +- update to 0.11.0: + * Identifies git fix id now for ossfuzz 70721 +DW202407-010 + * Correcting use-after-free with a specific corrupted +DWARF section. + * This simplfies getting correct cooked +addresses for entries from .debug_ranges + * The new code about .debug_ranges had +small leaks when the library was told +not to record or clean-up most memory allocations. +Shown by -fsanitize. + * Fixed a mistake in examplev, .debug_ranges + * Added new argument to print_ranges_list_to_extra() +so it can print both raw and cooked values. + * Now calulates the cooked value of .debug_ranges +and prints both raw and cooked values. + * New date, some Dwarf_Ranges doc has been updated +in libdwarf. + * Added clarifying comment paragraphs about Dwarf_Ranges + * Final on the rnglists ossfuzz issues so far. + * ossfuzz 70246 DW202407-002 fixed. + * Removing esb_append_printf() which is the last use of *sprintf() + * ossfuzz 70244 fixed DW202407-001 + * Removing esb_append_printf() as it is no +longer necessary. + * Added blank line after d= semantic version + * Fixed trailing whitespace and indents. + * Refine the information on rnglists base with + * cc_rnglists_base_via_at (similar to loclists) + * Added cc_loclists_base_via_at and + * Due to the addition of dwarf_get_locdesc_entry_e() +we revise the version for the next release to be + * Issue #247, github libdwarf-code. + * Fix indents and eliminate trailing whitespace. + * Corrected the gitfixid as there was +a use-after-free in new-today code, now fixed. + * Fixing a nasty double free that was caused a few +minutes ago. + * New oss fuzz 69639 and 69641 are fixed. +Here identfied as DW202406-001 and DW202406-002 + * Remove debug printf (was #if 0 ... #endif) +Fixed DW202406-001 ossfuzz 69639 +and +DW202406-002 ossfuzz 69641 + * Implemented spelling change ld_kind to ld_lkind + * In dwarf_formref() we correct the reading +of DW_FORM_loclistx and DW_FORM_rnglistx +to read a uleb. Been wrong since 2022 at least.. +Another spot reading these had it right all along. + * Renamed ll_kind to ll_lkind as it names a DW_LKIND value + * Renamed ld_kind to ld_lkind as it names a DW_LKIND value + * Revises the dwarfdump reporting of debug_loclists to +clarify the dwarf 5 debug_loclists structure content. + * The --print-raw-loclists option is more useful now. + * Revises the dwarfdump reporting of debug_rnglists to +clarify the dwarf 5 debug_rnglists structure content. + * The --print-raw-rnglists option is more useful now. + * In certain error cases the revised rnglists code +was failing to dwarf_dealloc_error() where + * Updated the output format of --print-raw-loclists +to be more useful and to essentially match the rnglists +version. + * Separated out part of loclists data structs to +be a better match with dwarf_rnglists.h + * Corrected calculations related to rnglists array of +offsets (were calling entries address size when they are offset +size). + * Removed some lines related to merging skeleton and split, +they were wrong. debug_rnglists and debug_rnglists.dwo + * Initialize the three new fields in Dwarf_Debug_s +used for DWARF5 GNU extension .debug_addr printing. + * Renaming DW_DLE_PE_SECTION_SIZE_ERROR +to DW_DLE_PE_SECTION_SIZE_HEURISTIC_FAIL +so any failure of the three such tests are +clearly reported. Should never happen. + * A heuristic sanity check on section VirtualSize +was too concervative at s00MB, a PE object file had a +section over 200MB in size. + * Adding release xz name + +--- Old: libdwarf-0.9.2.tar.xz New: libdwarf-0.11.0.tar.xz Other differences: -- ++ libdwarf.spec ++ --- /var/tmp/diff_new_pack.ZmTv9U/_old 2024-08-18 18:20:40.951946916 +0200 +++ /var/tmp/diff_new_pack.ZmTv9U/_new 2024-08-18 18:20:40.955947081 +0200 @@ -17,7 +17,7 @@ Name: libdwarf -Version:0.9.2 +Version
commit libdwarf for openSUSE:Factory
Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libdwarf for openSUSE:Factory checked in at 2024-06-03 17:43:37 Comparing /work/SRC/openSUSE:Factory/libdwarf (Old) and /work/SRC/openSUSE:Factory/.libdwarf.new.24587 (New) Package is "libdwarf" Mon Jun 3 17:43:37 2024 rev:35 rq:1178145 version:0.9.2 Changes: --- /work/SRC/openSUSE:Factory/libdwarf/libdwarf.changes2024-01-31 23:54:44.675142257 +0100 +++ /work/SRC/openSUSE:Factory/.libdwarf.new.24587/libdwarf.changes 2024-06-03 17:43:39.043446069 +0200 @@ -1,0 +2,11 @@ +Wed May 29 12:41:04 UTC 2024 - Dominique Leuenberger + +- Update to version 0.9.2: + + Fixed four vulnerabilities that could crash the library +(segmentation violation etc) reading specific corruptions to +DWARF. +DW202402-001, DW202402-002,DW202402-003, and DW202403-001. +Now the library returns an error code for those. Corrected a +dwarf.h misspelling of DW_CFA_hi_user. + +--- Old: libdwarf-0.9.1.tar.xz New: libdwarf-0.9.2.tar.xz Other differences: -- ++ libdwarf.spec ++ --- /var/tmp/diff_new_pack.1zcrz0/_old 2024-06-03 17:43:40.715507179 +0200 +++ /var/tmp/diff_new_pack.1zcrz0/_new 2024-06-03 17:43:40.731507766 +0200 @@ -17,7 +17,7 @@ Name: libdwarf -Version:0.9.1 +Version:0.9.2 Release:0 Summary:Access DWARF debugging information License:GPL-2.0-or-later AND LGPL-2.1-or-later ++ libdwarf-0.9.1.tar.xz -> libdwarf-0.9.2.tar.xz ++ 37199 lines of diff (skipped)
commit libdwarf for openSUSE:Factory
Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libdwarf for openSUSE:Factory checked in at 2024-01-31 23:54:25 Comparing /work/SRC/openSUSE:Factory/libdwarf (Old) and /work/SRC/openSUSE:Factory/.libdwarf.new.1815 (New) Package is "libdwarf" Wed Jan 31 23:54:25 2024 rev:34 rq:1142865 version:0.9.1 Changes: --- /work/SRC/openSUSE:Factory/libdwarf/libdwarf.changes2023-12-28 23:05:10.590584755 +0100 +++ /work/SRC/openSUSE:Factory/.libdwarf.new.1815/libdwarf.changes 2024-01-31 23:54:44.675142257 +0100 @@ -1,0 +2,10 @@ +Tue Jan 30 19:54:32 UTC 2024 - Dirk Müller + +- update to 0.9.1: + * "--disable-decompression" tells the build to compile +libdwarf and dwarfdump with no reference to the zlib or +zstd libraries. + * Latest DW_LANG names now present. +- build with zstd support + +--- Old: libdwarf-0.9.0.tar.xz New: libdwarf-0.9.1.tar.xz Other differences: -- ++ libdwarf.spec ++ --- /var/tmp/diff_new_pack.zn2LVA/_old 2024-01-31 23:54:45.823183684 +0100 +++ /var/tmp/diff_new_pack.zn2LVA/_new 2024-01-31 23:54:45.823183684 +0100 @@ -1,7 +1,7 @@ # # spec file for package libdwarf # -# Copyright (c) 2023 SUSE LLC +# Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: libdwarf -Version:0.9.0 +Version:0.9.1 Release:0 Summary:Access DWARF debugging information License:GPL-2.0-or-later AND LGPL-2.1-or-later @@ -26,6 +26,7 @@ Source: https://github.com/davea42/libdwarf-code/releases/download/v%{version}/libdwarf-%{version}.tar.xz BuildRequires: binutils-devel BuildRequires: libelf-devel +BuildRequires: pkgconfig(libzstd) BuildRequires: pkgconfig(zlib) %description ++ libdwarf-0.9.0.tar.xz -> libdwarf-0.9.1.tar.xz ++ 13044 lines of diff (skipped)
commit libdwarf for openSUSE:Factory
Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libdwarf for openSUSE:Factory checked in at 2023-05-30 22:02:21 Comparing /work/SRC/openSUSE:Factory/libdwarf (Old) and /work/SRC/openSUSE:Factory/.libdwarf.new.1533 (New) Package is "libdwarf" Tue May 30 22:02:21 2023 rev:31 rq:1089639 version:0.7.0 Changes: --- /work/SRC/openSUSE:Factory/libdwarf/libdwarf.changes2023-02-28 12:49:21.756747638 +0100 +++ /work/SRC/openSUSE:Factory/.libdwarf.new.1533/libdwarf.changes 2023-05-30 22:02:35.971065851 +0200 @@ -1,0 +2,19 @@ +Mon May 29 19:21:26 UTC 2023 - Dirk Müller + +- update to 0.7.0: + * The release fixes more than 50 vulnerabilities from corrupt +DWARF and/or corrupt Elf. + * Elf section counts can exceed 16 bits (on linux see man 5 elf) +so some function prototype members of struct +Dwarf_Obj_Access_Methods_a_s changed. Specifically, +om_get_section_info() om_load_section(), and om_relocate_a_section() +now pass section indexes as Dwarf_Unsigned instead of Dwarf_Half. + * Two functions have been removed from libdwarf.h and the library: +dwarf_dnames_abbrev_by_code() and dwarf_dnames_abbrev_form_by_index(). + * dwarf_dnames_abbrev_by_code() is slow and pointless. Use either +dwarf_dnames_name() or dwarf_dnames_abbrevtable() instead, +depending on what you want to accomplish. + * dwarf_dnames_abbrev_form_by_index() is not needed, was difficult +to call due to argument list requirements, and never worked. + +--- Old: libdwarf-0.6.0.tar.xz New: libdwarf-0.7.0.tar.xz Other differences: -- ++ libdwarf.spec ++ --- /var/tmp/diff_new_pack.57YrZu/_old 2023-05-30 22:02:37.035072122 +0200 +++ /var/tmp/diff_new_pack.57YrZu/_new 2023-05-30 22:02:37.039072145 +0200 @@ -17,7 +17,7 @@ Name: libdwarf -Version:0.6.0 +Version:0.7.0 Release:0 Summary:Access DWARF debugging information License:GPL-2.0-or-later AND LGPL-2.1-or-later ++ libdwarf-0.6.0.tar.xz -> libdwarf-0.7.0.tar.xz ++ 39184 lines of diff (skipped)
commit libdwarf for openSUSE:Factory
Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libdwarf for openSUSE:Factory checked in at 2023-02-28 12:49:01 Comparing /work/SRC/openSUSE:Factory/libdwarf (Old) and /work/SRC/openSUSE:Factory/.libdwarf.new.31432 (New) Package is "libdwarf" Tue Feb 28 12:49:01 2023 rev:30 rq:1068066 version:0.6.0 Changes: --- /work/SRC/openSUSE:Factory/libdwarf/libdwarf.changes2022-12-03 10:04:03.751382327 +0100 +++ /work/SRC/openSUSE:Factory/.libdwarf.new.31432/libdwarf.changes 2023-02-28 12:49:21.756747638 +0100 @@ -1,0 +2,19 @@ +Mon Feb 27 21:29:52 UTC 2023 - Dirk Müller + +- update to 0.6.0: + Fixes for Denial Of Service (possible libdwarf crash): + * The dealloc required for dwarf_offset_list() was incorrect, +possibly leading to a crash. + * The function prototype for dwarf_dietype_offset() changed so +it can work correctly on DWARF4 objects. + * A memory leak from dwarf_load_loclists() has been fixed. + * The function dwarf_get_pubtypes() changed, Dwarf_Type no longer +exists, correcting a library design mistake made in 1993. +The function applied to DWARF3 and DWARF4 objects. + * The set of functions using Dwarf_Type are gone, use Dwarf_Global +instead. An object with DW_FORM_strx3 (DWARF5) could result in +the library either crashing or returning an inappropriate error. +DW_FORM_strx3 is now handled + * https://newreleases.io/github/davea42/libdwarf-code?version=v0.6.0 + +--- Old: libdwarf-0.5.0.tar.xz New: libdwarf-0.6.0.tar.xz Other differences: -- ++ libdwarf.spec ++ --- /var/tmp/diff_new_pack.waAaib/_old 2023-02-28 12:49:22.292750581 +0100 +++ /var/tmp/diff_new_pack.waAaib/_new 2023-02-28 12:49:22.296750603 +0100 @@ -1,7 +1,7 @@ # # spec file for package libdwarf # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: libdwarf -Version:0.5.0 +Version:0.6.0 Release:0 Summary:Access DWARF debugging information License:GPL-2.0-or-later AND LGPL-2.1-or-later ++ libdwarf-0.5.0.tar.xz -> libdwarf-0.6.0.tar.xz ++ 31709 lines of diff (skipped)
commit libdwarf for openSUSE:Factory
Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libdwarf for openSUSE:Factory checked in at 2022-12-03 10:03:47 Comparing /work/SRC/openSUSE:Factory/libdwarf (Old) and /work/SRC/openSUSE:Factory/.libdwarf.new.1835 (New) Package is "libdwarf" Sat Dec 3 10:03:47 2022 rev:29 rq:1039665 version:0.5.0 Changes: --- /work/SRC/openSUSE:Factory/libdwarf/libdwarf.changes2022-11-15 13:19:08.432335077 +0100 +++ /work/SRC/openSUSE:Factory/.libdwarf.new.1835/libdwarf.changes 2022-12-03 10:04:03.751382327 +0100 @@ -1,0 +2,18 @@ +Fri Dec 2 19:23:16 UTC 2022 - Dirk Müller + +- update to 0.5.0: + * libdwarf-0.5.0 improves library performance reading +DWARF DIEs by several percent (with no change in API). + * It adds functions allowing acess to the .debug_addr +section independent of other sections. +dwarfdump has a new option to show that +section. + * Corrects the handling of some aspects of +reading the .debug_names section. + * Enhances dwarf_get_globals() to return +all globals that .debug_pubnames and .debug_names +refer to (no change in the API except adding +a function to return the DW_TAG of any globals +derived from .debug_names) + +--- Old: libdwarf-0.4.2.tar.xz New: libdwarf-0.5.0.tar.xz Other differences: -- ++ libdwarf.spec ++ --- /var/tmp/diff_new_pack.8g8mbx/_old 2022-12-03 10:04:04.299385372 +0100 +++ /var/tmp/diff_new_pack.8g8mbx/_new 2022-12-03 10:04:04.303385394 +0100 @@ -17,7 +17,7 @@ Name: libdwarf -Version:0.4.2 +Version:0.5.0 Release:0 Summary:Access DWARF debugging information License:GPL-2.0-or-later AND LGPL-2.1-or-later ++ libdwarf-0.4.2.tar.xz -> libdwarf-0.5.0.tar.xz ++ 12903 lines of diff (skipped)
commit libdwarf for openSUSE:Factory
Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libdwarf for openSUSE:Factory checked in at 2022-11-15 13:17:07 Comparing /work/SRC/openSUSE:Factory/libdwarf (Old) and /work/SRC/openSUSE:Factory/.libdwarf.new.1597 (New) Package is "libdwarf" Tue Nov 15 13:17:07 2022 rev:28 rq:1035677 version:0.4.2 Changes: --- /work/SRC/openSUSE:Factory/libdwarf/libdwarf.changes2022-10-03 20:08:22.993400420 +0200 +++ /work/SRC/openSUSE:Factory/.libdwarf.new.1597/libdwarf.changes 2022-11-15 13:19:08.432335077 +0100 @@ -13 +13 @@ -- update to 0.4.1: +- update to 0.4.1 (bsc#1200899, CVE-2022-34299): Other differences: --
commit libdwarf for openSUSE:Factory
Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libdwarf for openSUSE:Factory checked in at 2022-10-03 20:08:21 Comparing /work/SRC/openSUSE:Factory/libdwarf (Old) and /work/SRC/openSUSE:Factory/.libdwarf.new.2275 (New) Package is "libdwarf" Mon Oct 3 20:08:21 2022 rev:27 rq:1007710 version:0.4.2 Changes: --- /work/SRC/openSUSE:Factory/libdwarf/libdwarf.changes2022-07-18 18:34:29.233804407 +0200 +++ /work/SRC/openSUSE:Factory/.libdwarf.new.2275/libdwarf.changes 2022-10-03 20:08:22.993400420 +0200 @@ -1,0 +2,9 @@ +Mon Oct 3 15:23:25 UTC 2022 - Dirk M??ller + +- update to 0.4.2: + * memory leak fixes + * How to deal with a dwarf_init*() call +that fails (DW_DLV_ERROR) in a simple way is finally +documented in libdwarf.pdf and in the on-line html. + +--- Old: libdwarf-0.4.1.tar.xz New: libdwarf-0.4.2.tar.xz Other differences: -- ++ libdwarf.spec ++ --- /var/tmp/diff_new_pack.XodH6U/_old 2022-10-03 20:08:23.677401460 +0200 +++ /var/tmp/diff_new_pack.XodH6U/_new 2022-10-03 20:08:23.681401466 +0200 @@ -17,7 +17,7 @@ Name: libdwarf -Version:0.4.1 +Version:0.4.2 Release:0 Summary:Access DWARF debugging information License:GPL-2.0-or-later AND LGPL-2.1-or-later @@ -26,6 +26,7 @@ Source: https://github.com/davea42/libdwarf-code/releases/download/v%{version}/libdwarf-%{version}.tar.xz BuildRequires: binutils-devel BuildRequires: libelf-devel +BuildRequires: pkgconfig(zlib) %description libdwarf is a library of functions to provide read/write DWARF ++ libdwarf-0.4.1.tar.xz -> libdwarf-0.4.2.tar.xz ++ 37588 lines of diff (skipped)
commit libdwarf for openSUSE:Factory
Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libdwarf for openSUSE:Factory checked in at 2022-07-18 18:34:15 Comparing /work/SRC/openSUSE:Factory/libdwarf (Old) and /work/SRC/openSUSE:Factory/.libdwarf.new.1523 (New) Package is "libdwarf" Mon Jul 18 18:34:15 2022 rev:26 rq:989491 version:0.4.1 Changes: --- /work/SRC/openSUSE:Factory/libdwarf/libdwarf.changes2022-06-08 14:25:04.168513408 +0200 +++ /work/SRC/openSUSE:Factory/.libdwarf.new.1523/libdwarf.changes 2022-07-18 18:34:29.233804407 +0200 @@ -1,0 +2,19 @@ +Fri Jul 15 19:11:15 UTC 2022 - Dirk M??ller + +- update to 0.4.1: + * Two places where a carefully corrupted object file +could result in libdwarf crashing a caller due to +referencing memory outside the intended read area +have been fixed (DW202205-001 and DW202206-001). +One related to DW_FORM_ref_sig8, the other to +the .debug_pubnames section. + * The library now accepts DW_AT_entry_pc in a CU DIE as a base address +when DW_AT_low_pc is missing (an extension used by +a current compiler). + * Added function dwarf_suppress_debuglink_crc() to allow +callers to turn off doing a CRC calculation +reading GNU debuglink data (saves time for library +users accessing near-identical builds). +- drop fix-CVE-2022-32200.patch (upstream) + +--- Old: fix-CVE-2022-32200.patch libdwarf-0.4.0.tar.xz New: libdwarf-0.4.1.tar.xz Other differences: -- ++ libdwarf.spec ++ --- /var/tmp/diff_new_pack.BWOdBq/_old 2022-07-18 18:34:29.837805265 +0200 +++ /var/tmp/diff_new_pack.BWOdBq/_new 2022-07-18 18:34:29.841805271 +0200 @@ -17,14 +17,13 @@ Name: libdwarf -Version:0.4.0 +Version:0.4.1 Release:0 Summary:Access DWARF debugging information License:GPL-2.0-or-later AND LGPL-2.1-or-later Group: Development/Libraries/C and C++ URL:https://prevanders.net/dwarf.html Source: https://github.com/davea42/libdwarf-code/releases/download/v%{version}/libdwarf-%{version}.tar.xz -Patch1: https://github.com/davea42/libdwarf-code/commit/8151575a6ace77d005ca5bb5d71c1bfdba3f7069.patch#/fix-CVE-2022-32200.patch BuildRequires: binutils-devel BuildRequires: libelf-devel ++ libdwarf-0.4.0.tar.xz -> libdwarf-0.4.1.tar.xz ++ 11091 lines of diff (skipped)
commit libdwarf for openSUSE:Factory
Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libdwarf for openSUSE:Factory checked in at 2022-06-08 14:24:45 Comparing /work/SRC/openSUSE:Factory/libdwarf (Old) and /work/SRC/openSUSE:Factory/.libdwarf.new.1548 (New) Package is "libdwarf" Wed Jun 8 14:24:45 2022 rev:25 rq:981183 version:0.4.0 Changes: --- /work/SRC/openSUSE:Factory/libdwarf/libdwarf.changes2022-05-02 16:25:54.348860641 +0200 +++ /work/SRC/openSUSE:Factory/.libdwarf.new.1548/libdwarf.changes 2022-06-08 14:25:04.168513408 +0200 @@ -1,0 +2,5 @@ +Tue Jun 7 16:24:08 UTC 2022 - Dirk M??ller + +- add fix-CVE-2022-32200.patch (bsc#1200291, CVE-2022-32200) + +--- New: fix-CVE-2022-32200.patch Other differences: -- ++ libdwarf.spec ++ --- /var/tmp/diff_new_pack.3lKG17/_old 2022-06-08 14:25:04.720514093 +0200 +++ /var/tmp/diff_new_pack.3lKG17/_new 2022-06-08 14:25:04.724514098 +0200 @@ -24,6 +24,7 @@ Group: Development/Libraries/C and C++ URL:https://prevanders.net/dwarf.html Source: https://github.com/davea42/libdwarf-code/releases/download/v%{version}/libdwarf-%{version}.tar.xz +Patch1: https://github.com/davea42/libdwarf-code/commit/8151575a6ace77d005ca5bb5d71c1bfdba3f7069.patch#/fix-CVE-2022-32200.patch BuildRequires: binutils-devel BuildRequires: libelf-devel ++ fix-CVE-2022-32200.patch ++ >From 8151575a6ace77d005ca5bb5d71c1bfdba3f7069 Mon Sep 17 00:00:00 2001 From: David Anderson Date: Sun, 29 May 2022 09:35:39 -0700 Subject: [PATCH] Fixes vulnerability DW202205-001 Reports error instead of crashing the when reading a specially crafted (corrupted) .debug_pubnames or .debug_pubtypes section. modified: src/lib/libdwarf/dwarf_global.c --- src/lib/libdwarf/dwarf_global.c | 81 + 1 file changed, 73 insertions(+), 8 deletions(-) diff --git a/src/lib/libdwarf/dwarf_global.c b/src/lib/libdwarf/dwarf_global.c index 03ee0cd2..6cfe883f 100644 --- a/src/lib/libdwarf/dwarf_global.c +++ b/src/lib/libdwarf/dwarf_global.c @@ -31,7 +31,6 @@ #include #include /* strlen() */ - #if defined(_WIN32) && defined(HAVE_STDAFX_H) #include "stdafx.h" #endif /* HAVE_STDAFX_H */ @@ -83,6 +82,33 @@ _dwarf_fix_up_offset_irix(Dwarf_Debug dbg, } #endif /* __sgi */ +#if 0 +/* Debugging only. Requires start. can calulate one of len, end */ +static void +debug_print_range(const char *msg, +int lineno, +void *start, signed long len, +void *end) +{ + +char *st = (char *)start; +char *en = (char *)end; +signed long le = len; + +if (len) { +if (en) { +le = (long)(en-st); +} else { +en= start+len; +} +} else if (en) { +le = (long)(en-st); +} +printf("RANGEdebug %s st=0x%lx le=%ld en=0x%lx line %d\n", +msg,(unsigned long)st,le,(unsigned long)en,lineno); +} +#endif + static void dealloc_globals_chain(Dwarf_Debug dbg, Dwarf_Chain head_chain) @@ -287,9 +313,9 @@ _dwarf_internal_get_pubnames_like_data(Dwarf_Debug dbg, Dwarf_Off pubnames_section_offset = 0; Dwarf_Small *section_end_ptr = section_data_ptr +section_length; -/* Points to the context for the current set of global names, and -contains information to identify the compilation-unit that the -set refers to. */ +/* Points to the context for the current set of global names, +and contains information to identify the compilation-unit +that the set refers to. */ Dwarf_Global_Context pubnames_context = 0; Dwarf_Bool pubnames_context_on_list = FALSE; @@ -301,6 +327,10 @@ _dwarf_internal_get_pubnames_like_data(Dwarf_Debug dbg, Dwarf_Unsigned global_count = 0; +/* The count is just to improve the error message +a few lines above. */ +Dwarf_Unsigned context_count = 0; + /* Used to chain the Dwarf_Global_s structs for creating contiguous list of pointers to the structs. */ Dwarf_Chain head_chain = 0; @@ -384,6 +414,41 @@ _dwarf_internal_get_pubnames_like_data(Dwarf_Debug dbg, } return mres; } +{ +Dwarf_Small * localend =pubnames_like_ptr + length; + +if ((length > section_length) || +(localend > section_end_ptr)){ +/* The length field is corrupted */ +dwarfstring m; + +dwarfstring_constructor(&m); +dwarfstring_append_printf_u(&m, +"DW_DLE_PUBNAMES_LENGTH_BAD (or similar) " +"A DWARF length field in cu context %u
commit libdwarf for openSUSE:Factory
Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libdwarf for openSUSE:Factory checked in at 2022-05-02 16:25:45 Comparing /work/SRC/openSUSE:Factory/libdwarf (Old) and /work/SRC/openSUSE:Factory/.libdwarf.new.1538 (New) Package is "libdwarf" Mon May 2 16:25:45 2022 rev:24 rq:974321 version:0.4.0 Changes: --- /work/SRC/openSUSE:Factory/libdwarf/libdwarf.changes2022-04-25 23:35:12.854390138 +0200 +++ /work/SRC/openSUSE:Factory/.libdwarf.new.1538/libdwarf.changes 2022-05-02 16:25:54.348860641 +0200 @@ -1,0 +2,7 @@ +Wed Apr 27 12:25:48 UTC 2022 - Jan Engelhardt + +- Resolve rpmlint report "libdwarf1.x86_64: E: + shlib-policy-name-error SONAME: libdwarf.so.0, expected package + suffix: 0" + +--- Other differences: -- ++ libdwarf.spec ++ --- /var/tmp/diff_new_pack.laAF7s/_old 2022-05-02 16:25:54.844861192 +0200 +++ /var/tmp/diff_new_pack.laAF7s/_new 2022-05-02 16:25:54.848861197 +0200 @@ -31,12 +31,13 @@ libdwarf is a library of functions to provide read/write DWARF debugging records. -%package -n libdwarf1 +%package -n libdwarf0 Summary:Library to access DWARF information in object files License:LGPL-2.1-or-later Group: System/Libraries +Conflicts: libdwarf1 -%description -n libdwarf1 +%description -n libdwarf0 Library of functions to provide creation of DWARF debugging information records, DWARF line number information, DWARF address range and pubnames information, weak names information, and DWARF @@ -46,7 +47,7 @@ Summary:Development files for libdwarf License:LGPL-2.1-or-later Group: Development/Libraries/C and C++ -Requires: libdwarf1 = %{version} +Requires: libdwarf0 = %{version} Requires: libelf-devel %description devel @@ -100,10 +101,10 @@ mkdir %{buildroot}%{_includedir}/libdwarf cp -l %{buildroot}%{_includedir}/libdwarf-0/*.h %{buildroot}%{_includedir}/libdwarf -%post -n libdwarf1 -p /sbin/ldconfig -%postun -n libdwarf1 -p /sbin/ldconfig +%post -n libdwarf0 -p /sbin/ldconfig +%postun -n libdwarf0 -p /sbin/ldconfig -%files -n libdwarf1 +%files -n libdwarf0 %license src/lib/libdwarf/LIBDWARFCOPYRIGHT src/lib/libdwarf/LGPL.txt %{_libdir}/libdwarf.so.0*
commit libdwarf for openSUSE:Factory
Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libdwarf for openSUSE:Factory checked in at 2022-04-25 23:35:08 Comparing /work/SRC/openSUSE:Factory/libdwarf (Old) and /work/SRC/openSUSE:Factory/.libdwarf.new.1538 (New) Package is "libdwarf" Mon Apr 25 23:35:08 2022 rev:23 rq:972471 version:0.4.0 Changes: --- /work/SRC/openSUSE:Factory/libdwarf/libdwarf.changes2022-02-21 17:49:00.159636934 +0100 +++ /work/SRC/openSUSE:Factory/.libdwarf.new.1538/libdwarf.changes 2022-04-25 23:35:12.854390138 +0200 @@ -1,0 +2,18 @@ +Sun Apr 24 20:07:05 UTC 2022 - Dirk M??ller + +- update to 0.4.0: + * Removed the unused Dwarf_Error argument from dwarf_return_empty_pubnames() +as the function can only return DW_DLV_OK. dwarf_xu_header_free() renamed +to dwarf_dealloc_xu_header(). dwarf_gdbindex_free() renamed +to dwarf_dealloc_gdbindex(). dwarf_loc_head_c_dealloc renamed to +dwarf_dealloc_loc_head_c(). + * dwarf_get_location_op_value_d() renamed to dwarf_get_location_op_value_c(), +and 3 pointless arguments removed. The dwarf_get_location_op_value_d +version and the three arguments were added for DWARF5 in libdwarf20210528 +but the change was a mistake. Now reverted to the previous version. + * The .debug_names section interfaces have changed. Added +dwarf_dnames_offsets() to provide details of facts useful in problems +reading the section. dwarf_dnames_name() now does work +and the interface was changed to make it easier to use. + +--- Old: libdwarf-0.3.3.tar.xz New: libdwarf-0.4.0.tar.xz Other differences: -- ++ libdwarf.spec ++ --- /var/tmp/diff_new_pack.U1E2wO/_old 2022-04-25 23:35:14.082391859 +0200 +++ /var/tmp/diff_new_pack.U1E2wO/_new 2022-04-25 23:35:14.086391864 +0200 @@ -17,13 +17,13 @@ Name: libdwarf -Version:0.3.3 +Version:0.4.0 Release:0 Summary:Access DWARF debugging information License:GPL-2.0-or-later AND LGPL-2.1-or-later Group: Development/Libraries/C and C++ URL:https://prevanders.net/dwarf.html -Source: https://github.com/davea42/libdwarf-code/releases/download/libdwarf-%{version}/libdwarf-%{version}.tar.xz +Source: https://github.com/davea42/libdwarf-code/releases/download/v%{version}/libdwarf-%{version}.tar.xz BuildRequires: binutils-devel BuildRequires: libelf-devel ++ libdwarf-0.3.3.tar.xz -> libdwarf-0.4.0.tar.xz ++ 39984 lines of diff (skipped)
commit libdwarf for openSUSE:Factory
Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libdwarf for openSUSE:Factory checked in at 2022-02-21 17:46:49 Comparing /work/SRC/openSUSE:Factory/libdwarf (Old) and /work/SRC/openSUSE:Factory/.libdwarf.new.1958 (New) Package is "libdwarf" Mon Feb 21 17:46:49 2022 rev:22 rq:956372 version:0.3.3 Changes: --- /work/SRC/openSUSE:Factory/libdwarf/libdwarf.changes2022-02-15 23:57:00.636167838 +0100 +++ /work/SRC/openSUSE:Factory/.libdwarf.new.1958/libdwarf.changes 2022-02-21 17:49:00.159636934 +0100 @@ -1,0 +2,5 @@ +Mon Feb 21 11:11:09 UTC 2022 - Dirk M??ller + +- replace symlink by directory with hardlinks (bsc#1196198) + +--- Other differences: -- ++ libdwarf.spec ++ --- /var/tmp/diff_new_pack.FRntlG/_old 2022-02-21 17:49:00.719637101 +0100 +++ /var/tmp/diff_new_pack.FRntlG/_new 2022-02-21 17:49:00.723637102 +0100 @@ -97,7 +97,8 @@ %install %make_install -ln -s libdwarf-0 %{buildroot}%{_includedir}/libdwarf +mkdir %{buildroot}%{_includedir}/libdwarf +cp -l %{buildroot}%{_includedir}/libdwarf-0/*.h %{buildroot}%{_includedir}/libdwarf %post -n libdwarf1 -p /sbin/ldconfig %postun -n libdwarf1 -p /sbin/ldconfig
commit libdwarf for openSUSE:Factory
Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libdwarf for openSUSE:Factory checked in at 2022-02-15 23:56:58 Comparing /work/SRC/openSUSE:Factory/libdwarf (Old) and /work/SRC/openSUSE:Factory/.libdwarf.new.1956 (New) Package is "libdwarf" Tue Feb 15 23:56:58 2022 rev:21 rq:954118 version:0.3.3 Changes: --- /work/SRC/openSUSE:Factory/libdwarf/libdwarf.changes2021-06-18 10:13:20.517959006 +0200 +++ /work/SRC/openSUSE:Factory/.libdwarf.new.1956/libdwarf.changes 2022-02-15 23:57:00.636167838 +0100 @@ -1,0 +2,12 @@ +Sun Feb 13 20:39:29 UTC 2022 - Dirk M??ller + +- update to 0.3.3: + * Release fixes a n assign offset = offset; + * Fixes a bug in LEB value reading of some values in the very rare case the +compiler has emitted padding in the LEB + * Has improvements in detecting corrupt object files (Elf, MachO, and PE) and +one new function that is only significant for those using an LLVM feature +for Heterogenous Debugging. Passes Coverity Scan with zero issues. +- drop libdwarf-gcc11.patch, libdwarf-gcc11-fixup.patch: upstream + +--- Old: libdwarf-20210528.tar.gz libdwarf-gcc11-fixup.patch libdwarf-gcc11.patch New: libdwarf-0.3.3.tar.xz Other differences: -- ++ libdwarf.spec ++ --- /var/tmp/diff_new_pack.eDMcDH/_old 2022-02-15 23:57:01.112169152 +0100 +++ /var/tmp/diff_new_pack.eDMcDH/_new 2022-02-15 23:57:01.116169163 +0100 @@ -1,7 +1,7 @@ # # spec file for package libdwarf # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,16 +17,13 @@ Name: libdwarf -Version:20210528 +Version:0.3.3 Release:0 Summary:Access DWARF debugging information License:GPL-2.0-or-later AND LGPL-2.1-or-later Group: Development/Libraries/C and C++ URL:https://prevanders.net/dwarf.html -Source: https://prevanders.net/%{name}-%{version}.tar.gz -# PATCH-FIX-UPSTREAM: https://github.com/davea42/libdwarf-code/commit/a6d8638c2089c42a6d00e375859b84feea309132.patch -Patch0: libdwarf-gcc11.patch -Patch1: libdwarf-gcc11-fixup.patch +Source: https://github.com/davea42/libdwarf-code/releases/download/libdwarf-%{version}/libdwarf-%{version}.tar.xz BuildRequires: binutils-devel BuildRequires: libelf-devel @@ -73,9 +70,9 @@ %package tools Summary:DWARF-related tools -# Debian name for the package; provide it for cross-discoverability. License:GPL-2.0-or-later Group: Development/Tools/Building +# Debian name for the package; provide it for cross-discoverability. Provides: dwarfutils = %{version}-%{release} %description tools @@ -90,9 +87,7 @@ Documentation for libdwarf. %prep -%setup -q -%patch0 -p1 -%patch1 -p1 +%autosetup -p1 %build %global _lto_cflags %{_lto_cflags} -ffat-lto-objects @@ -102,35 +97,35 @@ %install %make_install -mkdir %{buildroot}%{_includedir}/libdwarf -mv %{buildroot}%{_includedir}/*.h %{buildroot}%{_includedir}/libdwarf -rm -r %{buildroot}/%{_datadir}/libdwarf/ +ln -s libdwarf-0 %{buildroot}%{_includedir}/libdwarf %post -n libdwarf1 -p /sbin/ldconfig %postun -n libdwarf1 -p /sbin/ldconfig %files -n libdwarf1 -%license libdwarf/COPYING libdwarf/LIBDWARFCOPYRIGHT libdwarf/LGPL.txt -%{_libdir}/libdwarf.so.1* +%license src/lib/libdwarf/LIBDWARFCOPYRIGHT src/lib/libdwarf/LGPL.txt +%{_libdir}/libdwarf.so.0* %files devel %{_libdir}/libdwarf.la %{_libdir}/libdwarf.so +%{_libdir}/pkgconfig/libdwarf.pc %{_includedir}/libdwarf +%{_includedir}/libdwarf-0 %files devel-static %{_libdir}/libdwarf.a %files tools +%license src/bin/dwarfdump/GPL.txt +%doc src/bin/dwarfdump/README %{_bindir}/dwarfdump %{_mandir}/man1/dwarfdump* -%license libdwarf/COPYING %dir %{_datadir}/dwarfdump %{_datadir}/dwarfdump/dwarfdump.conf -%doc dwarfdump/README dwarfdump/GPL.txt %files doc -%doc libdwarf/*.pdf -%doc libdwarf/README +%doc doc/*.pdf +%doc src/lib/libdwarf/README %changelog
commit libdwarf for openSUSE:Factory
Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libdwarf for openSUSE:Factory checked in at 2021-06-18 10:13:13 Comparing /work/SRC/openSUSE:Factory/libdwarf (Old) and /work/SRC/openSUSE:Factory/.libdwarf.new.2625 (New) Package is "libdwarf" Fri Jun 18 10:13:13 2021 rev:20 rq:900354 version:20210528 Changes: --- /work/SRC/openSUSE:Factory/libdwarf/libdwarf.changes2021-04-26 16:38:40.605985134 +0200 +++ /work/SRC/openSUSE:Factory/.libdwarf.new.2625/libdwarf.changes 2021-06-18 10:13:20.517959006 +0200 @@ -1,0 +2,42 @@ +Wed Jun 16 09:58:56 UTC 2021 - Fridrich Strba + +- Added patch: + * libdwarf-gcc11-fixup.patch ++ fix missing return and double define mistake in the upstream + patch + +--- +Tue Jun 15 23:51:37 UTC 2021 - Dirk M??ller + +- libdwarf-gcc11.patch: refresh with upstream patch + +--- +Tue Jun 15 10:12:29 UTC 2021 - Fridrich Strba + +- Added patch: + * libdwarf-gcc11.patch ++ skip correctly DW_FORM_implicit_const in + _dwarf_formudata_internal (bsc#1187336) + +--- +Fri Jun 11 10:18:23 UTC 2021 - Fridrich Strba + +- update to 20210528: + corrects libdwarf's handling of DWARF5 line table header DW_LNCT + entries. Dwarfdump now prints DW_OP_bra and DW_OP_skip correctly + and correctly validates the target of these operators. + adds summary information on attribute/form-class uses and + attribute/forms use to the existing option -ku summary on tags + and attributes. Dwarfdump verifies many attribute references are + usable and prints a little from the target DIE, including with + DW_FORM_ref_sig8 references. Now dwarf.h shows many more + extensions (added by compiler developers) to the TAGs and + ATtributes defines. Alongide releases is a pdf, + libdwarf2.1xl.pdf (xl.pdf as it is extra-large), that is the + same as the latest libdwarf2.1.pdf but with the + table-of-contents at the front, not the back, of the pdf. + Created an experiment, it is around 15MB so seemed too large to + place it in the release or to do multiple versions. Later + updates will just replace it on prevanders.net. + +--- Old: libdwarf-20201201.tar.gz New: libdwarf-20210528.tar.gz libdwarf-gcc11-fixup.patch libdwarf-gcc11.patch Other differences: -- ++ libdwarf.spec ++ --- /var/tmp/diff_new_pack.EdVo7n/_old 2021-06-18 10:13:20.997959641 +0200 +++ /var/tmp/diff_new_pack.EdVo7n/_new 2021-06-18 10:13:20.997959641 +0200 @@ -17,13 +17,16 @@ Name: libdwarf -Version:20201201 +Version:20210528 Release:0 Summary:Access DWARF debugging information License:GPL-2.0-or-later AND LGPL-2.1-or-later Group: Development/Libraries/C and C++ URL:https://prevanders.net/dwarf.html Source: https://prevanders.net/%{name}-%{version}.tar.gz +# PATCH-FIX-UPSTREAM: https://github.com/davea42/libdwarf-code/commit/a6d8638c2089c42a6d00e375859b84feea309132.patch +Patch0: libdwarf-gcc11.patch +Patch1: libdwarf-gcc11-fixup.patch BuildRequires: binutils-devel BuildRequires: libelf-devel @@ -88,6 +91,8 @@ %prep %setup -q +%patch0 -p1 +%patch1 -p1 %build %global _lto_cflags %{_lto_cflags} -ffat-lto-objects ++ libdwarf-20201201.tar.gz -> libdwarf-20210528.tar.gz ++ 61147 lines of diff (skipped) ++ libdwarf-gcc11-fixup.patch ++ --- libdwarf-20210528/libdwarf/dwarf_form.c 2021-06-16 11:56:45.305843867 +0200 +++ libdwarf-20210528/libdwarf/dwarf_form.c 2021-06-16 11:54:54.385102743 +0200 @@ -1322,6 +1322,7 @@ _dwarf_error(dbg, error, DW_DLE_UDATA_VALUE_NEGATIVE); return DW_DLV_ERROR; } +return DW_DLV_OK; } generate_form_error(dbg,error,form, DW_DLE_ATTR_FORM_BAD, --- libdwarf-20210528/libdwarf/libdwarf.h.in2021-06-16 11:56:45.305843867 +0200 +++ libdwarf-20210528/libdwarf/libdwarf.h.in2021-06-16 11:54:54.385102743 +0200 @@ -1461,7 +1461,6 @@ #define DW_DLE_SIGNATURE_MISMATCH 480 #define DW_DLE_MACRO_VERSION_ERROR 481 #define DW_DLE_NEGATIVE_SIZE 482 -#define DW_DLE_NEGATIVE_SIZE 482 #define DW_DLE_UDATA_VALUE_NEGATIVE483 /* LAST MUST EQUAL LAST ERROR NUMBER */ ++ libdwarf-gcc11.patch ++ >From a6d8638c2089c42a6d00e375859b84feea309132 Mon Sep 17 00:00:00 2001 From: David Anderson Date: Tue, 15 Jun 2021 16:05:59 -0700 Subject:
commit libdwarf for openSUSE:Factory
Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libdwarf for openSUSE:Factory checked in at 2021-04-26 16:38:35 Comparing /work/SRC/openSUSE:Factory/libdwarf (Old) and /work/SRC/openSUSE:Factory/.libdwarf.new.12324 (New) Package is "libdwarf" Mon Apr 26 16:38:35 2021 rev:19 rq:888310 version:20201201 Changes: --- /work/SRC/openSUSE:Factory/libdwarf/libdwarf.changes2021-02-07 15:13:45.525369747 +0100 +++ /work/SRC/openSUSE:Factory/.libdwarf.new.12324/libdwarf.changes 2021-04-26 16:38:40.605985134 +0200 @@ -1,0 +2,5 @@ +Wed Apr 21 09:11:06 UTC 2021 - Wolfgang Frisch + +- Hardening: link as PIE (bsc#1185057). + +--- Other differences: -- ++ libdwarf.spec ++ --- /var/tmp/diff_new_pack.dlwWtk/_old 2021-04-26 16:38:41.061985860 +0200 +++ /var/tmp/diff_new_pack.dlwWtk/_new 2021-04-26 16:38:41.065985866 +0200 @@ -20,7 +20,7 @@ Version:20201201 Release:0 Summary:Access DWARF debugging information -License:LGPL-2.1-or-later AND GPL-2.0-or-later +License:GPL-2.0-or-later AND LGPL-2.1-or-later Group: Development/Libraries/C and C++ URL:https://prevanders.net/dwarf.html Source: https://prevanders.net/%{name}-%{version}.tar.gz @@ -92,7 +92,7 @@ %build %global _lto_cflags %{_lto_cflags} -ffat-lto-objects export CFLAGS="%{optflags}" -CFLAGS="$CFLAGS -fPIC" %configure --enable-shared +CFLAGS="$CFLAGS -fPIC" LDFLAGS="-pie" %configure --enable-shared %make_build %install
commit libdwarf for openSUSE:Factory
Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libdwarf for openSUSE:Factory checked in at 2021-02-07 15:13:44 Comparing /work/SRC/openSUSE:Factory/libdwarf (Old) and /work/SRC/openSUSE:Factory/.libdwarf.new.28504 (New) Package is "libdwarf" Sun Feb 7 15:13:44 2021 rev:18 rq:867800 version:20201201 Changes: --- /work/SRC/openSUSE:Factory/libdwarf/libdwarf.changes2020-10-29 09:21:45.166655914 +0100 +++ /work/SRC/openSUSE:Factory/.libdwarf.new.28504/libdwarf.changes 2021-02-07 15:13:45.525369747 +0100 @@ -1,0 +2,15 @@ +Fri Jan 29 22:02:13 UTC 2021 - Dirk M??ller + +- update to 20201201: + dwarfdump now prints DWARF expression operators each on + its own line. This makes viewing DWARF expressions much + nicer given the increased use of much longer expressions. + Those expression operators that reference DIES are now + followed, verified, and the target DW_TAG and DW_AT_name + are printed. A new dwarfdump.conf command 'option:' lets + one specify option: --format-expr-ops-joined in case you + want the old style DWARF expression operators-on-one-line. + Where the DWARF DIE children nest > nine-deep dwarfdump + switches from indentation by spaces to a nest-level number. + +--- Old: libdwarf-20201020.tar.gz New: libdwarf-20201201.tar.gz Other differences: -- ++ libdwarf.spec ++ --- /var/tmp/diff_new_pack.Mf7sBO/_old 2021-02-07 15:13:46.289370563 +0100 +++ /var/tmp/diff_new_pack.Mf7sBO/_new 2021-02-07 15:13:46.293370568 +0100 @@ -1,7 +1,7 @@ # # spec file for package libdwarf # -# Copyright (c) 2020 SUSE LLC +# Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,13 +17,13 @@ Name: libdwarf -Version:20201020 +Version:20201201 Release:0 Summary:Access DWARF debugging information License:LGPL-2.1-or-later AND GPL-2.0-or-later Group: Development/Libraries/C and C++ URL:https://prevanders.net/dwarf.html -Source: http://prevanders.net/%{name}-%{version}.tar.gz +Source: https://prevanders.net/%{name}-%{version}.tar.gz BuildRequires: binutils-devel BuildRequires: libelf-devel ++ libdwarf-20201020.tar.gz -> libdwarf-20201201.tar.gz ++ 19228 lines of diff (skipped)