From 735e066b1cfa71bf552004cf24d528e0411b5c52 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sun, 9 Sep 2018 17:44:22 -0700 Subject: gst-validate: Fix build on musl Connect has different signature on musl. Fixes socket_interposer.c:103:1: error: conflicting types for 'connect' | connect (int socket, const struct sockaddr_in *addrin, socklen_t address_len) | ^ | recipe-sysroot/usr/include/sys/socket.h:327:5: note: previous declaration is here | int connect (int, const struct sockaddr *, socklen_t); | ^ (From OE-Core rev: 77c02f815103733bcfbde3adec3784e456de42d4) Signed-off-by: Khem Raj Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- ...connect-has-a-different-signature-on-musl.patch | 38 ++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 meta/recipes-multimedia/gstreamer/files/0001-connect-has-a-different-signature-on-musl.patch (limited to 'meta/recipes-multimedia/gstreamer/files') diff --git a/meta/recipes-multimedia/gstreamer/files/0001-connect-has-a-different-signature-on-musl.patch b/meta/recipes-multimedia/gstreamer/files/0001-connect-has-a-different-signature-on-musl.patch new file mode 100644 index 0000000000..a0d215c5a0 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/files/0001-connect-has-a-different-signature-on-musl.patch @@ -0,0 +1,38 @@ +From 0bd8004d8dddc486d3961a5316d24e8f2645e4c8 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 9 Sep 2018 17:38:10 -0700 +Subject: [PATCH] connect has a different signature on musl + +On linux when not using glibc and using musl for C library, connect +API has a different signature, this patch fixes this so it can compile +on musl, the functionality should remain same as it is immediately +typcasted to struct sockaddr_in* type inside the function before use + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + plugins/fault_injection/socket_interposer.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/plugins/fault_injection/socket_interposer.c b/plugins/fault_injection/socket_interposer.c +index 53c1ebb..ad7adf8 100644 +--- a/plugins/fault_injection/socket_interposer.c ++++ b/plugins/fault_injection/socket_interposer.c +@@ -100,10 +100,15 @@ socket_interposer_set_callback (struct sockaddr_in *addrin, + } + + int +-connect (int socket, const struct sockaddr_in *addrin, socklen_t address_len) ++#if defined(__linux__) && !defined(__GLIBC__) ++connect (int socket, const struct sockaddr *addr, socklen_t address_len) ++#else ++connect (int socket, const struct sockaddr_in *addr, socklen_t address_len) ++#endif + { + size_t i; + int override_errno = 0; ++ struct sockaddr_in* addrin = (struct sockaddr_in*)addr; + typedef ssize_t (*real_connect_fn) (int, const struct sockaddr_in *, + socklen_t); + static real_connect_fn real_connect = 0; -- cgit v1.2.3-54-g00ecf