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-06 22:31:58 +0100 |
commit | a1f51bae8e4717da2375b9a476c368554a795487 (patch) | |
tree | 4bc4de095f9347a2930b22baa20c7ad004ac9347 /meta/recipes-core/systemd/systemd/0001-resolve-Use-sockaddr-pointer-type-for-bind.patch | |
parent | c09daf7fdc51d208b1b6789c3fec1a160b02c9a3 (diff) | |
download | openembedded-core-contrib-a1f51bae8e4717da2375b9a476c368554a795487.tar.gz |
systemd: Fix build regression with latest update
This happens when ptest is enabled with clang compiler
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/systemd/0001-resolve-Use-sockaddr-pointer-type-for-bind.patch')
-rw-r--r-- | meta/recipes-core/systemd/systemd/0001-resolve-Use-sockaddr-pointer-type-for-bind.patch | 46 |
1 files changed, 46 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 @@ +From ad1428f29196bcc88ae382ee67ff705928e2be24 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Thu, 5 May 2022 20:25:37 -0700 +Subject: [PATCH] resolve: Use sockaddr pointer type for bind() + +bind() expects sockaddr* but SERVER_ADDRESS is sockaddr_in type struct + +Fixes errors with clang e.g. + +../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] + assert_se(bind(bindfd, &SERVER_ADDRESS, sizeof(SERVER_ADDRESS)) >= 0); + ^~~~~~~~~~~~~~~ +../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] + r = connect(clientfd, &SERVER_ADDRESS, sizeof(SERVER_ADDRESS)); + +Upstream-Status: Submitted [https://github.com/systemd/systemd/pull/23281] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/resolve/test-resolved-stream.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/resolve/test-resolved-stream.c b/src/resolve/test-resolved-stream.c +index f12c729e50..504b532002 100644 +--- a/src/resolve/test-resolved-stream.c ++++ b/src/resolve/test-resolved-stream.c +@@ -109,7 +109,7 @@ static void *tcp_dns_server(void *p) { + + assert_se((bindfd = socket(AF_INET, SOCK_STREAM | SOCK_CLOEXEC, 0)) >= 0); + assert_se(setsockopt(bindfd, SOL_SOCKET, SO_REUSEADDR, &(int){1}, sizeof(int)) >= 0); +- assert_se(bind(bindfd, &SERVER_ADDRESS, sizeof(SERVER_ADDRESS)) >= 0); ++ assert_se(bind(bindfd, (struct sockaddr*)&SERVER_ADDRESS, sizeof(SERVER_ADDRESS)) >= 0); + assert_se(listen(bindfd, 1) >= 0); + assert_se((acceptfd = accept(bindfd, NULL, NULL)) >= 0); + server_handle(acceptfd); +@@ -248,7 +248,7 @@ static void test_dns_stream(bool tls) { + assert_se((clientfd = socket(AF_INET, SOCK_STREAM | SOCK_CLOEXEC, 0)) >= 0); + + for (int i = 0; i < 100; i++) { +- r = connect(clientfd, &SERVER_ADDRESS, sizeof(SERVER_ADDRESS)); ++ r = connect(clientfd, (struct sockaddr*)&SERVER_ADDRESS, sizeof(SERVER_ADDRESS)); + if (r >= 0) + break; + usleep(EVENT_TIMEOUT_USEC / 100); +-- +2.36.0 + |