Hello community,

here is the log from the commit of package skiboot for openSUSE:Factory checked 
in at 2019-07-23 22:39:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/skiboot (Old)
 and      /work/SRC/openSUSE:Factory/.skiboot.new.4126 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "skiboot"

Tue Jul 23 22:39:17 2019 rev:16 rq:717849 version:6.2.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/skiboot/skiboot.changes  2019-03-14 
15:02:15.223681226 +0100
+++ /work/SRC/openSUSE:Factory/.skiboot.new.4126/skiboot.changes        
2019-07-23 22:39:18.698947430 +0200
@@ -1,0 +2,9 @@
+Tue Jul 23 08:18:39 UTC 2019 - Michal Suchanek <msucha...@suse.de>
+
+- Fix aligment error with gcc9.
+    - add errorlog-Prevent-alignment-error-buiding-with-gcc9.patch
+    - add hdata-vpd-fix-printing-char-0x00.patch
+    - add struct-p9_sbe_msg-doesn-t-need-to-be-packed.patch
+    - refresh libffs-fix-string-truncation.patch
+
+-------------------------------------------------------------------

New:
----
  errorlog-Prevent-alignment-error-buiding-with-gcc9.patch
  hdata-vpd-fix-printing-char-0x00.patch
  struct-p9_sbe_msg-doesn-t-need-to-be-packed.patch

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

Other differences:
------------------
++++++ skiboot.spec ++++++
--- /var/tmp/diff_new_pack.Zvq1Vq/_old  2019-07-23 22:39:19.346947297 +0200
+++ /var/tmp/diff_new_pack.Zvq1Vq/_new  2019-07-23 22:39:19.350947296 +0200
@@ -12,7 +12,7 @@
 # license that conforms to the Open Source Definition (Version 1.9)
 # published by the Open Source Initiative.
 
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
 #
 
 
@@ -27,6 +27,9 @@
 Url:            https://github.com/open-power/skiboot
 Source:         skiboot-%{version}.tar.gz
 Patch1:         libffs-fix-string-truncation.patch
+Patch2:         struct-p9_sbe_msg-doesn-t-need-to-be-packed.patch
+Patch3:         hdata-vpd-fix-printing-char-0x00.patch
+Patch4:         errorlog-Prevent-alignment-error-buiding-with-gcc9.patch
 BuildRequires:  libopenssl-devel
 BuildRequires:  linux-glibc-devel
 BuildRequires:  systemd-rpm-macros

++++++ errorlog-Prevent-alignment-error-buiding-with-gcc9.patch ++++++
>From a3d976ddfd376cd1c5b6ae7aa3c5e7139a5a4032 Mon Sep 17 00:00:00 2001
From: Michal Suchanek <msucha...@suse.de>
Date: Tue, 23 Jul 2019 10:04:22 +0200
Subject: [PATCH] errorlog: Prevent alignment error buiding with gcc9.

Fixes this build error:
[ 52s] hw/fsp/fsp-elog-write.c: In function 'opal_elog_read':
[ 52s] hw/fsp/fsp-elog-write.c:213:12: error: taking address of packed member 
of 'struct errorlog' may result in an unaligned pointer value 
[-Werror=address-of-packed-member]
[ 52s] 213 | list_del(&log_data->link);
[ 52s] | ^~~~~~~~~~~~~~~

Fixes: https://github.com/open-power/skiboot/issues/247
Signed-off-by: Michal Suchanek <msucha...@suse.de>
---
 include/errorlog.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/errorlog.h b/include/errorlog.h
index 6da96649e048..b4cc163ced39 100644
--- a/include/errorlog.h
+++ b/include/errorlog.h
@@ -119,7 +119,7 @@ struct __attribute__((__packed__))elog_user_data_section {
  * needs to populate this structure using pre-defined interfaces
  * only
  */
-struct __attribute__((__packed__)) errorlog {
+struct __attribute__((__packed__)) __attribute__ ((aligned (8))) errorlog {
 
        uint16_t component_id;
        uint8_t error_event_type;
-- 
2.22.0

++++++ hdata-vpd-fix-printing-char-0x00.patch ++++++
>From ba977f2e4406f9de318afcdf5d666e77585ef269 Mon Sep 17 00:00:00 2001
From: Stewart Smith <stew...@linux.ibm.com>
Date: Tue, 18 Jun 2019 16:06:44 +1000
Subject: [PATCH] hdata/vpd: fix printing (char*)0x00
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

GCC9 now catches this bug:

In file included from hdata/vpd.c:17:
In function ‘vpd_vini_parse’,
    inlined from ‘vpd_data_parse’ at hdata/vpd.c:416:3:
/home/stewart/skiboot/include/skiboot.h:93:31: error: ‘%s’ directive argument 
is null [-Werror=format-overflow=]
   93 | #define prlog(l, f, ...) do { _prlog(l, pr_fmt(f), ##__VA_ARGS__); } 
while(0)
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hdata/vpd.c:390:5: note: in expansion of macro ‘prlog’
  390 |     prlog(PR_WARNING,
      |     ^~~~~
hdata/vpd.c: In function ‘vpd_data_parse’:
hdata/vpd.c:391:46: note: format string is defined here
  391 |           "VPD: CCIN desc not available for: %s\n",
      |                                              ^~
cc1: all warnings being treated as errors

Signed-off-by: Stewart Smith <stew...@linux.ibm.com>
---
 hdata/vpd.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/hdata/vpd.c b/hdata/vpd.c
index 129b5062356a..5a01bcc9f6fa 100644
--- a/hdata/vpd.c
+++ b/hdata/vpd.c
@@ -328,6 +328,7 @@ static void vpd_vini_parse(struct dt_node *node,
                           const void *fruvpd, unsigned int fruvpd_sz)
 {
        const void *kw;
+       const char *desc;
        uint8_t sz;
        const struct card_info *cinfo;
 
@@ -381,15 +382,15 @@ static void vpd_vini_parse(struct dt_node *node,
                        dt_add_property_string(node,
                                       "description", cinfo->description);
                } else {
-                       kw = vpd_find(fruvpd, fruvpd_sz, "VINI", "DR", &sz);
-                       if (kw) {
+                       desc = vpd_find(fruvpd, fruvpd_sz, "VINI", "DR", &sz);
+                       if (desc) {
                                dt_add_prop_sanitize_val(node,
-                                                    "description", kw, sz);
+                                                    "description", desc, sz);
                        } else {
                                dt_add_property_string(node, "description", 
"Unknown");
                                prlog(PR_WARNING,
                                      "VPD: CCIN desc not available for: %s\n",
-                                     (char *)kw);
+                                     (char*)kw);
                        }
                }
        }
-- 
2.22.0

++++++ libffs-fix-string-truncation.patch ++++++
--- /var/tmp/diff_new_pack.Zvq1Vq/_old  2019-07-23 22:39:19.402947285 +0200
+++ /var/tmp/diff_new_pack.Zvq1Vq/_new  2019-07-23 22:39:19.406947284 +0200
@@ -1,15 +1,17 @@
-From 235a280711265ed67d35b3781f6c7d6e7e83bda9 Mon Sep 17 00:00:00 2001
+From 5fec7d177967d8af60dba7f7e0d821d9c0245031 Mon Sep 17 00:00:00 2001
 From: Michal Suchanek <msucha...@suse.de>
 Date: Fri, 25 Jan 2019 12:54:12 +0100
 Subject: [PATCH] libffs: Fix string truncation gcc warning.
 
-Allow one more byte copied. The allocated space has extra byte anyway.
+Use memcpy as other libffs functions do.
+
+Signed-off-by: Michal Suchanek <msucha...@suse.de>
 ---
  libflash/libffs.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/libflash/libffs.c b/libflash/libffs.c
-index 221c2b02..4eb0ffa9 100644
+index 221c2b024c10..82caeb39f890 100644
 --- a/libflash/libffs.c
 +++ b/libflash/libffs.c
 @@ -522,7 +522,7 @@ int ffs_part_info(struct ffs_handle *ffs, uint32_t 
part_idx,
@@ -17,10 +19,10 @@
                if (!n)
                        return FLASH_ERR_MALLOC_FAILED;
 -              strncpy(n, ent->name, FFS_PART_NAME_MAX);
-+              strncpy(n, ent->name, FFS_PART_NAME_MAX + 1);
++              memcpy(n, ent->name, FFS_PART_NAME_MAX);
                *name = n;
        }
        return 0;
 -- 
-2.19.1
+2.20.1
 

++++++ struct-p9_sbe_msg-doesn-t-need-to-be-packed.patch ++++++
>From cb6dd64dd607c88897b3332e0fdebc24c0a0a590 Mon Sep 17 00:00:00 2001
From: Stewart Smith <stew...@linux.ibm.com>
Date: Tue, 18 Jun 2019 15:48:48 +1000
Subject: [PATCH] struct p9_sbe_msg doesn't need to be packed
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

[ Upstream commit ef691db3533742d9dd6eed1a311472a7c52be94b ]

Only the reg member is sent anywhere (via xscom_write), so the structure
does not need to be packed.

Fixes GCC9 build problem:
hw/sbe-p9.c: In function ‘p9_sbe_msg_send’:
hw/sbe-p9.c:270:9: error: taking address of packed member of ‘struct 
p9_sbe_msg’ may result in an unaligned pointer value 
[-Werror=address-of-packed-member]
  270 |  data = &msg->reg[0];
      |         ^~~~~~~~~~~~

Signed-off-by: Stewart Smith <stew...@linux.ibm.com>
---
 include/sbe-p9.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/sbe-p9.h b/include/sbe-p9.h
index 4b839d8ba22b..5ad0422ac91a 100644
--- a/include/sbe-p9.h
+++ b/include/sbe-p9.h
@@ -205,7 +205,7 @@ struct p9_sbe_msg {
 
        /* Internal queuing */
        struct list_node        link;
-} __packed;
+};
 
 
 /* Allocate and populate p9_sbe_msg structure */
-- 
2.22.0


Reply via email to