summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2022-12-28 09:55:41 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2022-12-28 23:59:55 +0000
commit77d8b2cc80f2cd12b3267367dc453ef0d53c2af2 (patch)
tree77466925ebdbdf655f0e5bb8b16dff497cfaafdc
parentff81714af34de533104df1686d28bc9735c02c58 (diff)
downloadpoky-77d8b2cc80f2cd12b3267367dc453ef0d53c2af2.tar.gz
systemd: Fix 252 release build on musl
(From OE-Core rev: 38256b5d8caa54024df9df908cc7fa49ca5fac39) Signed-off-by: Khem Raj <raj.khem@gmail.com> Cc: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-core/systemd/systemd/0001-Adjust-for-musl-headers.patch84
-rw-r--r--meta/recipes-core/systemd/systemd/0001-test-bus-error-strerror-is-assumed-to-be-GNU-specifi.patch42
-rw-r--r--meta/recipes-core/systemd/systemd/0002-Add-sys-stat.h-for-S_IFDIR.patch4
-rw-r--r--meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch22
-rw-r--r--meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch158
-rw-r--r--meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch29
-rw-r--r--meta/recipes-core/systemd/systemd/0010-Use-uintmax_t-for-handling-rlim_t.patch14
-rw-r--r--meta/recipes-core/systemd/systemd/0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch14
-rw-r--r--meta/recipes-core/systemd/systemd/0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch8
-rw-r--r--meta/recipes-core/systemd/systemd/0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch4
-rw-r--r--meta/recipes-core/systemd/systemd/0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch22
-rw-r--r--meta/recipes-core/systemd/systemd/0022-do-not-disable-buffer-in-writing-files.patch106
-rw-r--r--meta/recipes-core/systemd/systemd/0026-Handle-missing-gshadow.patch14
-rw-r--r--meta/recipes-core/systemd/systemd_252.4.bb3
14 files changed, 148 insertions, 376 deletions
diff --git a/meta/recipes-core/systemd/systemd/0001-Adjust-for-musl-headers.patch b/meta/recipes-core/systemd/systemd/0001-Adjust-for-musl-headers.patch
index bce1ca4563..6496280dda 100644
--- a/meta/recipes-core/systemd/systemd/0001-Adjust-for-musl-headers.patch
+++ b/meta/recipes-core/systemd/systemd/0001-Adjust-for-musl-headers.patch
@@ -47,8 +47,6 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
47 src/udev/udev-builtin-net_id.c | 2 +- 47 src/udev/udev-builtin-net_id.c | 2 +-
48 37 files changed, 44 insertions(+), 42 deletions(-) 48 37 files changed, 44 insertions(+), 42 deletions(-)
49 49
50diff --git a/src/libsystemd-network/sd-dhcp6-client.c b/src/libsystemd-network/sd-dhcp6-client.c
51index b346a50d78..7884d4c1cd 100644
52--- a/src/libsystemd-network/sd-dhcp6-client.c 50--- a/src/libsystemd-network/sd-dhcp6-client.c
53+++ b/src/libsystemd-network/sd-dhcp6-client.c 51+++ b/src/libsystemd-network/sd-dhcp6-client.c
54@@ -5,7 +5,7 @@ 52@@ -5,7 +5,7 @@
@@ -60,8 +58,6 @@ index b346a50d78..7884d4c1cd 100644
60 #include <linux/if_infiniband.h> 58 #include <linux/if_infiniband.h>
61 59
62 #include "sd-dhcp6-client.h" 60 #include "sd-dhcp6-client.h"
63diff --git a/src/network/netdev/bareudp.c b/src/network/netdev/bareudp.c
64index 8ff0eb1360..7e06b8d57d 100644
65--- a/src/network/netdev/bareudp.c 61--- a/src/network/netdev/bareudp.c
66+++ b/src/network/netdev/bareudp.c 62+++ b/src/network/netdev/bareudp.c
67@@ -2,7 +2,7 @@ 63@@ -2,7 +2,7 @@
@@ -73,8 +69,6 @@ index 8ff0eb1360..7e06b8d57d 100644
73 69
74 #include "bareudp.h" 70 #include "bareudp.h"
75 #include "netlink-util.h" 71 #include "netlink-util.h"
76diff --git a/src/network/netdev/batadv.c b/src/network/netdev/batadv.c
77index 15f3aee3a6..ec76428436 100644
78--- a/src/network/netdev/batadv.c 72--- a/src/network/netdev/batadv.c
79+++ b/src/network/netdev/batadv.c 73+++ b/src/network/netdev/batadv.c
80@@ -3,7 +3,7 @@ 74@@ -3,7 +3,7 @@
@@ -86,8 +80,6 @@ index 15f3aee3a6..ec76428436 100644
86 80
87 #include "batadv.h" 81 #include "batadv.h"
88 #include "fileio.h" 82 #include "fileio.h"
89diff --git a/src/network/netdev/bond.c b/src/network/netdev/bond.c
90index 5d94aa1d68..4e379a326d 100644
91--- a/src/network/netdev/bond.c 83--- a/src/network/netdev/bond.c
92+++ b/src/network/netdev/bond.c 84+++ b/src/network/netdev/bond.c
93@@ -1,7 +1,7 @@ 85@@ -1,7 +1,7 @@
@@ -99,8 +91,6 @@ index 5d94aa1d68..4e379a326d 100644
99 91
100 #include "alloc-util.h" 92 #include "alloc-util.h"
101 #include "bond.h" 93 #include "bond.h"
102diff --git a/src/network/netdev/bridge.c b/src/network/netdev/bridge.c
103index b974f2ae0a..9a5f18d556 100644
104--- a/src/network/netdev/bridge.c 94--- a/src/network/netdev/bridge.c
105+++ b/src/network/netdev/bridge.c 95+++ b/src/network/netdev/bridge.c
106@@ -2,7 +2,7 @@ 96@@ -2,7 +2,7 @@
@@ -112,8 +102,6 @@ index b974f2ae0a..9a5f18d556 100644
112 #include <linux/if_bridge.h> 102 #include <linux/if_bridge.h>
113 103
114 #include "bridge.h" 104 #include "bridge.h"
115diff --git a/src/network/netdev/dummy.c b/src/network/netdev/dummy.c
116index 00df1d2787..77b506b422 100644
117--- a/src/network/netdev/dummy.c 105--- a/src/network/netdev/dummy.c
118+++ b/src/network/netdev/dummy.c 106+++ b/src/network/netdev/dummy.c
119@@ -1,6 +1,6 @@ 107@@ -1,6 +1,6 @@
@@ -124,8 +112,6 @@ index 00df1d2787..77b506b422 100644
124 112
125 #include "dummy.h" 113 #include "dummy.h"
126 114
127diff --git a/src/network/netdev/geneve.c b/src/network/netdev/geneve.c
128index 224c17e979..fb79cc13f6 100644
129--- a/src/network/netdev/geneve.c 115--- a/src/network/netdev/geneve.c
130+++ b/src/network/netdev/geneve.c 116+++ b/src/network/netdev/geneve.c
131@@ -2,7 +2,7 @@ 117@@ -2,7 +2,7 @@
@@ -137,8 +123,6 @@ index 224c17e979..fb79cc13f6 100644
137 123
138 #include "alloc-util.h" 124 #include "alloc-util.h"
139 #include "conf-parser.h" 125 #include "conf-parser.h"
140diff --git a/src/network/netdev/ifb.c b/src/network/netdev/ifb.c
141index d7ff44cb9e..e037629ae4 100644
142--- a/src/network/netdev/ifb.c 126--- a/src/network/netdev/ifb.c
143+++ b/src/network/netdev/ifb.c 127+++ b/src/network/netdev/ifb.c
144@@ -1,7 +1,7 @@ 128@@ -1,7 +1,7 @@
@@ -150,8 +134,6 @@ index d7ff44cb9e..e037629ae4 100644
150 134
151 #include "ifb.h" 135 #include "ifb.h"
152 136
153diff --git a/src/network/netdev/ipoib.c b/src/network/netdev/ipoib.c
154index e0ff9e8c62..ab085c1f6d 100644
155--- a/src/network/netdev/ipoib.c 137--- a/src/network/netdev/ipoib.c
156+++ b/src/network/netdev/ipoib.c 138+++ b/src/network/netdev/ipoib.c
157@@ -1,6 +1,6 @@ 139@@ -1,6 +1,6 @@
@@ -162,8 +144,6 @@ index e0ff9e8c62..ab085c1f6d 100644
162 #include <linux/if_link.h> 144 #include <linux/if_link.h>
163 145
164 #include "ipoib.h" 146 #include "ipoib.h"
165diff --git a/src/network/netdev/ipvlan.c b/src/network/netdev/ipvlan.c
166index d15766cd7b..60728b4f94 100644
167--- a/src/network/netdev/ipvlan.c 147--- a/src/network/netdev/ipvlan.c
168+++ b/src/network/netdev/ipvlan.c 148+++ b/src/network/netdev/ipvlan.c
169@@ -2,7 +2,7 @@ 149@@ -2,7 +2,7 @@
@@ -175,8 +155,6 @@ index d15766cd7b..60728b4f94 100644
175 155
176 #include "conf-parser.h" 156 #include "conf-parser.h"
177 #include "ipvlan.h" 157 #include "ipvlan.h"
178diff --git a/src/network/netdev/macsec.c b/src/network/netdev/macsec.c
179index f1a566a9ca..1f37927a83 100644
180--- a/src/network/netdev/macsec.c 158--- a/src/network/netdev/macsec.c
181+++ b/src/network/netdev/macsec.c 159+++ b/src/network/netdev/macsec.c
182@@ -1,7 +1,7 @@ 160@@ -1,7 +1,7 @@
@@ -188,8 +166,6 @@ index f1a566a9ca..1f37927a83 100644
188 #include <linux/if_ether.h> 166 #include <linux/if_ether.h>
189 #include <linux/if_macsec.h> 167 #include <linux/if_macsec.h>
190 #include <linux/genetlink.h> 168 #include <linux/genetlink.h>
191diff --git a/src/network/netdev/macvlan.c b/src/network/netdev/macvlan.c
192index c41be6e78f..ee2660c5bf 100644
193--- a/src/network/netdev/macvlan.c 169--- a/src/network/netdev/macvlan.c
194+++ b/src/network/netdev/macvlan.c 170+++ b/src/network/netdev/macvlan.c
195@@ -2,7 +2,7 @@ 171@@ -2,7 +2,7 @@
@@ -201,8 +177,6 @@ index c41be6e78f..ee2660c5bf 100644
201 177
202 #include "conf-parser.h" 178 #include "conf-parser.h"
203 #include "macvlan.h" 179 #include "macvlan.h"
204diff --git a/src/network/netdev/netdev.c b/src/network/netdev/netdev.c
205index 8e7fe11c18..701ab2bd69 100644
206--- a/src/network/netdev/netdev.c 180--- a/src/network/netdev/netdev.c
207+++ b/src/network/netdev/netdev.c 181+++ b/src/network/netdev/netdev.c
208@@ -2,7 +2,7 @@ 182@@ -2,7 +2,7 @@
@@ -214,8 +188,6 @@ index 8e7fe11c18..701ab2bd69 100644
214 #include <unistd.h> 188 #include <unistd.h>
215 189
216 #include "alloc-util.h" 190 #include "alloc-util.h"
217diff --git a/src/network/netdev/netdevsim.c b/src/network/netdev/netdevsim.c
218index 15d5c132f9..a3ffa48b15 100644
219--- a/src/network/netdev/netdevsim.c 191--- a/src/network/netdev/netdevsim.c
220+++ b/src/network/netdev/netdevsim.c 192+++ b/src/network/netdev/netdevsim.c
221@@ -1,6 +1,6 @@ 193@@ -1,6 +1,6 @@
@@ -226,8 +198,6 @@ index 15d5c132f9..a3ffa48b15 100644
226 198
227 #include "netdevsim.h" 199 #include "netdevsim.h"
228 200
229diff --git a/src/network/netdev/nlmon.c b/src/network/netdev/nlmon.c
230index ff372092e6..eef66811f4 100644
231--- a/src/network/netdev/nlmon.c 201--- a/src/network/netdev/nlmon.c
232+++ b/src/network/netdev/nlmon.c 202+++ b/src/network/netdev/nlmon.c
233@@ -1,6 +1,6 @@ 203@@ -1,6 +1,6 @@
@@ -238,8 +208,6 @@ index ff372092e6..eef66811f4 100644
238 208
239 #include "nlmon.h" 209 #include "nlmon.h"
240 210
241diff --git a/src/network/netdev/tunnel.c b/src/network/netdev/tunnel.c
242index 97e534fe99..0302c1cb94 100644
243--- a/src/network/netdev/tunnel.c 211--- a/src/network/netdev/tunnel.c
244+++ b/src/network/netdev/tunnel.c 212+++ b/src/network/netdev/tunnel.c
245@@ -2,7 +2,7 @@ 213@@ -2,7 +2,7 @@
@@ -251,8 +219,6 @@ index 97e534fe99..0302c1cb94 100644
251 #include <linux/if_tunnel.h> 219 #include <linux/if_tunnel.h>
252 #include <linux/ip.h> 220 #include <linux/ip.h>
253 #include <linux/ip6_tunnel.h> 221 #include <linux/ip6_tunnel.h>
254diff --git a/src/network/netdev/vcan.c b/src/network/netdev/vcan.c
255index 380547ee1e..137c1adf8a 100644
256--- a/src/network/netdev/vcan.c 222--- a/src/network/netdev/vcan.c
257+++ b/src/network/netdev/vcan.c 223+++ b/src/network/netdev/vcan.c
258@@ -1,6 +1,6 @@ 224@@ -1,6 +1,6 @@
@@ -263,8 +229,6 @@ index 380547ee1e..137c1adf8a 100644
263 229
264 #include "vcan.h" 230 #include "vcan.h"
265 231
266diff --git a/src/network/netdev/veth.c b/src/network/netdev/veth.c
267index c946e81fc0..d1a6be73f9 100644
268--- a/src/network/netdev/veth.c 232--- a/src/network/netdev/veth.c
269+++ b/src/network/netdev/veth.c 233+++ b/src/network/netdev/veth.c
270@@ -3,7 +3,7 @@ 234@@ -3,7 +3,7 @@
@@ -276,8 +240,6 @@ index c946e81fc0..d1a6be73f9 100644
276 #include <linux/veth.h> 240 #include <linux/veth.h>
277 241
278 #include "netlink-util.h" 242 #include "netlink-util.h"
279diff --git a/src/network/netdev/vlan.c b/src/network/netdev/vlan.c
280index af3e77963e..efa4b0a164 100644
281--- a/src/network/netdev/vlan.c 243--- a/src/network/netdev/vlan.c
282+++ b/src/network/netdev/vlan.c 244+++ b/src/network/netdev/vlan.c
283@@ -2,7 +2,7 @@ 245@@ -2,7 +2,7 @@
@@ -289,8 +251,6 @@ index af3e77963e..efa4b0a164 100644
289 #include <linux/if_vlan.h> 251 #include <linux/if_vlan.h>
290 252
291 #include "parse-util.h" 253 #include "parse-util.h"
292diff --git a/src/network/netdev/vrf.c b/src/network/netdev/vrf.c
293index b1b6707441..1c6d1982e1 100644
294--- a/src/network/netdev/vrf.c 254--- a/src/network/netdev/vrf.c
295+++ b/src/network/netdev/vrf.c 255+++ b/src/network/netdev/vrf.c
296@@ -2,7 +2,7 @@ 256@@ -2,7 +2,7 @@
@@ -302,8 +262,6 @@ index b1b6707441..1c6d1982e1 100644
302 262
303 #include "vrf.h" 263 #include "vrf.h"
304 264
305diff --git a/src/network/netdev/vxcan.c b/src/network/netdev/vxcan.c
306index a0ba048eb1..875f2e5901 100644
307--- a/src/network/netdev/vxcan.c 265--- a/src/network/netdev/vxcan.c
308+++ b/src/network/netdev/vxcan.c 266+++ b/src/network/netdev/vxcan.c
309@@ -1,7 +1,7 @@ 267@@ -1,7 +1,7 @@
@@ -315,8 +273,6 @@ index a0ba048eb1..875f2e5901 100644
315 273
316 #include "vxcan.h" 274 #include "vxcan.h"
317 275
318diff --git a/src/network/netdev/vxlan.c b/src/network/netdev/vxlan.c
319index 30b0855598..a065158801 100644
320--- a/src/network/netdev/vxlan.c 276--- a/src/network/netdev/vxlan.c
321+++ b/src/network/netdev/vxlan.c 277+++ b/src/network/netdev/vxlan.c
322@@ -2,7 +2,7 @@ 278@@ -2,7 +2,7 @@
@@ -328,8 +284,6 @@ index 30b0855598..a065158801 100644
328 284
329 #include "conf-parser.h" 285 #include "conf-parser.h"
330 #include "alloc-util.h" 286 #include "alloc-util.h"
331diff --git a/src/network/netdev/wireguard.c b/src/network/netdev/wireguard.c
332index 88f668753a..5fc753384b 100644
333--- a/src/network/netdev/wireguard.c 287--- a/src/network/netdev/wireguard.c
334+++ b/src/network/netdev/wireguard.c 288+++ b/src/network/netdev/wireguard.c
335@@ -6,7 +6,7 @@ 289@@ -6,7 +6,7 @@
@@ -341,8 +295,6 @@ index 88f668753a..5fc753384b 100644
341 #include <linux/ipv6_route.h> 295 #include <linux/ipv6_route.h>
342 296
343 #include "sd-resolve.h" 297 #include "sd-resolve.h"
344diff --git a/src/network/netdev/xfrm.c b/src/network/netdev/xfrm.c
345index ef5e735b2b..419afd75f2 100644
346--- a/src/network/netdev/xfrm.c 298--- a/src/network/netdev/xfrm.c
347+++ b/src/network/netdev/xfrm.c 299+++ b/src/network/netdev/xfrm.c
348@@ -1,6 +1,6 @@ 300@@ -1,6 +1,6 @@
@@ -353,8 +305,6 @@ index ef5e735b2b..419afd75f2 100644
353 305
354 #include "missing_network.h" 306 #include "missing_network.h"
355 #include "xfrm.h" 307 #include "xfrm.h"
356diff --git a/src/network/networkd-bridge-mdb.c b/src/network/networkd-bridge-mdb.c
357index 10025a97ae..a0239ea83a 100644
358--- a/src/network/networkd-bridge-mdb.c 308--- a/src/network/networkd-bridge-mdb.c
359+++ b/src/network/networkd-bridge-mdb.c 309+++ b/src/network/networkd-bridge-mdb.c
360@@ -1,7 +1,5 @@ 310@@ -1,7 +1,5 @@
@@ -374,8 +324,6 @@ index 10025a97ae..a0239ea83a 100644
374 324
375 #define STATIC_BRIDGE_MDB_ENTRIES_PER_NETWORK_MAX 1024U 325 #define STATIC_BRIDGE_MDB_ENTRIES_PER_NETWORK_MAX 1024U
376 326
377diff --git a/src/network/networkd-dhcp-common.c b/src/network/networkd-dhcp-common.c
378index 7996960bd1..e870b9ba26 100644
379--- a/src/network/networkd-dhcp-common.c 327--- a/src/network/networkd-dhcp-common.c
380+++ b/src/network/networkd-dhcp-common.c 328+++ b/src/network/networkd-dhcp-common.c
381@@ -1,7 +1,8 @@ 329@@ -1,7 +1,8 @@
@@ -387,9 +335,7 @@ index 7996960bd1..e870b9ba26 100644
387+#include <net/if.h> 335+#include <net/if.h>
388 336
389 #include "bus-error.h" 337 #include "bus-error.h"
390 #include "dhcp-identifier.h" 338 #include "bus-locator.h"
391diff --git a/src/network/networkd-dhcp-prefix-delegation.c b/src/network/networkd-dhcp-prefix-delegation.c
392index 7be9713d46..e830fcd575 100644
393--- a/src/network/networkd-dhcp-prefix-delegation.c 339--- a/src/network/networkd-dhcp-prefix-delegation.c
394+++ b/src/network/networkd-dhcp-prefix-delegation.c 340+++ b/src/network/networkd-dhcp-prefix-delegation.c
395@@ -1,7 +1,5 @@ 341@@ -1,7 +1,5 @@
@@ -409,8 +355,6 @@ index 7be9713d46..e830fcd575 100644
409 bool link_dhcp_pd_is_enabled(Link *link) { 355 bool link_dhcp_pd_is_enabled(Link *link) {
410 assert(link); 356 assert(link);
411 357
412diff --git a/src/network/networkd-dhcp-server.c b/src/network/networkd-dhcp-server.c
413index 9acfd17d49..3108289602 100644
414--- a/src/network/networkd-dhcp-server.c 358--- a/src/network/networkd-dhcp-server.c
415+++ b/src/network/networkd-dhcp-server.c 359+++ b/src/network/networkd-dhcp-server.c
416@@ -1,7 +1,7 @@ 360@@ -1,7 +1,7 @@
@@ -422,8 +366,6 @@ index 9acfd17d49..3108289602 100644
422 #include <linux/if.h> 366 #include <linux/if.h>
423 367
424 #include "sd-dhcp-server.h" 368 #include "sd-dhcp-server.h"
425diff --git a/src/network/networkd-dhcp4.c b/src/network/networkd-dhcp4.c
426index cb9c428ae9..a35d58f3f1 100644
427--- a/src/network/networkd-dhcp4.c 369--- a/src/network/networkd-dhcp4.c
428+++ b/src/network/networkd-dhcp4.c 370+++ b/src/network/networkd-dhcp4.c
429@@ -3,7 +3,7 @@ 371@@ -3,7 +3,7 @@
@@ -435,21 +377,17 @@ index cb9c428ae9..a35d58f3f1 100644
435 377
436 #include "alloc-util.h" 378 #include "alloc-util.h"
437 #include "dhcp-client-internal.h" 379 #include "dhcp-client-internal.h"
438diff --git a/src/network/networkd-ipv6ll.c b/src/network/networkd-ipv6ll.c
439index dc09171afe..5b93ef3dd4 100644
440--- a/src/network/networkd-ipv6ll.c 380--- a/src/network/networkd-ipv6ll.c
441+++ b/src/network/networkd-ipv6ll.c 381+++ b/src/network/networkd-ipv6ll.c
442@@ -1,7 +1,7 @@ 382@@ -1,7 +1,7 @@
443 /* SPDX-License-Identifier: LGPL-2.1-or-later */ 383 /* SPDX-License-Identifier: LGPL-2.1-or-later */
444 384
445 #include <linux/if.h> 385 #include <linux/if.h>
446-#include <linux/if_arp.h> 386-#include <linux/if_arp.h>
447+//#include <linux/if_arp.h> 387+//#include <linux/if_arp.h>
448 388
449 #include "in-addr-util.h" 389 #include "in-addr-util.h"
450 #include "networkd-address.h" 390 #include "networkd-address.h"
451diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
452index 63679505f7..825ea76ff2 100644
453--- a/src/network/networkd-link.c 391--- a/src/network/networkd-link.c
454+++ b/src/network/networkd-link.c 392+++ b/src/network/networkd-link.c
455@@ -3,7 +3,7 @@ 393@@ -3,7 +3,7 @@
@@ -461,8 +399,6 @@ index 63679505f7..825ea76ff2 100644
461 #include <linux/if_link.h> 399 #include <linux/if_link.h>
462 #include <linux/netdevice.h> 400 #include <linux/netdevice.h>
463 #include <sys/socket.h> 401 #include <sys/socket.h>
464diff --git a/src/network/networkd-ndisc.c b/src/network/networkd-ndisc.c
465index efe407fedb..46a086cdf5 100644
466--- a/src/network/networkd-ndisc.c 402--- a/src/network/networkd-ndisc.c
467+++ b/src/network/networkd-ndisc.c 403+++ b/src/network/networkd-ndisc.c
468@@ -6,7 +6,7 @@ 404@@ -6,7 +6,7 @@
@@ -471,11 +407,9 @@ index efe407fedb..46a086cdf5 100644
471 #include <linux/if.h> 407 #include <linux/if.h>
472-#include <linux/if_arp.h> 408-#include <linux/if_arp.h>
473+//#include <linux/if_arp.h> 409+//#include <linux/if_arp.h>
474 410
475 #include "sd-ndisc.h" 411 #include "sd-ndisc.h"
476 412
477diff --git a/src/network/networkd-route.c b/src/network/networkd-route.c
478index 934fed3b7f..fdb89313dd 100644
479--- a/src/network/networkd-route.c 413--- a/src/network/networkd-route.c
480+++ b/src/network/networkd-route.c 414+++ b/src/network/networkd-route.c
481@@ -1,9 +1,5 @@ 415@@ -1,9 +1,5 @@
@@ -499,8 +433,6 @@ index 934fed3b7f..fdb89313dd 100644
499 int route_new(Route **ret) { 433 int route_new(Route **ret) {
500 _cleanup_(route_freep) Route *route = NULL; 434 _cleanup_(route_freep) Route *route = NULL;
501 435
502diff --git a/src/network/networkd-setlink.c b/src/network/networkd-setlink.c
503index e00cc1e589..e392c7e1a2 100644
504--- a/src/network/networkd-setlink.c 436--- a/src/network/networkd-setlink.c
505+++ b/src/network/networkd-setlink.c 437+++ b/src/network/networkd-setlink.c
506@@ -2,7 +2,7 @@ 438@@ -2,7 +2,7 @@
@@ -512,8 +444,6 @@ index e00cc1e589..e392c7e1a2 100644
512 #include <linux/if_bridge.h> 444 #include <linux/if_bridge.h>
513 445
514 #include "missing_network.h" 446 #include "missing_network.h"
515diff --git a/src/shared/linux/ethtool.h b/src/shared/linux/ethtool.h
516index cf20b6dba5..c3a46dda11 100644
517--- a/src/shared/linux/ethtool.h 447--- a/src/shared/linux/ethtool.h
518+++ b/src/shared/linux/ethtool.h 448+++ b/src/shared/linux/ethtool.h
519@@ -16,7 +16,8 @@ 449@@ -16,7 +16,8 @@
@@ -526,8 +456,6 @@ index cf20b6dba5..c3a46dda11 100644
526 456
527 #ifndef __KERNEL__ 457 #ifndef __KERNEL__
528 #include <limits.h> /* for INT_MAX */ 458 #include <limits.h> /* for INT_MAX */
529diff --git a/src/shared/netif-util.c b/src/shared/netif-util.c
530index f56c5646c1..5af28ff119 100644
531--- a/src/shared/netif-util.c 459--- a/src/shared/netif-util.c
532+++ b/src/shared/netif-util.c 460+++ b/src/shared/netif-util.c
533@@ -1,7 +1,7 @@ 461@@ -1,7 +1,7 @@
@@ -539,8 +467,6 @@ index f56c5646c1..5af28ff119 100644
539 467
540 #include "arphrd-util.h" 468 #include "arphrd-util.h"
541 #include "device-util.h" 469 #include "device-util.h"
542diff --git a/src/udev/udev-builtin-net_id.c b/src/udev/udev-builtin-net_id.c
543index f2ea2a7cd5..fe60a0744d 100644
544--- a/src/udev/udev-builtin-net_id.c 470--- a/src/udev/udev-builtin-net_id.c
545+++ b/src/udev/udev-builtin-net_id.c 471+++ b/src/udev/udev-builtin-net_id.c
546@@ -18,7 +18,7 @@ 472@@ -18,7 +18,7 @@
diff --git a/meta/recipes-core/systemd/systemd/0001-test-bus-error-strerror-is-assumed-to-be-GNU-specifi.patch b/meta/recipes-core/systemd/systemd/0001-test-bus-error-strerror-is-assumed-to-be-GNU-specifi.patch
new file mode 100644
index 0000000000..c02d495d31
--- /dev/null
+++ b/meta/recipes-core/systemd/systemd/0001-test-bus-error-strerror-is-assumed-to-be-GNU-specifi.patch
@@ -0,0 +1,42 @@
1From 5b5675913e2dbe6c5acda935b5814a8991829ec5 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Tue, 8 Nov 2022 13:31:34 -0800
4Subject: [PATCH 2/2] test-bus-error: strerror() is assumed to be GNU specific version mark it so
5
6Upstream-Status: Inappropriate [Upstream systemd only supports glibc]
7
8Signed-off-by: Khem Raj <raj.khem@gmail.com>
9---
10 src/libsystemd/sd-bus/test-bus-error.c | 2 ++
11 1 file changed, 2 insertions(+)
12
13--- a/src/libsystemd/sd-bus/test-bus-error.c
14+++ b/src/libsystemd/sd-bus/test-bus-error.c
15@@ -99,7 +99,9 @@ TEST(error) {
16 assert_se(!sd_bus_error_is_set(&error));
17 assert_se(sd_bus_error_set_errno(&error, EBUSY) == -EBUSY);
18 assert_se(streq(error.name, "System.Error.EBUSY"));
19+#ifdef __GLIBC__
20 assert_se(streq(error.message, STRERROR(EBUSY)));
21+#endif
22 assert_se(sd_bus_error_has_name(&error, "System.Error.EBUSY"));
23 assert_se(sd_bus_error_get_errno(&error) == EBUSY);
24 assert_se(sd_bus_error_is_set(&error));
25--- a/src/test/test-errno-util.c
26+++ b/src/test/test-errno-util.c
27@@ -4,7 +4,7 @@
28 #include "stdio-util.h"
29 #include "string-util.h"
30 #include "tests.h"
31-
32+#ifdef __GLIBC__
33 TEST(strerror_not_threadsafe) {
34 /* Just check that strerror really is not thread-safe. */
35 log_info("strerror(%d) → %s", 200, strerror(200));
36@@ -46,5 +46,6 @@ TEST(STRERROR_OR_ELSE) {
37 log_info("STRERROR_OR_ELSE(EPERM, \"EOF\") → %s", STRERROR_OR_EOF(EPERM));
38 log_info("STRERROR_OR_ELSE(-EPERM, \"EOF\") → %s", STRERROR_OR_EOF(-EPERM));
39 }
40+#endif /* __GLIBC__ */
41
42 DEFINE_TEST_MAIN(LOG_INFO);
diff --git a/meta/recipes-core/systemd/systemd/0002-Add-sys-stat.h-for-S_IFDIR.patch b/meta/recipes-core/systemd/systemd/0002-Add-sys-stat.h-for-S_IFDIR.patch
index 58767c7c35..e6abaadfcb 100644
--- a/meta/recipes-core/systemd/systemd/0002-Add-sys-stat.h-for-S_IFDIR.patch
+++ b/meta/recipes-core/systemd/systemd/0002-Add-sys-stat.h-for-S_IFDIR.patch
@@ -13,11 +13,9 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
13 src/shared/mkdir-label.c | 1 + 13 src/shared/mkdir-label.c | 1 +
14 1 file changed, 1 insertion(+) 14 1 file changed, 1 insertion(+)
15 15
16diff --git a/src/shared/mkdir-label.c b/src/shared/mkdir-label.c
17index 5b1ac5d1e0..fa5802b894 100644
18--- a/src/shared/mkdir-label.c 16--- a/src/shared/mkdir-label.c
19+++ b/src/shared/mkdir-label.c 17+++ b/src/shared/mkdir-label.c
20@@ -6,6 +6,7 @@ 18@@ -7,6 +7,7 @@
21 #include "selinux-util.h" 19 #include "selinux-util.h"
22 #include "smack-util.h" 20 #include "smack-util.h"
23 #include "user-util.h" 21 #include "user-util.h"
diff --git a/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch b/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch
index 0c85f2bcbe..f9c7ced947 100644
--- a/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch
+++ b/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch
@@ -22,11 +22,9 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com>
22 create mode 100644 src/basic/parse-printf-format.c 22 create mode 100644 src/basic/parse-printf-format.c
23 create mode 100644 src/basic/parse-printf-format.h 23 create mode 100644 src/basic/parse-printf-format.h
24 24
25diff --git a/meson.build b/meson.build
26index 36cbfa4893..30b5305b89 100644
27--- a/meson.build 25--- a/meson.build
28+++ b/meson.build 26+++ b/meson.build
29@@ -694,6 +694,7 @@ endif 27@@ -739,6 +739,7 @@ endif
30 foreach header : ['crypt.h', 28 foreach header : ['crypt.h',
31 'linux/memfd.h', 29 'linux/memfd.h',
32 'linux/vm_sockets.h', 30 'linux/vm_sockets.h',
@@ -34,11 +32,9 @@ index 36cbfa4893..30b5305b89 100644
34 'sys/auxv.h', 32 'sys/auxv.h',
35 'valgrind/memcheck.h', 33 'valgrind/memcheck.h',
36 'valgrind/valgrind.h', 34 'valgrind/valgrind.h',
37diff --git a/src/basic/meson.build b/src/basic/meson.build
38index 9b89fdcdea..0b1ef91016 100644
39--- a/src/basic/meson.build 35--- a/src/basic/meson.build
40+++ b/src/basic/meson.build 36+++ b/src/basic/meson.build
41@@ -336,6 +336,11 @@ endforeach 37@@ -337,6 +337,11 @@ endforeach
42 38
43 basic_sources += generated_gperf_headers 39 basic_sources += generated_gperf_headers
44 40
@@ -50,9 +46,6 @@ index 9b89fdcdea..0b1ef91016 100644
50 ############################################################ 46 ############################################################
51 47
52 arch_list = [ 48 arch_list = [
53diff --git a/src/basic/parse-printf-format.c b/src/basic/parse-printf-format.c
54new file mode 100644
55index 0000000000..49437e5445
56--- /dev/null 49--- /dev/null
57+++ b/src/basic/parse-printf-format.c 50+++ b/src/basic/parse-printf-format.c
58@@ -0,0 +1,273 @@ 51@@ -0,0 +1,273 @@
@@ -329,9 +322,6 @@ index 0000000000..49437e5445
329+ 322+
330+ return last; 323+ return last;
331+} 324+}
332diff --git a/src/basic/parse-printf-format.h b/src/basic/parse-printf-format.h
333new file mode 100644
334index 0000000000..47be7522d7
335--- /dev/null 325--- /dev/null
336+++ b/src/basic/parse-printf-format.h 326+++ b/src/basic/parse-printf-format.h
337@@ -0,0 +1,57 @@ 327@@ -0,0 +1,57 @@
@@ -392,8 +382,6 @@ index 0000000000..47be7522d7
392+size_t parse_printf_format(const char *fmt, size_t n, int *types); 382+size_t parse_printf_format(const char *fmt, size_t n, int *types);
393+ 383+
394+#endif /* HAVE_PRINTF_H */ 384+#endif /* HAVE_PRINTF_H */
395diff --git a/src/basic/stdio-util.h b/src/basic/stdio-util.h
396index 69d7062ec6..f55c5aab2c 100644
397--- a/src/basic/stdio-util.h 385--- a/src/basic/stdio-util.h
398+++ b/src/basic/stdio-util.h 386+++ b/src/basic/stdio-util.h
399@@ -1,13 +1,13 @@ 387@@ -1,13 +1,13 @@
@@ -409,10 +397,8 @@ index 69d7062ec6..f55c5aab2c 100644
409 #include "memory-util.h" 397 #include "memory-util.h"
410+#include "parse-printf-format.h" 398+#include "parse-printf-format.h"
411 399
412 #define snprintf_ok(buf, len, fmt, ...) \ 400 #define snprintf_ok(buf, len, fmt, ...) \
413 ({ \ 401 ({ \
414diff --git a/src/libsystemd/sd-journal/journal-send.c b/src/libsystemd/sd-journal/journal-send.c
415index 1e10ed5524..e6ceba54f9 100644
416--- a/src/libsystemd/sd-journal/journal-send.c 402--- a/src/libsystemd/sd-journal/journal-send.c
417+++ b/src/libsystemd/sd-journal/journal-send.c 403+++ b/src/libsystemd/sd-journal/journal-send.c
418@@ -2,7 +2,6 @@ 404@@ -2,7 +2,6 @@
diff --git a/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch b/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch
index 9e02666698..2c33033e91 100644
--- a/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch
+++ b/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch
@@ -72,11 +72,9 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
72 src/udev/udev-rules.c | 1 + 72 src/udev/udev-rules.c | 1 +
73 52 files changed, 63 insertions(+) 73 52 files changed, 63 insertions(+)
74 74
75diff --git a/meson.build b/meson.build
76index 30b5305b89..0189ef8ce6 100644
77--- a/meson.build 75--- a/meson.build
78+++ b/meson.build 76+++ b/meson.build
79@@ -512,6 +512,7 @@ foreach ident : ['secure_getenv', '__secure_getenv'] 77@@ -557,6 +557,7 @@ foreach ident : ['secure_getenv', '__sec
80 endforeach 78 endforeach
81 79
82 foreach ident : [ 80 foreach ident : [
@@ -84,8 +82,6 @@ index 30b5305b89..0189ef8ce6 100644
84 ['memfd_create', '''#include <sys/mman.h>'''], 82 ['memfd_create', '''#include <sys/mman.h>'''],
85 ['gettid', '''#include <sys/types.h> 83 ['gettid', '''#include <sys/types.h>
86 #include <unistd.h>'''], 84 #include <unistd.h>'''],
87diff --git a/src/backlight/backlight.c b/src/backlight/backlight.c
88index a4e5d77f6c..fc12da4c53 100644
89--- a/src/backlight/backlight.c 85--- a/src/backlight/backlight.c
90+++ b/src/backlight/backlight.c 86+++ b/src/backlight/backlight.c
91@@ -20,6 +20,7 @@ 87@@ -20,6 +20,7 @@
@@ -94,10 +90,8 @@ index a4e5d77f6c..fc12da4c53 100644
94 #include "util.h" 90 #include "util.h"
95+#include "missing_stdlib.h" 91+#include "missing_stdlib.h"
96 92
97 static int help(void) { 93 #define PCI_CLASS_GRAPHICS_CARD 0x30000
98 _cleanup_free_ char *link = NULL; 94
99diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c
100index b03cc70e2e..f4615ffce1 100644
101--- a/src/basic/cgroup-util.c 95--- a/src/basic/cgroup-util.c
102+++ b/src/basic/cgroup-util.c 96+++ b/src/basic/cgroup-util.c
103@@ -37,6 +37,7 @@ 97@@ -37,6 +37,7 @@
@@ -108,8 +102,6 @@ index b03cc70e2e..f4615ffce1 100644
108 102
109 static int cg_enumerate_items(const char *controller, const char *path, FILE **_f, const char *item) { 103 static int cg_enumerate_items(const char *controller, const char *path, FILE **_f, const char *item) {
110 _cleanup_free_ char *fs = NULL; 104 _cleanup_free_ char *fs = NULL;
111diff --git a/src/basic/env-util.c b/src/basic/env-util.c
112index 885967e7f3..d0b7dc845e 100644
113--- a/src/basic/env-util.c 105--- a/src/basic/env-util.c
114+++ b/src/basic/env-util.c 106+++ b/src/basic/env-util.c
115@@ -19,6 +19,7 @@ 107@@ -19,6 +19,7 @@
@@ -120,8 +112,6 @@ index 885967e7f3..d0b7dc845e 100644
120 112
121 /* We follow bash for the character set. Different shells have different rules. */ 113 /* We follow bash for the character set. Different shells have different rules. */
122 #define VALID_BASH_ENV_NAME_CHARS \ 114 #define VALID_BASH_ENV_NAME_CHARS \
123diff --git a/src/basic/log.c b/src/basic/log.c
124index 12071e2ebd..15254c7bbc 100644
125--- a/src/basic/log.c 115--- a/src/basic/log.c
126+++ b/src/basic/log.c 116+++ b/src/basic/log.c
127@@ -36,6 +36,7 @@ 117@@ -36,6 +36,7 @@
@@ -132,8 +122,6 @@ index 12071e2ebd..15254c7bbc 100644
132 122
133 #define SNDBUF_SIZE (8*1024*1024) 123 #define SNDBUF_SIZE (8*1024*1024)
134 124
135diff --git a/src/basic/missing_stdlib.h b/src/basic/missing_stdlib.h
136index 8c76f93eb2..9068bfb4f0 100644
137--- a/src/basic/missing_stdlib.h 125--- a/src/basic/missing_stdlib.h
138+++ b/src/basic/missing_stdlib.h 126+++ b/src/basic/missing_stdlib.h
139@@ -11,3 +11,15 @@ 127@@ -11,3 +11,15 @@
@@ -152,8 +140,6 @@ index 8c76f93eb2..9068bfb4f0 100644
152+ (char *)memcpy(__new, __old, __len); \ 140+ (char *)memcpy(__new, __old, __len); \
153+ }) 141+ })
154+#endif 142+#endif
155diff --git a/src/basic/mkdir.c b/src/basic/mkdir.c
156index 51a0d74e87..03569f71f8 100644
157--- a/src/basic/mkdir.c 143--- a/src/basic/mkdir.c
158+++ b/src/basic/mkdir.c 144+++ b/src/basic/mkdir.c
159@@ -15,6 +15,7 @@ 145@@ -15,6 +15,7 @@
@@ -164,8 +150,6 @@ index 51a0d74e87..03569f71f8 100644
164 150
165 int mkdir_safe_internal( 151 int mkdir_safe_internal(
166 const char *path, 152 const char *path,
167diff --git a/src/basic/mountpoint-util.c b/src/basic/mountpoint-util.c
168index 82a33a6829..d947774b40 100644
169--- a/src/basic/mountpoint-util.c 153--- a/src/basic/mountpoint-util.c
170+++ b/src/basic/mountpoint-util.c 154+++ b/src/basic/mountpoint-util.c
171@@ -13,6 +13,7 @@ 155@@ -13,6 +13,7 @@
@@ -176,8 +160,6 @@ index 82a33a6829..d947774b40 100644
176 #include "mountpoint-util.h" 160 #include "mountpoint-util.h"
177 #include "nulstr-util.h" 161 #include "nulstr-util.h"
178 #include "parse-util.h" 162 #include "parse-util.h"
179diff --git a/src/basic/parse-util.c b/src/basic/parse-util.c
180index 2888ab6523..d941afec2d 100644
181--- a/src/basic/parse-util.c 163--- a/src/basic/parse-util.c
182+++ b/src/basic/parse-util.c 164+++ b/src/basic/parse-util.c
183@@ -18,6 +18,7 @@ 165@@ -18,6 +18,7 @@
@@ -188,8 +170,6 @@ index 2888ab6523..d941afec2d 100644
188 170
189 int parse_boolean(const char *v) { 171 int parse_boolean(const char *v) {
190 if (!v) 172 if (!v)
191diff --git a/src/basic/path-lookup.c b/src/basic/path-lookup.c
192index 6fb8c40e7a..c4b59e8518 100644
193--- a/src/basic/path-lookup.c 173--- a/src/basic/path-lookup.c
194+++ b/src/basic/path-lookup.c 174+++ b/src/basic/path-lookup.c
195@@ -16,6 +16,7 @@ 175@@ -16,6 +16,7 @@
@@ -200,8 +180,6 @@ index 6fb8c40e7a..c4b59e8518 100644
200 180
201 int xdg_user_runtime_dir(char **ret, const char *suffix) { 181 int xdg_user_runtime_dir(char **ret, const char *suffix) {
202 const char *e; 182 const char *e;
203diff --git a/src/basic/percent-util.c b/src/basic/percent-util.c
204index cab9d0eaea..5f6ca258e9 100644
205--- a/src/basic/percent-util.c 183--- a/src/basic/percent-util.c
206+++ b/src/basic/percent-util.c 184+++ b/src/basic/percent-util.c
207@@ -3,6 +3,7 @@ 185@@ -3,6 +3,7 @@
@@ -212,8 +190,6 @@ index cab9d0eaea..5f6ca258e9 100644
212 190
213 static int parse_parts_value_whole(const char *p, const char *symbol) { 191 static int parse_parts_value_whole(const char *p, const char *symbol) {
214 const char *pc, *n; 192 const char *pc, *n;
215diff --git a/src/basic/proc-cmdline.c b/src/basic/proc-cmdline.c
216index 410b8a3eb5..f2c4355609 100644
217--- a/src/basic/proc-cmdline.c 193--- a/src/basic/proc-cmdline.c
218+++ b/src/basic/proc-cmdline.c 194+++ b/src/basic/proc-cmdline.c
219@@ -15,6 +15,7 @@ 195@@ -15,6 +15,7 @@
@@ -224,8 +200,6 @@ index 410b8a3eb5..f2c4355609 100644
224 200
225 int proc_cmdline(char **ret) { 201 int proc_cmdline(char **ret) {
226 const char *e; 202 const char *e;
227diff --git a/src/basic/procfs-util.c b/src/basic/procfs-util.c
228index 65f96abb06..e485a0196b 100644
229--- a/src/basic/procfs-util.c 203--- a/src/basic/procfs-util.c
230+++ b/src/basic/procfs-util.c 204+++ b/src/basic/procfs-util.c
231@@ -12,6 +12,7 @@ 205@@ -12,6 +12,7 @@
@@ -236,8 +210,6 @@ index 65f96abb06..e485a0196b 100644
236 210
237 int procfs_get_pid_max(uint64_t *ret) { 211 int procfs_get_pid_max(uint64_t *ret) {
238 _cleanup_free_ char *value = NULL; 212 _cleanup_free_ char *value = NULL;
239diff --git a/src/basic/time-util.c b/src/basic/time-util.c
240index b659d6905d..020112be24 100644
241--- a/src/basic/time-util.c 213--- a/src/basic/time-util.c
242+++ b/src/basic/time-util.c 214+++ b/src/basic/time-util.c
243@@ -26,6 +26,7 @@ 215@@ -26,6 +26,7 @@
@@ -248,8 +220,6 @@ index b659d6905d..020112be24 100644
248 220
249 static clockid_t map_clock_id(clockid_t c) { 221 static clockid_t map_clock_id(clockid_t c) {
250 222
251diff --git a/src/boot/bless-boot.c b/src/boot/bless-boot.c
252index d9c901d73b..79a035274c 100644
253--- a/src/boot/bless-boot.c 223--- a/src/boot/bless-boot.c
254+++ b/src/boot/bless-boot.c 224+++ b/src/boot/bless-boot.c
255@@ -22,6 +22,7 @@ 225@@ -22,6 +22,7 @@
@@ -260,8 +230,6 @@ index d9c901d73b..79a035274c 100644
260 230
261 static char **arg_path = NULL; 231 static char **arg_path = NULL;
262 232
263diff --git a/src/core/dbus-cgroup.c b/src/core/dbus-cgroup.c
264index f0d8759e85..b4c1053e64 100644
265--- a/src/core/dbus-cgroup.c 233--- a/src/core/dbus-cgroup.c
266+++ b/src/core/dbus-cgroup.c 234+++ b/src/core/dbus-cgroup.c
267@@ -21,6 +21,7 @@ 235@@ -21,6 +21,7 @@
@@ -272,8 +240,6 @@ index f0d8759e85..b4c1053e64 100644
272 #include "socket-util.h" 240 #include "socket-util.h"
273 241
274 BUS_DEFINE_PROPERTY_GET(bus_property_get_tasks_max, "t", TasksMax, tasks_max_resolve); 242 BUS_DEFINE_PROPERTY_GET(bus_property_get_tasks_max, "t", TasksMax, tasks_max_resolve);
275diff --git a/src/core/dbus-execute.c b/src/core/dbus-execute.c
276index 5c499e5d06..e7ab1bb9a5 100644
277--- a/src/core/dbus-execute.c 243--- a/src/core/dbus-execute.c
278+++ b/src/core/dbus-execute.c 244+++ b/src/core/dbus-execute.c
279@@ -44,6 +44,7 @@ 245@@ -44,6 +44,7 @@
@@ -284,8 +250,6 @@ index 5c499e5d06..e7ab1bb9a5 100644
284 250
285 BUS_DEFINE_PROPERTY_GET_ENUM(bus_property_get_exec_output, exec_output, ExecOutput); 251 BUS_DEFINE_PROPERTY_GET_ENUM(bus_property_get_exec_output, exec_output, ExecOutput);
286 static BUS_DEFINE_PROPERTY_GET_ENUM(property_get_exec_input, exec_input, ExecInput); 252 static BUS_DEFINE_PROPERTY_GET_ENUM(property_get_exec_input, exec_input, ExecInput);
287diff --git a/src/core/dbus-util.c b/src/core/dbus-util.c
288index 32a2ec0ff9..36be2511e4 100644
289--- a/src/core/dbus-util.c 253--- a/src/core/dbus-util.c
290+++ b/src/core/dbus-util.c 254+++ b/src/core/dbus-util.c
291@@ -9,6 +9,7 @@ 255@@ -9,6 +9,7 @@
@@ -296,11 +260,9 @@ index 32a2ec0ff9..36be2511e4 100644
296 260
297 int bus_property_get_triggered_unit( 261 int bus_property_get_triggered_unit(
298 sd_bus *bus, 262 sd_bus *bus,
299diff --git a/src/core/execute.c b/src/core/execute.c
300index 2762b10287..a8aeec7f6e 100644
301--- a/src/core/execute.c 263--- a/src/core/execute.c
302+++ b/src/core/execute.c 264+++ b/src/core/execute.c
303@@ -103,6 +103,7 @@ 265@@ -104,6 +104,7 @@
304 #include "unit-serialize.h" 266 #include "unit-serialize.h"
305 #include "user-util.h" 267 #include "user-util.h"
306 #include "utmp-wtmp.h" 268 #include "utmp-wtmp.h"
@@ -308,8 +270,6 @@ index 2762b10287..a8aeec7f6e 100644
308 270
309 #define IDLE_TIMEOUT_USEC (5*USEC_PER_SEC) 271 #define IDLE_TIMEOUT_USEC (5*USEC_PER_SEC)
310 #define IDLE_TIMEOUT2_USEC (1*USEC_PER_SEC) 272 #define IDLE_TIMEOUT2_USEC (1*USEC_PER_SEC)
311diff --git a/src/core/kmod-setup.c b/src/core/kmod-setup.c
312index f4488dd692..1d331a7ee2 100644
313--- a/src/core/kmod-setup.c 273--- a/src/core/kmod-setup.c
314+++ b/src/core/kmod-setup.c 274+++ b/src/core/kmod-setup.c
315@@ -11,6 +11,7 @@ 275@@ -11,6 +11,7 @@
@@ -320,8 +280,6 @@ index f4488dd692..1d331a7ee2 100644
320 280
321 #if HAVE_KMOD 281 #if HAVE_KMOD
322 #include "module-util.h" 282 #include "module-util.h"
323diff --git a/src/core/service.c b/src/core/service.c
324index 9f7af9dffb..3ec5e30c8b 100644
325--- a/src/core/service.c 283--- a/src/core/service.c
326+++ b/src/core/service.c 284+++ b/src/core/service.c
327@@ -42,6 +42,7 @@ 285@@ -42,6 +42,7 @@
@@ -331,9 +289,7 @@ index 9f7af9dffb..3ec5e30c8b 100644
331+#include "missing_stdlib.h" 289+#include "missing_stdlib.h"
332 290
333 #define service_spawn(...) service_spawn_internal(__func__, __VA_ARGS__) 291 #define service_spawn(...) service_spawn_internal(__func__, __VA_ARGS__)
334 292
335diff --git a/src/coredump/coredump-vacuum.c b/src/coredump/coredump-vacuum.c
336index c6e201ecf2..ab034475e2 100644
337--- a/src/coredump/coredump-vacuum.c 293--- a/src/coredump/coredump-vacuum.c
338+++ b/src/coredump/coredump-vacuum.c 294+++ b/src/coredump/coredump-vacuum.c
339@@ -17,6 +17,7 @@ 295@@ -17,6 +17,7 @@
@@ -344,11 +300,9 @@ index c6e201ecf2..ab034475e2 100644
344 300
345 #define DEFAULT_MAX_USE_LOWER (uint64_t) (1ULL*1024ULL*1024ULL) /* 1 MiB */ 301 #define DEFAULT_MAX_USE_LOWER (uint64_t) (1ULL*1024ULL*1024ULL) /* 1 MiB */
346 #define DEFAULT_MAX_USE_UPPER (uint64_t) (4ULL*1024ULL*1024ULL*1024ULL) /* 4 GiB */ 302 #define DEFAULT_MAX_USE_UPPER (uint64_t) (4ULL*1024ULL*1024ULL*1024ULL) /* 4 GiB */
347diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c
348index 9b32383a76..f8d3397a06 100644
349--- a/src/fstab-generator/fstab-generator.c 303--- a/src/fstab-generator/fstab-generator.c
350+++ b/src/fstab-generator/fstab-generator.c 304+++ b/src/fstab-generator/fstab-generator.c
351@@ -29,6 +29,7 @@ 305@@ -32,6 +32,7 @@
352 #include "util.h" 306 #include "util.h"
353 #include "virt.h" 307 #include "virt.h"
354 #include "volatile-util.h" 308 #include "volatile-util.h"
@@ -356,8 +310,6 @@ index 9b32383a76..f8d3397a06 100644
356 310
357 typedef enum MountPointFlags { 311 typedef enum MountPointFlags {
358 MOUNT_NOAUTO = 1 << 0, 312 MOUNT_NOAUTO = 1 << 0,
359diff --git a/src/journal-remote/journal-remote-main.c b/src/journal-remote/journal-remote-main.c
360index 3e3646e45f..6a8fc60f6d 100644
361--- a/src/journal-remote/journal-remote-main.c 313--- a/src/journal-remote/journal-remote-main.c
362+++ b/src/journal-remote/journal-remote-main.c 314+++ b/src/journal-remote/journal-remote-main.c
363@@ -24,6 +24,7 @@ 315@@ -24,6 +24,7 @@
@@ -368,11 +320,9 @@ index 3e3646e45f..6a8fc60f6d 100644
368 320
369 #define PRIV_KEY_FILE CERTIFICATE_ROOT "/private/journal-remote.pem" 321 #define PRIV_KEY_FILE CERTIFICATE_ROOT "/private/journal-remote.pem"
370 #define CERT_FILE CERTIFICATE_ROOT "/certs/journal-remote.pem" 322 #define CERT_FILE CERTIFICATE_ROOT "/certs/journal-remote.pem"
371diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c
372index cff34fd585..a5003e47e9 100644
373--- a/src/journal/journalctl.c 323--- a/src/journal/journalctl.c
374+++ b/src/journal/journalctl.c 324+++ b/src/journal/journalctl.c
375@@ -74,6 +74,7 @@ 325@@ -70,6 +70,7 @@
376 #include "unit-name.h" 326 #include "unit-name.h"
377 #include "user-util.h" 327 #include "user-util.h"
378 #include "varlink.h" 328 #include "varlink.h"
@@ -380,20 +330,16 @@ index cff34fd585..a5003e47e9 100644
380 330
381 #define DEFAULT_FSS_INTERVAL_USEC (15*USEC_PER_MINUTE) 331 #define DEFAULT_FSS_INTERVAL_USEC (15*USEC_PER_MINUTE)
382 #define PROCESS_INOTIFY_INTERVAL 1024 /* Every 1,024 messages processed */ 332 #define PROCESS_INOTIFY_INTERVAL 1024 /* Every 1,024 messages processed */
383diff --git a/src/libsystemd/sd-bus/bus-message.c b/src/libsystemd/sd-bus/bus-message.c
384index 96529b422b..ddb5e9c698 100644
385--- a/src/libsystemd/sd-bus/bus-message.c 333--- a/src/libsystemd/sd-bus/bus-message.c
386+++ b/src/libsystemd/sd-bus/bus-message.c 334+++ b/src/libsystemd/sd-bus/bus-message.c
387@@ -20,6 +20,7 @@ 335@@ -19,6 +19,7 @@
388 #include "strv.h" 336 #include "strv.h"
389 #include "time-util.h" 337 #include "time-util.h"
390 #include "utf8.h" 338 #include "utf8.h"
391+#include "missing_stdlib.h" 339+#include "missing_stdlib.h"
392 340
393 static int message_append_basic(sd_bus_message *m, char type, const void *p, const void **stored); 341 static int message_append_basic(sd_bus_message *m, char type, const void *p, const void **stored);
394 342 static int message_parse_fields(sd_bus_message *m);
395diff --git a/src/libsystemd/sd-bus/bus-objects.c b/src/libsystemd/sd-bus/bus-objects.c
396index 909dfe4d3a..254b7ce866 100644
397--- a/src/libsystemd/sd-bus/bus-objects.c 343--- a/src/libsystemd/sd-bus/bus-objects.c
398+++ b/src/libsystemd/sd-bus/bus-objects.c 344+++ b/src/libsystemd/sd-bus/bus-objects.c
399@@ -11,6 +11,7 @@ 345@@ -11,6 +11,7 @@
@@ -404,8 +350,6 @@ index 909dfe4d3a..254b7ce866 100644
404 350
405 static int node_vtable_get_userdata( 351 static int node_vtable_get_userdata(
406 sd_bus *bus, 352 sd_bus *bus,
407diff --git a/src/libsystemd/sd-bus/bus-socket.c b/src/libsystemd/sd-bus/bus-socket.c
408index 14951ccb33..b7f86ca501 100644
409--- a/src/libsystemd/sd-bus/bus-socket.c 353--- a/src/libsystemd/sd-bus/bus-socket.c
410+++ b/src/libsystemd/sd-bus/bus-socket.c 354+++ b/src/libsystemd/sd-bus/bus-socket.c
411@@ -28,6 +28,7 @@ 355@@ -28,6 +28,7 @@
@@ -416,11 +360,9 @@ index 14951ccb33..b7f86ca501 100644
416 360
417 #define SNDBUF_SIZE (8*1024*1024) 361 #define SNDBUF_SIZE (8*1024*1024)
418 362
419diff --git a/src/libsystemd/sd-bus/sd-bus.c b/src/libsystemd/sd-bus/sd-bus.c
420index 9e1d29cc1d..8c3165f0ce 100644
421--- a/src/libsystemd/sd-bus/sd-bus.c 363--- a/src/libsystemd/sd-bus/sd-bus.c
422+++ b/src/libsystemd/sd-bus/sd-bus.c 364+++ b/src/libsystemd/sd-bus/sd-bus.c
423@@ -43,6 +43,7 @@ 365@@ -44,6 +44,7 @@
424 #include "string-util.h" 366 #include "string-util.h"
425 #include "strv.h" 367 #include "strv.h"
426 #include "user-util.h" 368 #include "user-util.h"
@@ -428,8 +370,6 @@ index 9e1d29cc1d..8c3165f0ce 100644
428 370
429 #define log_debug_bus_message(m) \ 371 #define log_debug_bus_message(m) \
430 do { \ 372 do { \
431diff --git a/src/libsystemd/sd-bus/test-bus-benchmark.c b/src/libsystemd/sd-bus/test-bus-benchmark.c
432index 317653bedc..d028216c48 100644
433--- a/src/libsystemd/sd-bus/test-bus-benchmark.c 373--- a/src/libsystemd/sd-bus/test-bus-benchmark.c
434+++ b/src/libsystemd/sd-bus/test-bus-benchmark.c 374+++ b/src/libsystemd/sd-bus/test-bus-benchmark.c
435@@ -14,6 +14,7 @@ 375@@ -14,6 +14,7 @@
@@ -440,8 +380,6 @@ index 317653bedc..d028216c48 100644
440 380
441 #define MAX_SIZE (2*1024*1024) 381 #define MAX_SIZE (2*1024*1024)
442 382
443diff --git a/src/libsystemd/sd-journal/sd-journal.c b/src/libsystemd/sd-journal/sd-journal.c
444index 7a6cc4aca3..b7f7cd65c5 100644
445--- a/src/libsystemd/sd-journal/sd-journal.c 383--- a/src/libsystemd/sd-journal/sd-journal.c
446+++ b/src/libsystemd/sd-journal/sd-journal.c 384+++ b/src/libsystemd/sd-journal/sd-journal.c
447@@ -41,6 +41,7 @@ 385@@ -41,6 +41,7 @@
@@ -452,23 +390,9 @@ index 7a6cc4aca3..b7f7cd65c5 100644
452 390
453 #define JOURNAL_FILES_MAX 7168 391 #define JOURNAL_FILES_MAX 7168
454 392
455diff --git a/src/locale/keymap-util.c b/src/locale/keymap-util.c
456index 10d2ed7aec..4fbe3f6b4a 100644
457--- a/src/locale/keymap-util.c
458+++ b/src/locale/keymap-util.c
459@@ -24,6 +24,7 @@
460 #include "string-util.h"
461 #include "strv.h"
462 #include "tmpfile-util.h"
463+#include "missing_stdlib.h"
464
465 static bool startswith_comma(const char *s, const char *prefix) {
466 s = startswith(s, prefix);
467diff --git a/src/login/pam_systemd.c b/src/login/pam_systemd.c
468index 5bd7efc3e8..282899601e 100644
469--- a/src/login/pam_systemd.c 393--- a/src/login/pam_systemd.c
470+++ b/src/login/pam_systemd.c 394+++ b/src/login/pam_systemd.c
471@@ -31,6 +31,7 @@ 395@@ -32,6 +32,7 @@
472 #include "locale-util.h" 396 #include "locale-util.h"
473 #include "login-util.h" 397 #include "login-util.h"
474 #include "macro.h" 398 #include "macro.h"
@@ -476,8 +400,6 @@ index 5bd7efc3e8..282899601e 100644
476 #include "pam-util.h" 400 #include "pam-util.h"
477 #include "parse-util.h" 401 #include "parse-util.h"
478 #include "path-util.h" 402 #include "path-util.h"
479diff --git a/src/network/generator/network-generator.c b/src/network/generator/network-generator.c
480index 063ad08d80..f9823a433b 100644
481--- a/src/network/generator/network-generator.c 403--- a/src/network/generator/network-generator.c
482+++ b/src/network/generator/network-generator.c 404+++ b/src/network/generator/network-generator.c
483@@ -13,6 +13,7 @@ 405@@ -13,6 +13,7 @@
@@ -488,8 +410,6 @@ index 063ad08d80..f9823a433b 100644
488 410
489 /* 411 /*
490 # .network 412 # .network
491diff --git a/src/nspawn/nspawn-settings.c b/src/nspawn/nspawn-settings.c
492index 1f58bf3ed4..8457a3b0e3 100644
493--- a/src/nspawn/nspawn-settings.c 413--- a/src/nspawn/nspawn-settings.c
494+++ b/src/nspawn/nspawn-settings.c 414+++ b/src/nspawn/nspawn-settings.c
495@@ -17,6 +17,7 @@ 415@@ -17,6 +17,7 @@
@@ -500,8 +420,6 @@ index 1f58bf3ed4..8457a3b0e3 100644
500 420
501 Settings *settings_new(void) { 421 Settings *settings_new(void) {
502 Settings *s; 422 Settings *s;
503diff --git a/src/nss-mymachines/nss-mymachines.c b/src/nss-mymachines/nss-mymachines.c
504index c64e79bdff..eda26b0b9a 100644
505--- a/src/nss-mymachines/nss-mymachines.c 423--- a/src/nss-mymachines/nss-mymachines.c
506+++ b/src/nss-mymachines/nss-mymachines.c 424+++ b/src/nss-mymachines/nss-mymachines.c
507@@ -21,6 +21,7 @@ 425@@ -21,6 +21,7 @@
@@ -512,8 +430,6 @@ index c64e79bdff..eda26b0b9a 100644
512 430
513 static void setup_logging_once(void) { 431 static void setup_logging_once(void) {
514 static pthread_once_t once = PTHREAD_ONCE_INIT; 432 static pthread_once_t once = PTHREAD_ONCE_INIT;
515diff --git a/src/portable/portable.c b/src/portable/portable.c
516index 0e6461ba93..54148d5924 100644
517--- a/src/portable/portable.c 433--- a/src/portable/portable.c
518+++ b/src/portable/portable.c 434+++ b/src/portable/portable.c
519@@ -39,6 +39,7 @@ 435@@ -39,6 +39,7 @@
@@ -524,20 +440,16 @@ index 0e6461ba93..54148d5924 100644
524 440
525 /* Markers used in the first line of our 20-portable.conf unit file drop-in to determine, that a) the unit file was 441 /* Markers used in the first line of our 20-portable.conf unit file drop-in to determine, that a) the unit file was
526 * dropped there by the portable service logic and b) for which image it was dropped there. */ 442 * dropped there by the portable service logic and b) for which image it was dropped there. */
527diff --git a/src/resolve/resolvectl.c b/src/resolve/resolvectl.c
528index 5b3ceeff36..d36d1d57ae 100644
529--- a/src/resolve/resolvectl.c 443--- a/src/resolve/resolvectl.c
530+++ b/src/resolve/resolvectl.c 444+++ b/src/resolve/resolvectl.c
531@@ -43,6 +43,7 @@ 445@@ -46,6 +46,7 @@
532 #include "utf8.h" 446 #include "varlink.h"
533 #include "verb-log-control.h" 447 #include "verb-log-control.h"
534 #include "verbs.h" 448 #include "verbs.h"
535+#include "missing_stdlib.h" 449+#include "missing_stdlib.h"
536 450
537 static int arg_family = AF_UNSPEC; 451 static int arg_family = AF_UNSPEC;
538 static int arg_ifindex = 0; 452 static int arg_ifindex = 0;
539diff --git a/src/shared/bus-get-properties.c b/src/shared/bus-get-properties.c
540index 8b4f66b22e..5926e4c61b 100644
541--- a/src/shared/bus-get-properties.c 453--- a/src/shared/bus-get-properties.c
542+++ b/src/shared/bus-get-properties.c 454+++ b/src/shared/bus-get-properties.c
543@@ -4,6 +4,7 @@ 455@@ -4,6 +4,7 @@
@@ -548,11 +460,9 @@ index 8b4f66b22e..5926e4c61b 100644
548 460
549 int bus_property_get_bool( 461 int bus_property_get_bool(
550 sd_bus *bus, 462 sd_bus *bus,
551diff --git a/src/shared/bus-unit-procs.c b/src/shared/bus-unit-procs.c
552index 87c0334fec..402ab3493b 100644
553--- a/src/shared/bus-unit-procs.c 463--- a/src/shared/bus-unit-procs.c
554+++ b/src/shared/bus-unit-procs.c 464+++ b/src/shared/bus-unit-procs.c
555@@ -10,6 +10,7 @@ 465@@ -11,6 +11,7 @@
556 #include "sort-util.h" 466 #include "sort-util.h"
557 #include "string-util.h" 467 #include "string-util.h"
558 #include "terminal-util.h" 468 #include "terminal-util.h"
@@ -560,8 +470,6 @@ index 87c0334fec..402ab3493b 100644
560 470
561 struct CGroupInfo { 471 struct CGroupInfo {
562 char *cgroup_path; 472 char *cgroup_path;
563diff --git a/src/shared/bus-unit-util.c b/src/shared/bus-unit-util.c
564index dcce530c99..faf5a5bda0 100644
565--- a/src/shared/bus-unit-util.c 473--- a/src/shared/bus-unit-util.c
566+++ b/src/shared/bus-unit-util.c 474+++ b/src/shared/bus-unit-util.c
567@@ -49,6 +49,7 @@ 475@@ -49,6 +49,7 @@
@@ -572,8 +480,6 @@ index dcce530c99..faf5a5bda0 100644
572 480
573 int bus_parse_unit_info(sd_bus_message *message, UnitInfo *u) { 481 int bus_parse_unit_info(sd_bus_message *message, UnitInfo *u) {
574 assert(message); 482 assert(message);
575diff --git a/src/shared/bus-util.c b/src/shared/bus-util.c
576index 4a2b7684bc..ee6d687c58 100644
577--- a/src/shared/bus-util.c 483--- a/src/shared/bus-util.c
578+++ b/src/shared/bus-util.c 484+++ b/src/shared/bus-util.c
579@@ -21,6 +21,7 @@ 485@@ -21,6 +21,7 @@
@@ -583,12 +489,10 @@ index 4a2b7684bc..ee6d687c58 100644
583+#include "missing_stdlib.h" 489+#include "missing_stdlib.h"
584 490
585 static int name_owner_change_callback(sd_bus_message *m, void *userdata, sd_bus_error *ret_error) { 491 static int name_owner_change_callback(sd_bus_message *m, void *userdata, sd_bus_error *ret_error) {
586 sd_event *e = userdata; 492 sd_event *e = ASSERT_PTR(userdata);
587diff --git a/src/shared/dns-domain.c b/src/shared/dns-domain.c
588index f54b187a1b..299758c7e4 100644
589--- a/src/shared/dns-domain.c 493--- a/src/shared/dns-domain.c
590+++ b/src/shared/dns-domain.c 494+++ b/src/shared/dns-domain.c
591@@ -17,6 +17,7 @@ 495@@ -18,6 +18,7 @@
592 #include "string-util.h" 496 #include "string-util.h"
593 #include "strv.h" 497 #include "strv.h"
594 #include "utf8.h" 498 #include "utf8.h"
@@ -596,8 +500,6 @@ index f54b187a1b..299758c7e4 100644
596 500
597 int dns_label_unescape(const char **name, char *dest, size_t sz, DNSLabelFlags flags) { 501 int dns_label_unescape(const char **name, char *dest, size_t sz, DNSLabelFlags flags) {
598 const char *n; 502 const char *n;
599diff --git a/src/shared/journal-importer.c b/src/shared/journal-importer.c
600index c6caf9330a..ebe33bd44a 100644
601--- a/src/shared/journal-importer.c 503--- a/src/shared/journal-importer.c
602+++ b/src/shared/journal-importer.c 504+++ b/src/shared/journal-importer.c
603@@ -15,6 +15,7 @@ 505@@ -15,6 +15,7 @@
@@ -608,8 +510,6 @@ index c6caf9330a..ebe33bd44a 100644
608 510
609 enum { 511 enum {
610 IMPORTER_STATE_LINE = 0, /* waiting to read, or reading line */ 512 IMPORTER_STATE_LINE = 0, /* waiting to read, or reading line */
611diff --git a/src/shared/logs-show.c b/src/shared/logs-show.c
612index cf83eb6bca..e672a003a3 100644
613--- a/src/shared/logs-show.c 513--- a/src/shared/logs-show.c
614+++ b/src/shared/logs-show.c 514+++ b/src/shared/logs-show.c
615@@ -42,6 +42,7 @@ 515@@ -42,6 +42,7 @@
@@ -620,8 +520,6 @@ index cf83eb6bca..e672a003a3 100644
620 520
621 /* up to three lines (each up to 100 characters) or 300 characters, whichever is less */ 521 /* up to three lines (each up to 100 characters) or 300 characters, whichever is less */
622 #define PRINT_LINE_THRESHOLD 3 522 #define PRINT_LINE_THRESHOLD 3
623diff --git a/src/shared/pager.c b/src/shared/pager.c
624index f75ef62d2d..530001a821 100644
625--- a/src/shared/pager.c 523--- a/src/shared/pager.c
626+++ b/src/shared/pager.c 524+++ b/src/shared/pager.c
627@@ -26,6 +26,7 @@ 525@@ -26,6 +26,7 @@
@@ -632,20 +530,6 @@ index f75ef62d2d..530001a821 100644
632 530
633 static pid_t pager_pid = 0; 531 static pid_t pager_pid = 0;
634 532
635diff --git a/src/shared/uid-range.c b/src/shared/uid-range.c
636index 1b4396a34c..c2f72b185f 100644
637--- a/src/shared/uid-range.c
638+++ b/src/shared/uid-range.c
639@@ -14,6 +14,7 @@
640 #include "stat-util.h"
641 #include "uid-range.h"
642 #include "user-util.h"
643+#include "missing_stdlib.h"
644
645 static bool uid_range_intersect(UidRange *range, uid_t start, uid_t nr) {
646 assert(range);
647diff --git a/src/socket-proxy/socket-proxyd.c b/src/socket-proxy/socket-proxyd.c
648index 7e9ab19666..56f619e54e 100644
649--- a/src/socket-proxy/socket-proxyd.c 533--- a/src/socket-proxy/socket-proxyd.c
650+++ b/src/socket-proxy/socket-proxyd.c 534+++ b/src/socket-proxy/socket-proxyd.c
651@@ -26,6 +26,7 @@ 535@@ -26,6 +26,7 @@
@@ -656,8 +540,6 @@ index 7e9ab19666..56f619e54e 100644
656 540
657 #define BUFFER_SIZE (256 * 1024) 541 #define BUFFER_SIZE (256 * 1024)
658 542
659diff --git a/src/test/test-hexdecoct.c b/src/test/test-hexdecoct.c
660index cc9a7cb838..a679614a47 100644
661--- a/src/test/test-hexdecoct.c 543--- a/src/test/test-hexdecoct.c
662+++ b/src/test/test-hexdecoct.c 544+++ b/src/test/test-hexdecoct.c
663@@ -7,6 +7,7 @@ 545@@ -7,6 +7,7 @@
@@ -668,8 +550,6 @@ index cc9a7cb838..a679614a47 100644
668 #include "tests.h" 550 #include "tests.h"
669 551
670 TEST(hexchar) { 552 TEST(hexchar) {
671diff --git a/src/udev/udev-builtin-path_id.c b/src/udev/udev-builtin-path_id.c
672index ae92e45205..1e6f3205cb 100644
673--- a/src/udev/udev-builtin-path_id.c 553--- a/src/udev/udev-builtin-path_id.c
674+++ b/src/udev/udev-builtin-path_id.c 554+++ b/src/udev/udev-builtin-path_id.c
675@@ -22,6 +22,7 @@ 555@@ -22,6 +22,7 @@
@@ -680,11 +560,9 @@ index ae92e45205..1e6f3205cb 100644
680 560
681 _printf_(2,3) 561 _printf_(2,3)
682 static void path_prepend(char **path, const char *fmt, ...) { 562 static void path_prepend(char **path, const char *fmt, ...) {
683diff --git a/src/udev/udev-event.c b/src/udev/udev-event.c
684index a60e4f294c..571c43765b 100644
685--- a/src/udev/udev-event.c 563--- a/src/udev/udev-event.c
686+++ b/src/udev/udev-event.c 564+++ b/src/udev/udev-event.c
687@@ -35,6 +35,7 @@ 565@@ -34,6 +34,7 @@
688 #include "udev-util.h" 566 #include "udev-util.h"
689 #include "udev-watch.h" 567 #include "udev-watch.h"
690 #include "user-util.h" 568 #include "user-util.h"
@@ -692,8 +570,6 @@ index a60e4f294c..571c43765b 100644
692 570
693 typedef struct Spawn { 571 typedef struct Spawn {
694 sd_device *device; 572 sd_device *device;
695diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c
696index 1a384d6b38..0089833e3f 100644
697--- a/src/udev/udev-rules.c 573--- a/src/udev/udev-rules.c
698+++ b/src/udev/udev-rules.c 574+++ b/src/udev/udev-rules.c
699@@ -34,6 +34,7 @@ 575@@ -34,6 +34,7 @@
diff --git a/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch b/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch
index eeaaac1b9a..2a5770c515 100644
--- a/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch
+++ b/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch
@@ -23,8 +23,6 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com>
23 src/tmpfiles/tmpfiles.c | 10 ++++++++++ 23 src/tmpfiles/tmpfiles.c | 10 ++++++++++
24 3 files changed, 38 insertions(+) 24 3 files changed, 38 insertions(+)
25 25
26diff --git a/src/basic/glob-util.c b/src/basic/glob-util.c
27index e026b29478..815e56ef68 100644
28--- a/src/basic/glob-util.c 26--- a/src/basic/glob-util.c
29+++ b/src/basic/glob-util.c 27+++ b/src/basic/glob-util.c
30@@ -12,6 +12,12 @@ 28@@ -12,6 +12,12 @@
@@ -48,7 +46,7 @@ index e026b29478..815e56ef68 100644
48 /* We want to set GLOB_ALTDIRFUNC ourselves, don't allow it to be set. */ 46 /* We want to set GLOB_ALTDIRFUNC ourselves, don't allow it to be set. */
49 assert(!(flags & GLOB_ALTDIRFUNC)); 47 assert(!(flags & GLOB_ALTDIRFUNC));
50 48
51@@ -32,9 +39,14 @@ int safe_glob(const char *path, int flags, glob_t *pglob) { 49@@ -32,9 +39,14 @@ int safe_glob(const char *path, int flag
52 pglob->gl_lstat = lstat; 50 pglob->gl_lstat = lstat;
53 if (!pglob->gl_stat) 51 if (!pglob->gl_stat)
54 pglob->gl_stat = stat; 52 pglob->gl_stat = stat;
@@ -63,13 +61,11 @@ index e026b29478..815e56ef68 100644
63 if (k == GLOB_NOMATCH) 61 if (k == GLOB_NOMATCH)
64 return -ENOENT; 62 return -ENOENT;
65 if (k == GLOB_NOSPACE) 63 if (k == GLOB_NOSPACE)
66diff --git a/src/test/test-glob-util.c b/src/test/test-glob-util.c
67index ec8b74f48f..d99a6095df 100644
68--- a/src/test/test-glob-util.c 64--- a/src/test/test-glob-util.c
69+++ b/src/test/test-glob-util.c 65+++ b/src/test/test-glob-util.c
70@@ -13,6 +13,12 @@ 66@@ -34,6 +34,12 @@ TEST(glob_first) {
71 #include "tests.h" 67 assert_se(first == NULL);
72 #include "tmpfile-util.h" 68 }
73 69
74+/* Don't fail if the standard library 70+/* Don't fail if the standard library
75+ * doesn't provide brace expansion */ 71+ * doesn't provide brace expansion */
@@ -80,7 +76,7 @@ index ec8b74f48f..d99a6095df 100644
80 TEST(glob_exists) { 76 TEST(glob_exists) {
81 char name[] = "/tmp/test-glob_exists.XXXXXX"; 77 char name[] = "/tmp/test-glob_exists.XXXXXX";
82 int fd = -1; 78 int fd = -1;
83@@ -40,11 +46,13 @@ TEST(glob_no_dot) { 79@@ -61,11 +67,13 @@ TEST(glob_no_dot) {
84 const char *fn; 80 const char *fn;
85 81
86 _cleanup_globfree_ glob_t g = { 82 _cleanup_globfree_ glob_t g = {
@@ -94,7 +90,7 @@ index ec8b74f48f..d99a6095df 100644
94 }; 90 };
95 91
96 int r; 92 int r;
97@@ -52,11 +60,19 @@ TEST(glob_no_dot) { 93@@ -73,11 +81,19 @@ TEST(glob_no_dot) {
98 assert_se(mkdtemp(template)); 94 assert_se(mkdtemp(template));
99 95
100 fn = strjoina(template, "/*"); 96 fn = strjoina(template, "/*");
@@ -114,13 +110,11 @@ index ec8b74f48f..d99a6095df 100644
114 assert_se(r == GLOB_NOMATCH); 110 assert_se(r == GLOB_NOMATCH);
115 111
116 (void) rm_rf(template, REMOVE_ROOT|REMOVE_PHYSICAL); 112 (void) rm_rf(template, REMOVE_ROOT|REMOVE_PHYSICAL);
117diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c
118index fcab51c208..fdef1807ae 100644
119--- a/src/tmpfiles/tmpfiles.c 113--- a/src/tmpfiles/tmpfiles.c
120+++ b/src/tmpfiles/tmpfiles.c 114+++ b/src/tmpfiles/tmpfiles.c
121@@ -67,6 +67,12 @@ 115@@ -71,6 +71,12 @@
122 #include "umask-util.h"
123 #include "user-util.h" 116 #include "user-util.h"
117 #include "virt.h"
124 118
125+/* Don't fail if the standard library 119+/* Don't fail if the standard library
126+ * doesn't provide brace expansion */ 120+ * doesn't provide brace expansion */
@@ -131,7 +125,7 @@ index fcab51c208..fdef1807ae 100644
131 /* This reads all files listed in /etc/tmpfiles.d/?*.conf and creates 125 /* This reads all files listed in /etc/tmpfiles.d/?*.conf and creates
132 * them in the file system. This is intended to be used to create 126 * them in the file system. This is intended to be used to create
133 * properly owned directories beneath /tmp, /var/tmp, /run, which are 127 * properly owned directories beneath /tmp, /var/tmp, /run, which are
134@@ -1934,7 +1940,9 @@ finish: 128@@ -2174,7 +2180,9 @@ finish:
135 129
136 static int glob_item(Item *i, action_t action) { 130 static int glob_item(Item *i, action_t action) {
137 _cleanup_globfree_ glob_t g = { 131 _cleanup_globfree_ glob_t g = {
@@ -140,8 +134,8 @@ index fcab51c208..fdef1807ae 100644
140+#endif 134+#endif
141 }; 135 };
142 int r = 0, k; 136 int r = 0, k;
143 137
144@@ -1953,7 +1961,9 @@ static int glob_item(Item *i, action_t action) { 138@@ -2194,7 +2202,9 @@ static int glob_item(Item *i, action_t a
145 139
146 static int glob_item_recursively(Item *i, fdaction_t action) { 140 static int glob_item_recursively(Item *i, fdaction_t action) {
147 _cleanup_globfree_ glob_t g = { 141 _cleanup_globfree_ glob_t g = {
@@ -150,3 +144,4 @@ index fcab51c208..fdef1807ae 100644
150+#endif 144+#endif
151 }; 145 };
152 int r = 0, k; 146 int r = 0, k;
147
diff --git a/meta/recipes-core/systemd/systemd/0010-Use-uintmax_t-for-handling-rlim_t.patch b/meta/recipes-core/systemd/systemd/0010-Use-uintmax_t-for-handling-rlim_t.patch
index 3a47d09e8a..aac4ad49d7 100644
--- a/meta/recipes-core/systemd/systemd/0010-Use-uintmax_t-for-handling-rlim_t.patch
+++ b/meta/recipes-core/systemd/systemd/0010-Use-uintmax_t-for-handling-rlim_t.patch
@@ -27,11 +27,9 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
27 src/core/execute.c | 4 ++-- 27 src/core/execute.c | 4 ++--
28 3 files changed, 9 insertions(+), 15 deletions(-) 28 3 files changed, 9 insertions(+), 15 deletions(-)
29 29
30diff --git a/src/basic/format-util.h b/src/basic/format-util.h
31index 8719df3e29..9becc96066 100644
32--- a/src/basic/format-util.h 30--- a/src/basic/format-util.h
33+++ b/src/basic/format-util.h 31+++ b/src/basic/format-util.h
34@@ -34,13 +34,7 @@ assert_cc(sizeof(gid_t) == sizeof(uint32_t)); 32@@ -34,13 +34,7 @@ assert_cc(sizeof(gid_t) == sizeof(uint32
35 # error Unknown timex member size 33 # error Unknown timex member size
36 #endif 34 #endif
37 35
@@ -46,11 +44,9 @@ index 8719df3e29..9becc96066 100644
46 44
47 #if SIZEOF_DEV_T == 8 45 #if SIZEOF_DEV_T == 8
48 # define DEV_FMT "%" PRIu64 46 # define DEV_FMT "%" PRIu64
49diff --git a/src/basic/rlimit-util.c b/src/basic/rlimit-util.c
50index 33dfde9d6c..e018fd81fd 100644
51--- a/src/basic/rlimit-util.c 47--- a/src/basic/rlimit-util.c
52+++ b/src/basic/rlimit-util.c 48+++ b/src/basic/rlimit-util.c
53@@ -44,7 +44,7 @@ int setrlimit_closest(int resource, const struct rlimit *rlim) { 49@@ -44,7 +44,7 @@ int setrlimit_closest(int resource, cons
54 fixed.rlim_max == highest.rlim_max) 50 fixed.rlim_max == highest.rlim_max)
55 return 0; 51 return 0;
56 52
@@ -59,7 +55,7 @@ index 33dfde9d6c..e018fd81fd 100644
59 55
60 return RET_NERRNO(setrlimit(resource, &fixed)); 56 return RET_NERRNO(setrlimit(resource, &fixed));
61 } 57 }
62@@ -307,13 +307,13 @@ int rlimit_format(const struct rlimit *rl, char **ret) { 58@@ -307,13 +307,13 @@ int rlimit_format(const struct rlimit *r
63 if (rl->rlim_cur >= RLIM_INFINITY && rl->rlim_max >= RLIM_INFINITY) 59 if (rl->rlim_cur >= RLIM_INFINITY && rl->rlim_max >= RLIM_INFINITY)
64 r = free_and_strdup(&s, "infinity"); 60 r = free_and_strdup(&s, "infinity");
65 else if (rl->rlim_cur >= RLIM_INFINITY) 61 else if (rl->rlim_cur >= RLIM_INFINITY)
@@ -86,11 +82,9 @@ index 33dfde9d6c..e018fd81fd 100644
86 82
87 return 1; 83 return 1;
88 } 84 }
89diff --git a/src/core/execute.c b/src/core/execute.c
90index fccfb9268c..90f00e10a5 100644
91--- a/src/core/execute.c 85--- a/src/core/execute.c
92+++ b/src/core/execute.c 86+++ b/src/core/execute.c
93@@ -5633,9 +5633,9 @@ void exec_context_dump(const ExecContext *c, FILE* f, const char *prefix) { 87@@ -5869,9 +5869,9 @@ void exec_context_dump(const ExecContext
94 for (unsigned i = 0; i < RLIM_NLIMITS; i++) 88 for (unsigned i = 0; i < RLIM_NLIMITS; i++)
95 if (c->rlimit[i]) { 89 if (c->rlimit[i]) {
96 fprintf(f, "%sLimit%s: " RLIM_FMT "\n", 90 fprintf(f, "%sLimit%s: " RLIM_FMT "\n",
diff --git a/meta/recipes-core/systemd/systemd/0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch b/meta/recipes-core/systemd/systemd/0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch
index e1a2512ec3..6367adce07 100644
--- a/meta/recipes-core/systemd/systemd/0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch
+++ b/meta/recipes-core/systemd/systemd/0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch
@@ -31,11 +31,9 @@ Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
31 src/shared/base-filesystem.c | 6 +++--- 31 src/shared/base-filesystem.c | 6 +++---
32 2 files changed, 23 insertions(+), 4 deletions(-) 32 2 files changed, 23 insertions(+), 4 deletions(-)
33 33
34diff --git a/src/basic/fs-util.h b/src/basic/fs-util.h
35index 0bbb3f6298..3dc494dbfb 100644
36--- a/src/basic/fs-util.h 34--- a/src/basic/fs-util.h
37+++ b/src/basic/fs-util.h 35+++ b/src/basic/fs-util.h
38@@ -46,8 +46,27 @@ int futimens_opath(int fd, const struct timespec ts[2]); 36@@ -47,8 +47,27 @@ int futimens_opath(int fd, const struct
39 int fd_warn_permissions(const char *path, int fd); 37 int fd_warn_permissions(const char *path, int fd);
40 int stat_warn_permissions(const char *path, const struct stat *st); 38 int stat_warn_permissions(const char *path, const struct stat *st);
41 39
@@ -63,12 +61,10 @@ index 0bbb3f6298..3dc494dbfb 100644
63+ RET_NERRNO(faccessat(AT_FDCWD, (path), (mode), 0)) 61+ RET_NERRNO(faccessat(AT_FDCWD, (path), (mode), 0))
64 62
65 int touch_file(const char *path, bool parents, usec_t stamp, uid_t uid, gid_t gid, mode_t mode); 63 int touch_file(const char *path, bool parents, usec_t stamp, uid_t uid, gid_t gid, mode_t mode);
66 int touch(const char *path); 64
67diff --git a/src/shared/base-filesystem.c b/src/shared/base-filesystem.c
68index 6dacc1d20a..909a6818f6 100644
69--- a/src/shared/base-filesystem.c 65--- a/src/shared/base-filesystem.c
70+++ b/src/shared/base-filesystem.c 66+++ b/src/shared/base-filesystem.c
71@@ -131,7 +131,7 @@ int base_filesystem_create(const char *root, uid_t uid, gid_t gid) { 67@@ -131,7 +131,7 @@ int base_filesystem_create(const char *r
72 return log_error_errno(errno, "Failed to open root file system: %m"); 68 return log_error_errno(errno, "Failed to open root file system: %m");
73 69
74 for (size_t i = 0; i < ELEMENTSOF(table); i++) { 70 for (size_t i = 0; i < ELEMENTSOF(table); i++) {
@@ -77,7 +73,7 @@ index 6dacc1d20a..909a6818f6 100644
77 continue; 73 continue;
78 74
79 if (table[i].target) { 75 if (table[i].target) {
80@@ -139,7 +139,7 @@ int base_filesystem_create(const char *root, uid_t uid, gid_t gid) { 76@@ -139,7 +139,7 @@ int base_filesystem_create(const char *r
81 77
82 /* check if one of the targets exists */ 78 /* check if one of the targets exists */
83 NULSTR_FOREACH(s, table[i].target) { 79 NULSTR_FOREACH(s, table[i].target) {
@@ -86,7 +82,7 @@ index 6dacc1d20a..909a6818f6 100644
86 continue; 82 continue;
87 83
88 /* check if a specific file exists at the target path */ 84 /* check if a specific file exists at the target path */
89@@ -150,7 +150,7 @@ int base_filesystem_create(const char *root, uid_t uid, gid_t gid) { 85@@ -150,7 +150,7 @@ int base_filesystem_create(const char *r
90 if (!p) 86 if (!p)
91 return log_oom(); 87 return log_oom();
92 88
diff --git a/meta/recipes-core/systemd/systemd/0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch b/meta/recipes-core/systemd/systemd/0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch
index 7b22d6214f..3228f1716b 100644
--- a/meta/recipes-core/systemd/systemd/0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch
+++ b/meta/recipes-core/systemd/systemd/0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch
@@ -14,13 +14,11 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
14 src/machine/machine-dbus.c | 5 +++++ 14 src/machine/machine-dbus.c | 5 +++++
15 1 file changed, 5 insertions(+) 15 1 file changed, 5 insertions(+)
16 16
17diff --git a/src/machine/machine-dbus.c b/src/machine/machine-dbus.c
18index 8f11afd65b..a2b57deb7a 100644
19--- a/src/machine/machine-dbus.c 17--- a/src/machine/machine-dbus.c
20+++ b/src/machine/machine-dbus.c 18+++ b/src/machine/machine-dbus.c
21@@ -10,6 +10,11 @@ 19@@ -4,6 +4,11 @@
22 #include <libgen.h> 20 #include <sys/mount.h>
23 #undef basename 21 #include <sys/wait.h>
24 22
25+#if !defined(__GLIBC__) 23+#if !defined(__GLIBC__)
26+#include <string.h> 24+#include <string.h>
diff --git a/meta/recipes-core/systemd/systemd/0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch b/meta/recipes-core/systemd/systemd/0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
index e5e592a837..da56d8b4b6 100644
--- a/meta/recipes-core/systemd/systemd/0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
+++ b/meta/recipes-core/systemd/systemd/0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
@@ -24,11 +24,9 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com>
24 src/basic/process-util.c | 2 +- 24 src/basic/process-util.c | 2 +-
25 1 file changed, 1 insertion(+), 1 deletion(-) 25 1 file changed, 1 insertion(+), 1 deletion(-)
26 26
27diff --git a/src/basic/process-util.c b/src/basic/process-util.c
28index 6980e0c4f6..45ec26ea45 100644
29--- a/src/basic/process-util.c 27--- a/src/basic/process-util.c
30+++ b/src/basic/process-util.c 28+++ b/src/basic/process-util.c
31@@ -1460,7 +1460,7 @@ int set_oom_score_adjust(int value) { 29@@ -1466,7 +1466,7 @@ int set_oom_score_adjust(int value) {
32 xsprintf(t, "%i", value); 30 xsprintf(t, "%i", value);
33 31
34 return write_string_file("/proc/self/oom_score_adj", t, 32 return write_string_file("/proc/self/oom_score_adj", t,
diff --git a/meta/recipes-core/systemd/systemd/0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch b/meta/recipes-core/systemd/systemd/0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch
index c563982607..7533fde1e1 100644
--- a/meta/recipes-core/systemd/systemd/0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch
+++ b/meta/recipes-core/systemd/systemd/0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch
@@ -24,11 +24,9 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
24 src/libsystemd/sd-journal/journal-send.c | 5 +++++ 24 src/libsystemd/sd-journal/journal-send.c | 5 +++++
25 2 files changed, 10 insertions(+) 25 2 files changed, 10 insertions(+)
26 26
27diff --git a/src/libsystemd/sd-bus/bus-error.c b/src/libsystemd/sd-bus/bus-error.c
28index bdfa145ab7..61928f4bf3 100644
29--- a/src/libsystemd/sd-bus/bus-error.c 27--- a/src/libsystemd/sd-bus/bus-error.c
30+++ b/src/libsystemd/sd-bus/bus-error.c 28+++ b/src/libsystemd/sd-bus/bus-error.c
31@@ -409,7 +409,12 @@ static void bus_error_strerror(sd_bus_error *e, int error) { 29@@ -409,7 +409,12 @@ static void bus_error_strerror(sd_bus_er
32 return; 30 return;
33 31
34 errno = 0; 32 errno = 0;
@@ -41,11 +39,23 @@ index bdfa145ab7..61928f4bf3 100644
41 if (errno == ERANGE || strlen(x) >= k - 1) { 39 if (errno == ERANGE || strlen(x) >= k - 1) {
42 free(m); 40 free(m);
43 k *= 2; 41 k *= 2;
44diff --git a/src/libsystemd/sd-journal/journal-send.c b/src/libsystemd/sd-journal/journal-send.c 42@@ -594,8 +599,12 @@ const char* _bus_error_message(const sd_
45index e6ceba54f9..285ebbc9ef 100644 43
44 if (e && e->message)
45 return e->message;
46-
47+#ifndef __GLIBC__
48+ strerror_r(abs(error), buf, ERRNO_BUF_LEN);
49+ return buf;
50+#else
51 return strerror_r(abs(error), buf, ERRNO_BUF_LEN);
52+#endif
53 }
54
55 static bool map_ok(const sd_bus_error_map *map) {
46--- a/src/libsystemd/sd-journal/journal-send.c 56--- a/src/libsystemd/sd-journal/journal-send.c
47+++ b/src/libsystemd/sd-journal/journal-send.c 57+++ b/src/libsystemd/sd-journal/journal-send.c
48@@ -370,7 +370,12 @@ static int fill_iovec_perror_and_send(const char *message, int skip, struct iove 58@@ -381,7 +381,12 @@ static int fill_iovec_perror_and_send(co
49 char* j; 59 char* j;
50 60
51 errno = 0; 61 errno = 0;
diff --git a/meta/recipes-core/systemd/systemd/0022-do-not-disable-buffer-in-writing-files.patch b/meta/recipes-core/systemd/systemd/0022-do-not-disable-buffer-in-writing-files.patch
index 00131de7d0..6edab0dfe2 100644
--- a/meta/recipes-core/systemd/systemd/0022-do-not-disable-buffer-in-writing-files.patch
+++ b/meta/recipes-core/systemd/systemd/0022-do-not-disable-buffer-in-writing-files.patch
@@ -43,11 +43,9 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com>
43 src/vconsole/vconsole-setup.c | 2 +- 43 src/vconsole/vconsole-setup.c | 2 +-
44 21 files changed, 39 insertions(+), 40 deletions(-) 44 21 files changed, 39 insertions(+), 40 deletions(-)
45 45
46diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c
47index f4615ffce1..07cb8ed669 100644
48--- a/src/basic/cgroup-util.c 46--- a/src/basic/cgroup-util.c
49+++ b/src/basic/cgroup-util.c 47+++ b/src/basic/cgroup-util.c
50@@ -399,7 +399,7 @@ int cg_kill_kernel_sigkill(const char *controller, const char *path) { 48@@ -399,7 +399,7 @@ int cg_kill_kernel_sigkill(const char *c
51 if (r < 0) 49 if (r < 0)
52 return r; 50 return r;
53 51
@@ -56,7 +54,7 @@ index f4615ffce1..07cb8ed669 100644
56 if (r < 0) 54 if (r < 0)
57 return r; 55 return r;
58 56
59@@ -805,7 +805,7 @@ int cg_install_release_agent(const char *controller, const char *agent) { 57@@ -805,7 +805,7 @@ int cg_install_release_agent(const char
60 58
61 sc = strstrip(contents); 59 sc = strstrip(contents);
62 if (isempty(sc)) { 60 if (isempty(sc)) {
@@ -65,7 +63,7 @@ index f4615ffce1..07cb8ed669 100644
65 if (r < 0) 63 if (r < 0)
66 return r; 64 return r;
67 } else if (!path_equal(sc, agent)) 65 } else if (!path_equal(sc, agent))
68@@ -823,7 +823,7 @@ int cg_install_release_agent(const char *controller, const char *agent) { 66@@ -823,7 +823,7 @@ int cg_install_release_agent(const char
69 67
70 sc = strstrip(contents); 68 sc = strstrip(contents);
71 if (streq(sc, "0")) { 69 if (streq(sc, "0")) {
@@ -74,7 +72,7 @@ index f4615ffce1..07cb8ed669 100644
74 if (r < 0) 72 if (r < 0)
75 return r; 73 return r;
76 74
77@@ -850,7 +850,7 @@ int cg_uninstall_release_agent(const char *controller) { 75@@ -850,7 +850,7 @@ int cg_uninstall_release_agent(const cha
78 if (r < 0) 76 if (r < 0)
79 return r; 77 return r;
80 78
@@ -83,7 +81,7 @@ index f4615ffce1..07cb8ed669 100644
83 if (r < 0) 81 if (r < 0)
84 return r; 82 return r;
85 83
86@@ -860,7 +860,7 @@ int cg_uninstall_release_agent(const char *controller) { 84@@ -860,7 +860,7 @@ int cg_uninstall_release_agent(const cha
87 if (r < 0) 85 if (r < 0)
88 return r; 86 return r;
89 87
@@ -92,7 +90,7 @@ index f4615ffce1..07cb8ed669 100644
92 if (r < 0) 90 if (r < 0)
93 return r; 91 return r;
94 92
95@@ -1730,7 +1730,7 @@ int cg_set_attribute(const char *controller, const char *path, const char *attri 93@@ -1730,7 +1730,7 @@ int cg_set_attribute(const char *control
96 if (r < 0) 94 if (r < 0)
97 return r; 95 return r;
98 96
@@ -101,11 +99,9 @@ index f4615ffce1..07cb8ed669 100644
101 } 99 }
102 100
103 int cg_get_attribute(const char *controller, const char *path, const char *attribute, char **ret) { 101 int cg_get_attribute(const char *controller, const char *path, const char *attribute, char **ret) {
104diff --git a/src/basic/namespace-util.c b/src/basic/namespace-util.c
105index b9120a5ed0..78e460b75f 100644
106--- a/src/basic/namespace-util.c 102--- a/src/basic/namespace-util.c
107+++ b/src/basic/namespace-util.c 103+++ b/src/basic/namespace-util.c
108@@ -202,12 +202,12 @@ int userns_acquire(const char *uid_map, const char *gid_map) { 104@@ -220,12 +220,12 @@ int userns_acquire(const char *uid_map,
109 freeze(); 105 freeze();
110 106
111 xsprintf(path, "/proc/" PID_FMT "/uid_map", pid); 107 xsprintf(path, "/proc/" PID_FMT "/uid_map", pid);
@@ -120,11 +116,9 @@ index b9120a5ed0..78e460b75f 100644
120 if (r < 0) 116 if (r < 0)
121 return log_error_errno(r, "Failed to write GID map: %m"); 117 return log_error_errno(r, "Failed to write GID map: %m");
122 118
123diff --git a/src/basic/procfs-util.c b/src/basic/procfs-util.c
124index e485a0196b..8bff210356 100644
125--- a/src/basic/procfs-util.c 119--- a/src/basic/procfs-util.c
126+++ b/src/basic/procfs-util.c 120+++ b/src/basic/procfs-util.c
127@@ -64,13 +64,13 @@ int procfs_tasks_set_limit(uint64_t limit) { 121@@ -64,13 +64,13 @@ int procfs_tasks_set_limit(uint64_t limi
128 * decrease it, as threads-max is the much more relevant sysctl. */ 122 * decrease it, as threads-max is the much more relevant sysctl. */
129 if (limit > pid_max-1) { 123 if (limit > pid_max-1) {
130 sprintf(buffer, "%" PRIu64, limit+1); /* Add one, since PID 0 is not a valid PID */ 124 sprintf(buffer, "%" PRIu64, limit+1); /* Add one, since PID 0 is not a valid PID */
@@ -140,11 +134,9 @@ index e485a0196b..8bff210356 100644
140 if (r < 0) { 134 if (r < 0) {
141 uint64_t threads_max; 135 uint64_t threads_max;
142 136
143diff --git a/src/basic/sysctl-util.c b/src/basic/sysctl-util.c
144index b66a6622ae..8d1c93008a 100644
145--- a/src/basic/sysctl-util.c 137--- a/src/basic/sysctl-util.c
146+++ b/src/basic/sysctl-util.c 138+++ b/src/basic/sysctl-util.c
147@@ -58,7 +58,7 @@ int sysctl_write(const char *property, const char *value) { 139@@ -58,7 +58,7 @@ int sysctl_write(const char *property, c
148 140
149 log_debug("Setting '%s' to '%s'", p, value); 141 log_debug("Setting '%s' to '%s'", p, value);
150 142
@@ -153,11 +145,9 @@ index b66a6622ae..8d1c93008a 100644
153 } 145 }
154 146
155 int sysctl_writef(const char *property, const char *format, ...) { 147 int sysctl_writef(const char *property, const char *format, ...) {
156diff --git a/src/basic/util.c b/src/basic/util.c
157index d7ef382737..31c35118d1 100644
158--- a/src/basic/util.c 148--- a/src/basic/util.c
159+++ b/src/basic/util.c 149+++ b/src/basic/util.c
160@@ -168,7 +168,7 @@ void disable_coredumps(void) { 150@@ -134,7 +134,7 @@ void disable_coredumps(void) {
161 if (detect_container() > 0) 151 if (detect_container() > 0)
162 return; 152 return;
163 153
@@ -166,8 +156,6 @@ index d7ef382737..31c35118d1 100644
166 if (r < 0) 156 if (r < 0)
167 log_debug_errno(r, "Failed to turn off coredumps, ignoring: %m"); 157 log_debug_errno(r, "Failed to turn off coredumps, ignoring: %m");
168 } 158 }
169diff --git a/src/binfmt/binfmt.c b/src/binfmt/binfmt.c
170index 18231c2618..6c598d55c8 100644
171--- a/src/binfmt/binfmt.c 159--- a/src/binfmt/binfmt.c
172+++ b/src/binfmt/binfmt.c 160+++ b/src/binfmt/binfmt.c
173@@ -29,7 +29,7 @@ static bool arg_unregister = false; 161@@ -29,7 +29,7 @@ static bool arg_unregister = false;
@@ -179,7 +167,7 @@ index 18231c2618..6c598d55c8 100644
179 } 167 }
180 168
181 static int apply_rule(const char *filename, unsigned line, const char *rule) { 169 static int apply_rule(const char *filename, unsigned line, const char *rule) {
182@@ -59,7 +59,7 @@ static int apply_rule(const char *filename, unsigned line, const char *rule) { 170@@ -59,7 +59,7 @@ static int apply_rule(const char *filena
183 if (r >= 0) 171 if (r >= 0)
184 log_debug("%s:%u: Rule '%s' deleted.", filename, line, rulename); 172 log_debug("%s:%u: Rule '%s' deleted.", filename, line, rulename);
185 173
@@ -197,24 +185,20 @@ index 18231c2618..6c598d55c8 100644
197 if (r < 0) 185 if (r < 0)
198 log_warning_errno(r, "Failed to flush binfmt_misc rules, ignoring: %m"); 186 log_warning_errno(r, "Failed to flush binfmt_misc rules, ignoring: %m");
199 else 187 else
200diff --git a/src/core/cgroup.c b/src/core/cgroup.c
201index 9282b1ff20..7781e0f8eb 100644
202--- a/src/core/cgroup.c 188--- a/src/core/cgroup.c
203+++ b/src/core/cgroup.c 189+++ b/src/core/cgroup.c
204@@ -4182,7 +4182,7 @@ int unit_cgroup_freezer_action(Unit *u, FreezerAction action) { 190@@ -4210,7 +4210,7 @@ int unit_cgroup_freezer_action(Unit *u,
205 else 191 u->freezer_state = FREEZER_THAWING;
206 u->freezer_state = FREEZER_THAWING; 192 }
207 193
208- r = write_string_file(path, one_zero(action == FREEZER_FREEZE), WRITE_STRING_FILE_DISABLE_BUFFER); 194- r = write_string_file(path, one_zero(action == FREEZER_FREEZE), WRITE_STRING_FILE_DISABLE_BUFFER);
209+ r = write_string_file(path, one_zero(action == FREEZER_FREEZE), 0); 195+ r = write_string_file(path, one_zero(action == FREEZER_FREEZE), 0);
210 if (r < 0) 196 if (r < 0)
211 return r; 197 return r;
212 198
213diff --git a/src/core/main.c b/src/core/main.c
214index 409b84a006..b1631e57ce 100644
215--- a/src/core/main.c 199--- a/src/core/main.c
216+++ b/src/core/main.c 200+++ b/src/core/main.c
217@@ -1374,7 +1374,7 @@ static int bump_unix_max_dgram_qlen(void) { 201@@ -1404,7 +1404,7 @@ static int bump_unix_max_dgram_qlen(void
218 if (v >= DEFAULT_UNIX_MAX_DGRAM_QLEN) 202 if (v >= DEFAULT_UNIX_MAX_DGRAM_QLEN)
219 return 0; 203 return 0;
220 204
@@ -223,7 +207,7 @@ index 409b84a006..b1631e57ce 100644
223 "%lu", DEFAULT_UNIX_MAX_DGRAM_QLEN); 207 "%lu", DEFAULT_UNIX_MAX_DGRAM_QLEN);
224 if (r < 0) 208 if (r < 0)
225 return log_full_errno(IN_SET(r, -EROFS, -EPERM, -EACCES) ? LOG_DEBUG : LOG_WARNING, r, 209 return log_full_errno(IN_SET(r, -EROFS, -EPERM, -EACCES) ? LOG_DEBUG : LOG_WARNING, r,
226@@ -1646,7 +1646,7 @@ static void initialize_core_pattern(bool skip_setup) { 210@@ -1676,7 +1676,7 @@ static void initialize_core_pattern(bool
227 if (getpid_cached() != 1) 211 if (getpid_cached() != 1)
228 return; 212 return;
229 213
@@ -232,11 +216,9 @@ index 409b84a006..b1631e57ce 100644
232 if (r < 0) 216 if (r < 0)
233 log_warning_errno(r, "Failed to write '%s' to /proc/sys/kernel/core_pattern, ignoring: %m", 217 log_warning_errno(r, "Failed to write '%s' to /proc/sys/kernel/core_pattern, ignoring: %m",
234 arg_early_core_pattern); 218 arg_early_core_pattern);
235diff --git a/src/core/smack-setup.c b/src/core/smack-setup.c
236index f88cb80834..68055fb64a 100644
237--- a/src/core/smack-setup.c 219--- a/src/core/smack-setup.c
238+++ b/src/core/smack-setup.c 220+++ b/src/core/smack-setup.c
239@@ -320,17 +320,17 @@ int mac_smack_setup(bool *loaded_policy) { 221@@ -320,17 +320,17 @@ int mac_smack_setup(bool *loaded_policy)
240 } 222 }
241 223
242 #if HAVE_SMACK_RUN_LABEL 224 #if HAVE_SMACK_RUN_LABEL
@@ -258,8 +240,6 @@ index f88cb80834..68055fb64a 100644
258 if (r < 0) 240 if (r < 0)
259 log_warning_errno(r, "Failed to set SMACK netlabel rule \"127.0.0.1 -CIPSO\": %m"); 241 log_warning_errno(r, "Failed to set SMACK netlabel rule \"127.0.0.1 -CIPSO\": %m");
260 #endif 242 #endif
261diff --git a/src/hibernate-resume/hibernate-resume.c b/src/hibernate-resume/hibernate-resume.c
262index 1c7d9179d8..3ae78ee580 100644
263--- a/src/hibernate-resume/hibernate-resume.c 243--- a/src/hibernate-resume/hibernate-resume.c
264+++ b/src/hibernate-resume/hibernate-resume.c 244+++ b/src/hibernate-resume/hibernate-resume.c
265@@ -40,7 +40,7 @@ int main(int argc, char *argv[]) { 245@@ -40,7 +40,7 @@ int main(int argc, char *argv[]) {
@@ -271,24 +251,20 @@ index 1c7d9179d8..3ae78ee580 100644
271 if (r < 0) { 251 if (r < 0) {
272 log_error_errno(r, "Failed to write '" DEVNUM_FORMAT_STR "' to /sys/power/resume: %m", DEVNUM_FORMAT_VAL(st.st_rdev)); 252 log_error_errno(r, "Failed to write '" DEVNUM_FORMAT_STR "' to /sys/power/resume: %m", DEVNUM_FORMAT_VAL(st.st_rdev));
273 return EXIT_FAILURE; 253 return EXIT_FAILURE;
274diff --git a/src/home/homework.c b/src/home/homework.c
275index 0014a7f598..ec3e9caa1c 100644
276--- a/src/home/homework.c 254--- a/src/home/homework.c
277+++ b/src/home/homework.c 255+++ b/src/home/homework.c
278@@ -278,7 +278,7 @@ static void drop_caches_now(void) { 256@@ -278,7 +278,7 @@ static void drop_caches_now(void) {
279 * details. We write "2" into /proc/sys/vm/drop_caches to ensure dentries/inodes are flushed, but not 257 * for details. We write "2" into /proc/sys/vm/drop_caches to ensure dentries/inodes are flushed, but
280 * more. */ 258 * not more. */
281 259
282- r = write_string_file("/proc/sys/vm/drop_caches", "2\n", WRITE_STRING_FILE_DISABLE_BUFFER); 260- r = write_string_file("/proc/sys/vm/drop_caches", "2\n", WRITE_STRING_FILE_DISABLE_BUFFER);
283+ r = write_string_file("/proc/sys/vm/drop_caches", "2\n", 0); 261+ r = write_string_file("/proc/sys/vm/drop_caches", "2\n", 0);
284 if (r < 0) 262 if (r < 0)
285 log_warning_errno(r, "Failed to drop caches, ignoring: %m"); 263 log_warning_errno(r, "Failed to drop caches, ignoring: %m");
286 else 264 else
287diff --git a/src/libsystemd/sd-device/sd-device.c b/src/libsystemd/sd-device/sd-device.c
288index aaf951ced8..45a9d70f0d 100644
289--- a/src/libsystemd/sd-device/sd-device.c 265--- a/src/libsystemd/sd-device/sd-device.c
290+++ b/src/libsystemd/sd-device/sd-device.c 266+++ b/src/libsystemd/sd-device/sd-device.c
291@@ -2215,7 +2215,7 @@ _public_ int sd_device_set_sysattr_value(sd_device *device, const char *sysattr, 267@@ -2444,7 +2444,7 @@ _public_ int sd_device_set_sysattr_value
292 if (!value) 268 if (!value)
293 return -ENOMEM; 269 return -ENOMEM;
294 270
@@ -297,11 +273,9 @@ index aaf951ced8..45a9d70f0d 100644
297 if (r < 0) { 273 if (r < 0) {
298 /* On failure, clear cache entry, as we do not know how it fails. */ 274 /* On failure, clear cache entry, as we do not know how it fails. */
299 device_remove_cached_sysattr_value(device, sysattr); 275 device_remove_cached_sysattr_value(device, sysattr);
300diff --git a/src/nspawn/nspawn-cgroup.c b/src/nspawn/nspawn-cgroup.c
301index 9e6379ae7b..546a03a7f5 100644
302--- a/src/nspawn/nspawn-cgroup.c 276--- a/src/nspawn/nspawn-cgroup.c
303+++ b/src/nspawn/nspawn-cgroup.c 277+++ b/src/nspawn/nspawn-cgroup.c
304@@ -123,7 +123,7 @@ int sync_cgroup(pid_t pid, CGroupUnified unified_requested, uid_t uid_shift) { 278@@ -123,7 +123,7 @@ int sync_cgroup(pid_t pid, CGroupUnified
305 fn = strjoina(tree, cgroup, "/cgroup.procs"); 279 fn = strjoina(tree, cgroup, "/cgroup.procs");
306 280
307 sprintf(pid_string, PID_FMT, pid); 281 sprintf(pid_string, PID_FMT, pid);
@@ -310,11 +284,9 @@ index 9e6379ae7b..546a03a7f5 100644
310 if (r < 0) { 284 if (r < 0) {
311 log_error_errno(r, "Failed to move process: %m"); 285 log_error_errno(r, "Failed to move process: %m");
312 goto finish; 286 goto finish;
313diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
314index c5fd978395..fefe8a21e5 100644
315--- a/src/nspawn/nspawn.c 287--- a/src/nspawn/nspawn.c
316+++ b/src/nspawn/nspawn.c 288+++ b/src/nspawn/nspawn.c
317@@ -2759,7 +2759,7 @@ static int reset_audit_loginuid(void) { 289@@ -2762,7 +2762,7 @@ static int reset_audit_loginuid(void) {
318 if (streq(p, "4294967295")) 290 if (streq(p, "4294967295"))
319 return 0; 291 return 0;
320 292
@@ -341,8 +313,6 @@ index c5fd978395..fefe8a21e5 100644
341 if (r < 0) 313 if (r < 0)
342 return log_error_errno(r, "Failed to write GID map: %m"); 314 return log_error_errno(r, "Failed to write GID map: %m");
343 315
344diff --git a/src/shared/binfmt-util.c b/src/shared/binfmt-util.c
345index 724d7f27d9..dd725cff92 100644
346--- a/src/shared/binfmt-util.c 316--- a/src/shared/binfmt-util.c
347+++ b/src/shared/binfmt-util.c 317+++ b/src/shared/binfmt-util.c
348@@ -26,7 +26,7 @@ int disable_binfmt(void) { 318@@ -26,7 +26,7 @@ int disable_binfmt(void) {
@@ -354,11 +324,9 @@ index 724d7f27d9..dd725cff92 100644
354 if (r < 0) 324 if (r < 0)
355 return log_warning_errno(r, "Failed to unregister binfmt_misc entries: %m"); 325 return log_warning_errno(r, "Failed to unregister binfmt_misc entries: %m");
356 326
357diff --git a/src/shared/cgroup-setup.c b/src/shared/cgroup-setup.c
358index a1fabc73c1..c5c8fc417e 100644
359--- a/src/shared/cgroup-setup.c 327--- a/src/shared/cgroup-setup.c
360+++ b/src/shared/cgroup-setup.c 328+++ b/src/shared/cgroup-setup.c
361@@ -344,7 +344,7 @@ int cg_attach(const char *controller, const char *path, pid_t pid) { 329@@ -350,7 +350,7 @@ int cg_attach(const char *controller, co
362 330
363 xsprintf(c, PID_FMT "\n", pid); 331 xsprintf(c, PID_FMT "\n", pid);
364 332
@@ -367,7 +335,7 @@ index a1fabc73c1..c5c8fc417e 100644
367 if (r == -EOPNOTSUPP && cg_is_threaded(controller, path) > 0) 335 if (r == -EOPNOTSUPP && cg_is_threaded(controller, path) > 0)
368 /* When the threaded mode is used, we cannot read/write the file. Let's return recognizable error. */ 336 /* When the threaded mode is used, we cannot read/write the file. Let's return recognizable error. */
369 return -EUCLEAN; 337 return -EUCLEAN;
370@@ -879,7 +879,7 @@ int cg_enable_everywhere( 338@@ -887,7 +887,7 @@ int cg_enable_everywhere(
371 return log_debug_errno(errno, "Failed to open cgroup.subtree_control file of %s: %m", p); 339 return log_debug_errno(errno, "Failed to open cgroup.subtree_control file of %s: %m", p);
372 } 340 }
373 341
@@ -376,22 +344,18 @@ index a1fabc73c1..c5c8fc417e 100644
376 if (r < 0) { 344 if (r < 0) {
377 log_debug_errno(r, "Failed to %s controller %s for %s (%s): %m", 345 log_debug_errno(r, "Failed to %s controller %s for %s (%s): %m",
378 FLAGS_SET(mask, bit) ? "enable" : "disable", n, p, fs); 346 FLAGS_SET(mask, bit) ? "enable" : "disable", n, p, fs);
379diff --git a/src/shared/coredump-util.c b/src/shared/coredump-util.c
380index a0b648bf79..13f921390d 100644
381--- a/src/shared/coredump-util.c 347--- a/src/shared/coredump-util.c
382+++ b/src/shared/coredump-util.c 348+++ b/src/shared/coredump-util.c
383@@ -70,5 +70,5 @@ int set_coredump_filter(uint64_t value) { 349@@ -70,5 +70,5 @@ int set_coredump_filter(uint64_t value)
384 sprintf(t, "0x%"PRIx64, value); 350 sprintf(t, "0x%"PRIx64, value);
385 351
386 return write_string_file("/proc/self/coredump_filter", t, 352 return write_string_file("/proc/self/coredump_filter", t,
387- WRITE_STRING_FILE_VERIFY_ON_FAILURE|WRITE_STRING_FILE_DISABLE_BUFFER); 353- WRITE_STRING_FILE_VERIFY_ON_FAILURE|WRITE_STRING_FILE_DISABLE_BUFFER);
388+ WRITE_STRING_FILE_VERIFY_ON_FAILURE); 354+ WRITE_STRING_FILE_VERIFY_ON_FAILURE);
389 } 355 }
390diff --git a/src/shared/smack-util.c b/src/shared/smack-util.c
391index 0df1778cb2..3b9a0c934e 100644
392--- a/src/shared/smack-util.c 356--- a/src/shared/smack-util.c
393+++ b/src/shared/smack-util.c 357+++ b/src/shared/smack-util.c
394@@ -114,7 +114,7 @@ int mac_smack_apply_pid(pid_t pid, const char *label) { 358@@ -115,7 +115,7 @@ int mac_smack_apply_pid(pid_t pid, const
395 return 0; 359 return 0;
396 360
397 p = procfs_file_alloca(pid, "attr/current"); 361 p = procfs_file_alloca(pid, "attr/current");
@@ -400,11 +364,9 @@ index 0df1778cb2..3b9a0c934e 100644
400 if (r < 0) 364 if (r < 0)
401 return r; 365 return r;
402 366
403diff --git a/src/sleep/sleep.c b/src/sleep/sleep.c
404index 7064f3a905..8f2a7d9da2 100644
405--- a/src/sleep/sleep.c 367--- a/src/sleep/sleep.c
406+++ b/src/sleep/sleep.c 368+++ b/src/sleep/sleep.c
407@@ -46,7 +46,7 @@ static int write_hibernate_location_info(const HibernateLocation *hibernate_loca 369@@ -50,7 +50,7 @@ static int write_hibernate_location_info
408 assert(hibernate_location->swap); 370 assert(hibernate_location->swap);
409 371
410 xsprintf(resume_str, "%u:%u", major(hibernate_location->devno), minor(hibernate_location->devno)); 372 xsprintf(resume_str, "%u:%u", major(hibernate_location->devno), minor(hibernate_location->devno));
@@ -413,7 +375,7 @@ index 7064f3a905..8f2a7d9da2 100644
413 if (r < 0) 375 if (r < 0)
414 return log_debug_errno(r, "Failed to write partition device to /sys/power/resume for '%s': '%s': %m", 376 return log_debug_errno(r, "Failed to write partition device to /sys/power/resume for '%s': '%s': %m",
415 hibernate_location->swap->device, resume_str); 377 hibernate_location->swap->device, resume_str);
416@@ -73,7 +73,7 @@ static int write_hibernate_location_info(const HibernateLocation *hibernate_loca 378@@ -77,7 +77,7 @@ static int write_hibernate_location_info
417 } 379 }
418 380
419 xsprintf(offset_str, "%" PRIu64, hibernate_location->offset); 381 xsprintf(offset_str, "%" PRIu64, hibernate_location->offset);
@@ -422,7 +384,7 @@ index 7064f3a905..8f2a7d9da2 100644
422 if (r < 0) 384 if (r < 0)
423 return log_debug_errno(r, "Failed to write swap file offset to /sys/power/resume_offset for '%s': '%s': %m", 385 return log_debug_errno(r, "Failed to write swap file offset to /sys/power/resume_offset for '%s': '%s': %m",
424 hibernate_location->swap->device, offset_str); 386 hibernate_location->swap->device, offset_str);
425@@ -89,7 +89,7 @@ static int write_mode(char **modes) { 387@@ -93,7 +93,7 @@ static int write_mode(char **modes) {
426 STRV_FOREACH(mode, modes) { 388 STRV_FOREACH(mode, modes) {
427 int k; 389 int k;
428 390
@@ -431,7 +393,7 @@ index 7064f3a905..8f2a7d9da2 100644
431 if (k >= 0) 393 if (k >= 0)
432 return 0; 394 return 0;
433 395
434@@ -110,7 +110,7 @@ static int write_state(FILE **f, char **states) { 396@@ -114,7 +114,7 @@ static int write_state(FILE **f, char **
435 STRV_FOREACH(state, states) { 397 STRV_FOREACH(state, states) {
436 int k; 398 int k;
437 399
@@ -440,11 +402,9 @@ index 7064f3a905..8f2a7d9da2 100644
440 if (k >= 0) 402 if (k >= 0)
441 return 0; 403 return 0;
442 log_debug_errno(k, "Failed to write '%s' to /sys/power/state: %m", *state); 404 log_debug_errno(k, "Failed to write '%s' to /sys/power/state: %m", *state);
443diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c
444index cd858c9cca..0feb9669a0 100644
445--- a/src/udev/udev-rules.c 405--- a/src/udev/udev-rules.c
446+++ b/src/udev/udev-rules.c 406+++ b/src/udev/udev-rules.c
447@@ -2335,7 +2335,6 @@ static int udev_rule_apply_token_to_event( 407@@ -2354,7 +2354,6 @@ static int udev_rule_apply_token_to_even
448 log_rule_debug(dev, rules, "ATTR '%s' writing '%s'", buf, value); 408 log_rule_debug(dev, rules, "ATTR '%s' writing '%s'", buf, value);
449 r = write_string_file(buf, value, 409 r = write_string_file(buf, value,
450 WRITE_STRING_FILE_VERIFY_ON_FAILURE | 410 WRITE_STRING_FILE_VERIFY_ON_FAILURE |
@@ -452,11 +412,9 @@ index cd858c9cca..0feb9669a0 100644
452 WRITE_STRING_FILE_AVOID_NEWLINE | 412 WRITE_STRING_FILE_AVOID_NEWLINE |
453 WRITE_STRING_FILE_VERIFY_IGNORE_NEWLINE); 413 WRITE_STRING_FILE_VERIFY_IGNORE_NEWLINE);
454 if (r < 0) 414 if (r < 0)
455diff --git a/src/vconsole/vconsole-setup.c b/src/vconsole/vconsole-setup.c
456index 50930d4af3..5efd5d3728 100644
457--- a/src/vconsole/vconsole-setup.c 415--- a/src/vconsole/vconsole-setup.c
458+++ b/src/vconsole/vconsole-setup.c 416+++ b/src/vconsole/vconsole-setup.c
459@@ -108,7 +108,7 @@ static int toggle_utf8_vc(const char *name, int fd, bool utf8) { 417@@ -108,7 +108,7 @@ static int toggle_utf8_vc(const char *na
460 static int toggle_utf8_sysfs(bool utf8) { 418 static int toggle_utf8_sysfs(bool utf8) {
461 int r; 419 int r;
462 420
diff --git a/meta/recipes-core/systemd/systemd/0026-Handle-missing-gshadow.patch b/meta/recipes-core/systemd/systemd/0026-Handle-missing-gshadow.patch
index 2c56838644..45778541c3 100644
--- a/meta/recipes-core/systemd/systemd/0026-Handle-missing-gshadow.patch
+++ b/meta/recipes-core/systemd/systemd/0026-Handle-missing-gshadow.patch
@@ -17,8 +17,6 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
17 src/shared/userdb.c | 7 ++++++- 17 src/shared/userdb.c | 7 ++++++-
18 3 files changed, 30 insertions(+), 1 deletion(-) 18 3 files changed, 30 insertions(+), 1 deletion(-)
19 19
20diff --git a/src/shared/user-record-nss.c b/src/shared/user-record-nss.c
21index 88b8fc2f8f..a819d41bac 100644
22--- a/src/shared/user-record-nss.c 20--- a/src/shared/user-record-nss.c
23+++ b/src/shared/user-record-nss.c 21+++ b/src/shared/user-record-nss.c
24@@ -331,8 +331,10 @@ int nss_group_to_group_record( 22@@ -331,8 +331,10 @@ int nss_group_to_group_record(
@@ -48,7 +46,7 @@ index 88b8fc2f8f..a819d41bac 100644
48 46
49 r = json_build(&g->json, JSON_BUILD_OBJECT( 47 r = json_build(&g->json, JSON_BUILD_OBJECT(
50 JSON_BUILD_PAIR("groupName", JSON_BUILD_STRING(g->group_name)), 48 JSON_BUILD_PAIR("groupName", JSON_BUILD_STRING(g->group_name)),
51@@ -388,6 +392,7 @@ int nss_sgrp_for_group(const struct group *grp, struct sgrp *ret_sgrp, char **re 49@@ -388,6 +392,7 @@ int nss_sgrp_for_group(const struct grou
52 assert(ret_sgrp); 50 assert(ret_sgrp);
53 assert(ret_buffer); 51 assert(ret_buffer);
54 52
@@ -56,7 +54,7 @@ index 88b8fc2f8f..a819d41bac 100644
56 for (;;) { 54 for (;;) {
57 _cleanup_free_ char *buf = NULL; 55 _cleanup_free_ char *buf = NULL;
58 struct sgrp sgrp, *result; 56 struct sgrp sgrp, *result;
59@@ -416,6 +421,9 @@ int nss_sgrp_for_group(const struct group *grp, struct sgrp *ret_sgrp, char **re 57@@ -416,6 +421,9 @@ int nss_sgrp_for_group(const struct grou
60 buflen *= 2; 58 buflen *= 2;
61 buf = mfree(buf); 59 buf = mfree(buf);
62 } 60 }
@@ -122,8 +120,6 @@ index 88b8fc2f8f..a819d41bac 100644
122 if (r < 0) 120 if (r < 0)
123 return r; 121 return r;
124 122
125diff --git a/src/shared/user-record-nss.h b/src/shared/user-record-nss.h
126index 22ab04d6ee..4e52e7a911 100644
127--- a/src/shared/user-record-nss.h 123--- a/src/shared/user-record-nss.h
128+++ b/src/shared/user-record-nss.h 124+++ b/src/shared/user-record-nss.h
129@@ -2,7 +2,11 @@ 125@@ -2,7 +2,11 @@
@@ -138,11 +134,9 @@ index 22ab04d6ee..4e52e7a911 100644
138 #include <pwd.h> 134 #include <pwd.h>
139 #include <shadow.h> 135 #include <shadow.h>
140 136
141diff --git a/src/shared/userdb.c b/src/shared/userdb.c
142index 0eddd382e6..d506b8e263 100644
143--- a/src/shared/userdb.c 137--- a/src/shared/userdb.c
144+++ b/src/shared/userdb.c 138+++ b/src/shared/userdb.c
145@@ -1046,13 +1046,15 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) { 139@@ -1044,13 +1044,15 @@ int groupdb_iterator_get(UserDBIterator
146 if (gr) { 140 if (gr) {
147 _cleanup_free_ char *buffer = NULL; 141 _cleanup_free_ char *buffer = NULL;
148 bool incomplete = false; 142 bool incomplete = false;
@@ -159,7 +153,7 @@ index 0eddd382e6..d506b8e263 100644
159 if (!FLAGS_SET(iterator->flags, USERDB_SUPPRESS_SHADOW)) { 153 if (!FLAGS_SET(iterator->flags, USERDB_SUPPRESS_SHADOW)) {
160 r = nss_sgrp_for_group(gr, &sgrp, &buffer); 154 r = nss_sgrp_for_group(gr, &sgrp, &buffer);
161 if (r < 0) { 155 if (r < 0) {
162@@ -1065,6 +1067,9 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) { 156@@ -1063,6 +1065,9 @@ int groupdb_iterator_get(UserDBIterator
163 } 157 }
164 158
165 r = nss_group_to_group_record(gr, r >= 0 ? &sgrp : NULL, ret); 159 r = nss_group_to_group_record(gr, r >= 0 ? &sgrp : NULL, ret);
diff --git a/meta/recipes-core/systemd/systemd_252.4.bb b/meta/recipes-core/systemd/systemd_252.4.bb
index 3271b225fc..eb6f5ecc17 100644
--- a/meta/recipes-core/systemd/systemd_252.4.bb
+++ b/meta/recipes-core/systemd/systemd_252.4.bb
@@ -49,6 +49,7 @@ SRC_URI_MUSL = "\
49 file://0001-pass-correct-parameters-to-getdents64.patch \ 49 file://0001-pass-correct-parameters-to-getdents64.patch \
50 file://0002-Add-sys-stat.h-for-S_IFDIR.patch \ 50 file://0002-Add-sys-stat.h-for-S_IFDIR.patch \
51 file://0001-Adjust-for-musl-headers.patch \ 51 file://0001-Adjust-for-musl-headers.patch \
52 file://0001-test-bus-error-strerror-is-assumed-to-be-GNU-specifi.patch \
52 " 53 "
53 54
54PAM_PLUGINS = " \ 55PAM_PLUGINS = " \
@@ -109,7 +110,7 @@ PACKAGECONFIG:remove:libc-musl = " \
109# https://github.com/seccomp/libseccomp/issues/347 110# https://github.com/seccomp/libseccomp/issues/347
110PACKAGECONFIG:remove:mipsarch = "seccomp" 111PACKAGECONFIG:remove:mipsarch = "seccomp"
111 112
112CFLAGS:append:libc-musl = " -D__UAPI_DEF_ETHHDR=0 " 113TARGET_CC_ARCH:append:libc-musl = " -D__UAPI_DEF_ETHHDR=0 -D_LARGEFILE64_SOURCE"
113 114
114# Some of the dependencies are weak-style recommends - if not available at runtime, 115# Some of the dependencies are weak-style recommends - if not available at runtime,
115# systemd won't fail but the library-related feature will be skipped with a warning. 116# systemd won't fail but the library-related feature will be skipped with a warning.