Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package gdb for openSUSE:Factory checked in 
at 2022-03-04 00:16:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gdb (Old)
 and      /work/SRC/openSUSE:Factory/.gdb.new.1958 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gdb"

Fri Mar  4 00:16:59 2022 rev:161 rq:958414 version:11.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/gdb/gdb.changes  2022-02-13 19:50:38.958149817 
+0100
+++ /work/SRC/openSUSE:Factory/.gdb.new.1958/gdb.changes        2022-03-04 
00:17:15.576280396 +0100
@@ -1,0 +2,6 @@
+Fri Feb 25 14:53:56 UTC 2022 - Tom de Vries <tdevr...@suse.com>
+
+- Patch added (backport from master):
+  * fix-build-with-current-gcc-el_explicit-location-always-non-null.patch
+
+-------------------------------------------------------------------

New:
----
  fix-build-with-current-gcc-el_explicit-location-always-non-null.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ gdb.spec ++++++
--- /var/tmp/diff_new_pack.RFO0OD/_old  2022-03-04 00:17:18.268280964 +0100
+++ /var/tmp/diff_new_pack.RFO0OD/_new  2022-03-04 00:17:18.272280965 +0100
@@ -348,6 +348,7 @@
 Patch2035:      gdb-r_version-check.patch
 Patch2036:      ibm-z-add-another-arch14-instruction.patch
 Patch2037:      ibm-z-remove-lpswey-parameter.patch
+Patch2038:      
fix-build-with-current-gcc-el_explicit-location-always-non-null.patch
 
 # Backports from master, not yet available in next release.
 
@@ -805,6 +806,7 @@
 %patch2035 -p1
 %patch2036 -p1
 %patch2037 -p1
+%patch2038 -p1
 
 %patch2100 -p1
 %patch2101 -p1

++++++ fix-build-with-current-gcc-el_explicit-location-always-non-null.patch 
++++++
Fix build with current GCC: EL_EXPLICIT(location) always non-NULL

Compiling GDB with current GCC (1b4a63593b) runs into this:

  src/gdb/location.c: In function 'int event_location_empty_p(const 
event_location*)':
  src/gdb/location.c:963:38: error: the address of 'event_location::<unnamed 
union>::explicit_loc' will never be NULL [-Werror=address]
    963 |       return (EL_EXPLICIT (location) == NULL
        |                                      ^
  src/gdb/location.c:57:30: note: 'event_location::<unnamed 
union>::explicit_loc' declared here
     57 |     struct explicit_location explicit_loc;
        |                              ^~~~~~~~~~~~

GCC is right, EL_EXPLICIT is defined as returning the address of an
union field:

      /* An explicit location.  */
      struct explicit_location explicit_loc;
  #define EL_EXPLICIT(P) (&((P)->u.explicit_loc))

and thus must always be non-NULL.

Change-Id: Ie74fee7834495a93affcefce03c06e4d83ad8191

---
 gdb/location.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/gdb/location.c b/gdb/location.c
index 827294e106a..1ee20069313 100644
--- a/gdb/location.c
+++ b/gdb/location.c
@@ -960,12 +960,11 @@ event_location_empty_p (const struct event_location 
*location)
       return 0;
 
     case EXPLICIT_LOCATION:
-      return (EL_EXPLICIT (location) == NULL
-             || (EL_EXPLICIT (location)->source_filename == NULL
-                 && EL_EXPLICIT (location)->function_name == NULL
-                 && EL_EXPLICIT (location)->label_name == NULL
-                 && (EL_EXPLICIT (location)->line_offset.sign
-                     == LINE_OFFSET_UNKNOWN)));
+      return (EL_EXPLICIT (location)->source_filename == NULL
+             && EL_EXPLICIT (location)->function_name == NULL
+             && EL_EXPLICIT (location)->label_name == NULL
+             && (EL_EXPLICIT (location)->line_offset.sign
+                 == LINE_OFFSET_UNKNOWN));
 
     case PROBE_LOCATION:
       return EL_PROBE (location) == NULL;

Reply via email to