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