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.changes 2021-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 <[email protected]> + +- 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 <[email protected]> + +- libdwarf-gcc11.patch: refresh with upstream patch + +------------------------------------------------------------------- +Tue Jun 15 10:12:29 UTC 2021 - Fridrich Strba <[email protected]> + +- 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 <[email protected]> + +- 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.in 2021-06-16 11:56:45.305843867 +0200 +++ libdwarf-20210528/libdwarf/libdwarf.h.in 2021-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_NEGATIVE 483 /* LAST MUST EQUAL LAST ERROR NUMBER */ ++++++ libdwarf-gcc11.patch ++++++ >From a6d8638c2089c42a6d00e375859b84feea309132 Mon Sep 17 00:00:00 2001 From: David Anderson <[email protected]> Date: Tue, 15 Jun 2021 16:05:59 -0700 Subject: [PATCH] dwarf_formudata() now returns any constant including non-negative signed constant values. Negative signed constant values must be accessed via dwarf_formsdata() as always. modified: src/lib/libdwarf/libdwarf/dwarf_debug_names.c modified: src/lib/libdwarf/libdwarf/dwarf_errmsg_list.h modified: src/lib/libdwarf/libdwarf/dwarf_form.c modified: src/lib/libdwarf/dwarf_opaque.h modified: src/lib/libdwarf/libdwarf/libdwarf.h --- src/lib/libdwarf/libdwarf/dwarf_debug_names.c | 2 +- src/lib/libdwarf/libdwarf/dwarf_errmsg_list.h | 3 +++ src/lib/libdwarf/libdwarf/dwarf_form.c | 21 ++++++++++++++++++--- src/lib/libdwarf/libdwarf/dwarf_opaque.h | 1 + src/lib/libdwarf/libdwarf/libdwarf.h | 4 +++- 5 files changed, 26 insertions(+), 5 deletions(-) Index: libdwarf-20210528/libdwarf/dwarf_debug_names.c =================================================================== --- libdwarf-20210528.orig/libdwarf/dwarf_debug_names.c +++ libdwarf-20210528/libdwarf/dwarf_debug_names.c @@ -1319,7 +1319,7 @@ int dwarf_debugnames_entrypool_values(Dw } else if (_dwarf_allow_formudata(form)) { Dwarf_Unsigned val = 0; Dwarf_Unsigned bytesread = 0; - res = _dwarf_formudata_internal(dbg,form,poolptr, + res = _dwarf_formudata_internal(dbg,0,form,poolptr, endpool,&val,&bytesread,error); if (res != DW_DLV_OK) { return res; Index: libdwarf-20210528/libdwarf/dwarf_errmsg_list.h =================================================================== --- libdwarf-20210528.orig/libdwarf/dwarf_errmsg_list.h +++ libdwarf-20210528/libdwarf/dwarf_errmsg_list.h @@ -639,5 +639,8 @@ const char *_dwarf_errmsgs[] = { " Corrupt data.", "DW_DLE_NEGATIVE_SIZE(482) A size < 0 " "(from DW_FORM_implicit_const) is not appropriate", +"DW_DLE_UDATA_VALUE_NEGATIVE(483) Reading a negative value from " + " from dwarf_formudata() is not allowed.", + }; #endif /* DWARF_ERRMSG_LIST_H */ Index: libdwarf-20210528/libdwarf/dwarf_form.c =================================================================== --- libdwarf-20210528.orig/libdwarf/dwarf_form.c +++ libdwarf-20210528/libdwarf/dwarf_form.c @@ -39,6 +39,7 @@ #include "dwarf_die_deliv.h" #include "dwarf_str_offsets.h" #include "dwarfstring.h" +#include "libdwarf.h" #define TRUE 1 #define FALSE 0 @@ -1241,6 +1243,7 @@ _dwarf_allow_formudata(unsigned form) int _dwarf_formudata_internal(Dwarf_Debug dbg, + Dwarf_Attribute attr, unsigned form, Dwarf_Byte_Ptr data, Dwarf_Byte_Ptr section_end, @@ -1302,12 +1305,25 @@ _dwarf_formudata_internal(Dwarf_Debug db *bytes_read = leblen; return DW_DLV_OK; } - /* IRIX bug 583450. We do not allow reading - sdata from a udata - value. Caller can retry, calling sdata */ + /* IRIX bug 583450. We do not allow reading + sdata from a udata + value. Caller can retry, calling sdata */ default: break; } + if (attr) { + + int res = 0; + Dwarf_Signed s = 0; + res = dwarf_formsdata(attr,&s,error); + if (res != DW_DLV_OK) { + return res; + } + if (s < 0 ) { + _dwarf_error(dbg, error, DW_DLE_UDATA_VALUE_NEGATIVE); + return DW_DLV_ERROR; + } + } generate_form_error(dbg,error,form, DW_DLE_ATTR_FORM_BAD, "DW_DLE_ATTR_FORM_BAD", @@ -1335,6 +1351,7 @@ dwarf_formudata(Dwarf_Attribute attr, form = attr->ar_attribute_form; res = _dwarf_formudata_internal(dbg, + attr, form, data, section_end, return_uval, &bytes_read, error); return res; Index: libdwarf-20210528/libdwarf/dwarf_opaque.h =================================================================== --- libdwarf-20210528.orig/libdwarf/dwarf_opaque.h +++ libdwarf-20210528/libdwarf/dwarf_opaque.h @@ -1075,6 +1075,7 @@ void _dwarf_create_address_size_dwarf_er extern Dwarf_Bool _dwarf_allow_formudata(unsigned form); extern int _dwarf_formudata_internal(Dwarf_Debug dbg, + Dwarf_Attribute attr, unsigned form, Dwarf_Byte_Ptr data, Dwarf_Byte_Ptr section_end, Index: libdwarf-20210528/libdwarf/libdwarf.h =================================================================== --- libdwarf-20210528.orig/libdwarf/libdwarf.h.in +++ libdwarf-20210528/libdwarf/libdwarf.h.in @@ -1461,9 +1461,11 @@ struct Dwarf_Obj_Access_Interface_s { #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_NEGATIVE 483 /* LAST MUST EQUAL LAST ERROR NUMBER */ -#define DW_DLE_LAST 482 +#define DW_DLE_LAST 483 #define DW_DLE_LO_USER 0x10000
