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
 

Reply via email to