diff options
author | Khem Raj <raj.khem@gmail.com> | 2022-05-05 20:33:40 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2022-05-07 22:31:21 +0100 |
commit | 19af5a1cd959a78ca1391903b85be49cdc14ee9e (patch) | |
tree | f5cef396817fcb48e500461f2e3d8c6cd70a9d36 | |
parent | 042e99d44a46d214c5bed5b599b0626ee67a739c (diff) | |
download | poky-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>
-rw-r--r-- | meta/recipes-core/systemd/systemd/0001-resolve-Use-sockaddr-pointer-type-for-bind.patch | 46 | ||||
-rw-r--r-- | meta/recipes-core/systemd/systemd_250.5.bb | 1 |
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 @@ | |||
1 | From ad1428f29196bcc88ae382ee67ff705928e2be24 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Thu, 5 May 2022 20:25:37 -0700 | ||
4 | Subject: [PATCH] resolve: Use sockaddr pointer type for bind() | ||
5 | |||
6 | bind() expects sockaddr* but SERVER_ADDRESS is sockaddr_in type struct | ||
7 | |||
8 | Fixes 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 | |||
16 | Upstream-Status: Submitted [https://github.com/systemd/systemd/pull/23281] | ||
17 | Signed-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 | |||
22 | diff --git a/src/resolve/test-resolved-stream.c b/src/resolve/test-resolved-stream.c | ||
23 | index 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 | -- | ||
45 | 2.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 |