summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/systemd
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2022-05-05 20:33:40 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2022-05-07 22:31:21 +0100
commit19af5a1cd959a78ca1391903b85be49cdc14ee9e (patch)
treef5cef396817fcb48e500461f2e3d8c6cd70a9d36 /meta/recipes-core/systemd
parent042e99d44a46d214c5bed5b599b0626ee67a739c (diff)
downloadpoky-19af5a1cd959a78ca1391903b85be49cdc14ee9e.tar.gz
systemd: Fix build regression with latest update
This happens when ptest is enabled with clang compiler (From OE-Core rev: a1f51bae8e4717da2375b9a476c368554a795487) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-core/systemd')
-rw-r--r--meta/recipes-core/systemd/systemd/0001-resolve-Use-sockaddr-pointer-type-for-bind.patch46
-rw-r--r--meta/recipes-core/systemd/systemd_250.5.bb1
2 files changed, 47 insertions, 0 deletions
diff --git a/meta/recipes-core/systemd/systemd/0001-resolve-Use-sockaddr-pointer-type-for-bind.patch b/meta/recipes-core/systemd/systemd/0001-resolve-Use-sockaddr-pointer-type-for-bind.patch
new file mode 100644
index 0000000000..8567283537
--- /dev/null
+++ b/meta/recipes-core/systemd/systemd/0001-resolve-Use-sockaddr-pointer-type-for-bind.patch
@@ -0,0 +1,46 @@
1From ad1428f29196bcc88ae382ee67ff705928e2be24 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Thu, 5 May 2022 20:25:37 -0700
4Subject: [PATCH] resolve: Use sockaddr pointer type for bind()
5
6bind() expects sockaddr* but SERVER_ADDRESS is sockaddr_in type struct
7
8Fixes errors with clang e.g.
9
10../git/src/resolve/test-resolved-stream.c:112:32: error: incompatible pointer types passing 'struct sockaddr_in *' to parameter of type 'const struct sockaddr *' [-Werror,-Wincompatible-pointer-types]
11 assert_se(bind(bindfd, &SERVER_ADDRESS, sizeof(SERVER_ADDRESS)) >= 0);
12 ^~~~~~~~~~~~~~~
13../git/src/resolve/test-resolved-stream.c:251:39: error: incompatible pointer types passing 'struct sockaddr_in *' to parameter of type 'const struct sockaddr *' [-Werror,-Wincompatible-pointer-types]
14 r = connect(clientfd, &SERVER_ADDRESS, sizeof(SERVER_ADDRESS));
15
16Upstream-Status: Submitted [https://github.com/systemd/systemd/pull/23281]
17Signed-off-by: Khem Raj <raj.khem@gmail.com>
18---
19 src/resolve/test-resolved-stream.c | 4 ++--
20 1 file changed, 2 insertions(+), 2 deletions(-)
21
22diff --git a/src/resolve/test-resolved-stream.c b/src/resolve/test-resolved-stream.c
23index f12c729e50..504b532002 100644
24--- a/src/resolve/test-resolved-stream.c
25+++ b/src/resolve/test-resolved-stream.c
26@@ -109,7 +109,7 @@ static void *tcp_dns_server(void *p) {
27
28 assert_se((bindfd = socket(AF_INET, SOCK_STREAM | SOCK_CLOEXEC, 0)) >= 0);
29 assert_se(setsockopt(bindfd, SOL_SOCKET, SO_REUSEADDR, &(int){1}, sizeof(int)) >= 0);
30- assert_se(bind(bindfd, &SERVER_ADDRESS, sizeof(SERVER_ADDRESS)) >= 0);
31+ assert_se(bind(bindfd, (struct sockaddr*)&SERVER_ADDRESS, sizeof(SERVER_ADDRESS)) >= 0);
32 assert_se(listen(bindfd, 1) >= 0);
33 assert_se((acceptfd = accept(bindfd, NULL, NULL)) >= 0);
34 server_handle(acceptfd);
35@@ -248,7 +248,7 @@ static void test_dns_stream(bool tls) {
36 assert_se((clientfd = socket(AF_INET, SOCK_STREAM | SOCK_CLOEXEC, 0)) >= 0);
37
38 for (int i = 0; i < 100; i++) {
39- r = connect(clientfd, &SERVER_ADDRESS, sizeof(SERVER_ADDRESS));
40+ r = connect(clientfd, (struct sockaddr*)&SERVER_ADDRESS, sizeof(SERVER_ADDRESS));
41 if (r >= 0)
42 break;
43 usleep(EVENT_TIMEOUT_USEC / 100);
44--
452.36.0
46
diff --git a/meta/recipes-core/systemd/systemd_250.5.bb b/meta/recipes-core/systemd/systemd_250.5.bb
index 2cf3b7ca88..e5a2f65202 100644
--- a/meta/recipes-core/systemd/systemd_250.5.bb
+++ b/meta/recipes-core/systemd/systemd_250.5.bb
@@ -25,6 +25,7 @@ SRC_URI += "file://touchscreen.rules \
25 file://0003-implment-systemd-sysv-install-for-OE.patch \ 25 file://0003-implment-systemd-sysv-install-for-OE.patch \
26 file://0001-systemd.pc.in-use-ROOTPREFIX-without-suffixed-slash.patch \ 26 file://0001-systemd.pc.in-use-ROOTPREFIX-without-suffixed-slash.patch \
27 file://0001-test-parse-argument-Include-signal.h.patch \ 27 file://0001-test-parse-argument-Include-signal.h.patch \
28 file://0001-resolve-Use-sockaddr-pointer-type-for-bind.patch \
28 " 29 "
29 30
30# patches needed by musl 31# patches needed by musl