Author: renodr
Date: Wed Jun  3 11:25:20 2020
New Revision: 4134

Log:
Add systemd gcc10 patch

Added:
   trunk/systemd/systemd-245-gcc_10-fixes-1.patch

Added: trunk/systemd/systemd-245-gcc_10-fixes-1.patch
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ trunk/systemd/systemd-245-gcc_10-fixes-1.patch      Wed Jun  3 11:25:20 
2020        (r4134)
@@ -0,0 +1,87 @@
+Submitted By:            Douglas R. Reno <renodr at linuxfromscratch dot org>
+Date:                    2020-06-03
+Initial Package Version: 245
+Origin:                  Upstream
+Upstream Status:         Applied
+Description:             Fixes the build of systemd to work with gcc-10.
+
+diff -Naurp systemd-245.orig/meson.build systemd-245/meson.build
+--- systemd-245.orig/meson.build       2020-03-06 06:38:52.000000000 -0600
++++ systemd-245/meson.build    2020-06-03 13:06:01.140375618 -0500
+@@ -423,6 +423,9 @@ add_project_arguments(cc.get_supported_a
+ add_project_arguments(cc.get_supported_arguments(possible_cc_flags), language 
: 'c')
+ 
add_project_link_arguments(cc.get_supported_link_arguments(possible_link_flags),
 language : 'c')
+ 
++have = cc.has_argument('-Wzero-length-bounds')
++conf.set10('HAVE_ZERO_LENGTH_BOUNDS', have)
++
+ if cc.compiles('''
+    #include <time.h>
+    #include <inttypes.h>
+diff -Naurp systemd-245.orig/src/core/path.c systemd-245/src/core/path.c
+--- systemd-245.orig/src/core/path.c   2020-03-06 06:38:52.000000000 -0600
++++ systemd-245/src/core/path.c        2020-06-03 13:05:11.148928981 -0500
+@@ -223,11 +223,10 @@ static void path_spec_mkdir(PathSpec *s,
+ }
+ 
+ static void path_spec_dump(PathSpec *s, FILE *f, const char *prefix) {
+-        fprintf(f,
+-                "%s%s: %s\n",
+-                prefix,
+-                path_type_to_string(s->type),
+-                s->path);
++        const char *type;
++
++        assert_se(type = path_type_to_string(s->type));
++        fprintf(f, "%s%s: %s\n", prefix, type, s->path);
+ }
+ 
+ void path_spec_done(PathSpec *s) {
+@@ -607,14 +606,16 @@ static int path_serialize(Unit *u, FILE
+         (void) serialize_item(f, "result", path_result_to_string(p->result));
+ 
+         LIST_FOREACH(spec, s, p->specs) {
++                const char *type;
+                 _cleanup_free_ char *escaped = NULL;
+ 
+                 escaped = cescape(s->path);
+                 if (!escaped)
+                         return log_oom();
+ 
++                assert_se(type = path_type_to_string(s->type));
+                 (void) serialize_item_format(f, "path-spec", "%s %i %s",
+-                                             path_type_to_string(s->type),
++                                             type,
+                                              s->previous_exists,
+                                              s->path);
+         }
+diff -Naurp systemd-245.orig/src/shared/ethtool-util.c 
systemd-245/src/shared/ethtool-util.c
+--- systemd-245.orig/src/shared/ethtool-util.c 2020-03-06 06:38:52.000000000 
-0600
++++ systemd-245/src/shared/ethtool-util.c      2020-06-03 13:07:36.861225354 
-0500
+@@ -256,8 +256,13 @@ int ethtool_get_permanent_macaddr(int *e
+         if (epaddr.addr.size != 6)
+                 return -EOPNOTSUPP;
+ 
++#pragma GCC diagnostic push
++#if HAVE_ZERO_LENGTH_BOUNDS
++#pragma GCC diagnostic ignored "-Wzero-length-bounds"
++#endif
+         for (size_t i = 0; i < epaddr.addr.size; i++)
+                 ret->ether_addr_octet[i] = epaddr.addr.data[i];
++#pragma GCC diagnostic pop
+ 
+         return 0;
+ }
+@@ -479,7 +484,12 @@ static int get_stringset(int ethtool_fd,
+         if (!buffer.info.sset_mask)
+                 return -EINVAL;
+ 
++#pragma GCC diagnostic push
++#if HAVE_ZERO_LENGTH_BOUNDS
++#pragma GCC diagnostic ignored "-Wzero-length-bounds"
++#endif
+         len = buffer.info.data[0];
++#pragma GCC diagnostic pop
+ 
+         strings = malloc0(sizeof(struct ethtool_gstrings) + len * 
ETH_GSTRING_LEN);
+         if (!strings)
-- 
http://lists.linuxfromscratch.org/listinfo/patches
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Reply via email to