[PATCH] tools/sd-notify.h: Include string.h too

Andrew Cooper posted 1 patch 5 days, 7 hours ago
tools/include/xen-sd-notify.h | 1 +
1 file changed, 1 insertion(+)
[PATCH] tools/sd-notify.h: Include string.h too
Posted by Andrew Cooper 5 days, 7 hours ago
Alpine Linux, when using --enable-systemd to get the init files, fails with:

  tools/include/xen-sd-notify.h:69:3: error: call to undeclared library
  function 'memcpy' with type 'void *(void *, const void *, unsigned long)';
  ISO C99 and later do not support implicit function declarations
  [-Wimplicit-function-declaration]
     69 |   memcpy(socket_addr.sun.sun_path, socket_path, path_length);
        |   ^

This will be down to using musl rather than glibc.  Include the appropriate
header.

Fixes: 78510f3a1522 ("tools: Import stand-alone sd_notify() implementation from systemd")
Reported-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Anthony PERARD <anthony.perard@vates.tech>
CC: Michal Orzel <michal.orzel@amd.com>
CC: Jan Beulich <jbeulich@suse.com>
CC: Julien Grall <julien@xen.org>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>

Example failure:
  https://gitlab.com/xen-project/people/marmarek/xen/-/jobs/12336994239
---
 tools/include/xen-sd-notify.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tools/include/xen-sd-notify.h b/tools/include/xen-sd-notify.h
index 28c9b20f152d..20441d0ec9b8 100644
--- a/tools/include/xen-sd-notify.h
+++ b/tools/include/xen-sd-notify.h
@@ -20,6 +20,7 @@
 #include <errno.h>
 #include <stddef.h>
 #include <stdlib.h>
+#include <string.h>
 #include <sys/socket.h>
 #include <sys/un.h>
 #include <unistd.h>

base-commit: d430c0a66e102fb12baeec6a178c20da7864d5b5
prerequisite-patch-id: 3db642dd7c06f6988283444c764cd646982775bb
-- 
2.39.5


Re: [PATCH] tools/sd-notify.h: Include string.h too
Posted by Anthony PERARD 14 hours ago
On Fri, Dec 05, 2025 at 10:00:12PM +0000, Andrew Cooper wrote:
> Alpine Linux, when using --enable-systemd to get the init files, fails with:
> 
>   tools/include/xen-sd-notify.h:69:3: error: call to undeclared library
>   function 'memcpy' with type 'void *(void *, const void *, unsigned long)';
>   ISO C99 and later do not support implicit function declarations
>   [-Wimplicit-function-declaration]
>      69 |   memcpy(socket_addr.sun.sun_path, socket_path, path_length);
>         |   ^
> 
> This will be down to using musl rather than glibc.  Include the appropriate
> header.
> 
> Fixes: 78510f3a1522 ("tools: Import stand-alone sd_notify() implementation from systemd")
> Reported-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Acked-by: Anthony PERARD <anthony.perard@vates.tech>

Thanks,

-- 
Anthony PERARD
Re: [PATCH] tools/sd-notify.h: Include string.h too
Posted by Marek Marczykowski-Górecki 5 days, 2 hours ago
On Fri, Dec 05, 2025 at 10:00:12PM +0000, Andrew Cooper wrote:
> Alpine Linux, when using --enable-systemd to get the init files, fails with:
> 
>   tools/include/xen-sd-notify.h:69:3: error: call to undeclared library
>   function 'memcpy' with type 'void *(void *, const void *, unsigned long)';
>   ISO C99 and later do not support implicit function declarations
>   [-Wimplicit-function-declaration]
>      69 |   memcpy(socket_addr.sun.sun_path, socket_path, path_length);
>         |   ^
> 
> This will be down to using musl rather than glibc.  Include the appropriate
> header.
> 
> Fixes: 78510f3a1522 ("tools: Import stand-alone sd_notify() implementation from systemd")
> Reported-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>

And also, this works:
https://gitlab.com/xen-project/people/marmarek/xen/-/pipelines/2199305972

> ---
> CC: Anthony PERARD <anthony.perard@vates.tech>
> CC: Michal Orzel <michal.orzel@amd.com>
> CC: Jan Beulich <jbeulich@suse.com>
> CC: Julien Grall <julien@xen.org>
> CC: Roger Pau Monné <roger.pau@citrix.com>
> CC: Stefano Stabellini <sstabellini@kernel.org>
> CC: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
> 
> Example failure:
>   https://gitlab.com/xen-project/people/marmarek/xen/-/jobs/12336994239
> ---
>  tools/include/xen-sd-notify.h | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/tools/include/xen-sd-notify.h b/tools/include/xen-sd-notify.h
> index 28c9b20f152d..20441d0ec9b8 100644
> --- a/tools/include/xen-sd-notify.h
> +++ b/tools/include/xen-sd-notify.h
> @@ -20,6 +20,7 @@
>  #include <errno.h>
>  #include <stddef.h>
>  #include <stdlib.h>
> +#include <string.h>
>  #include <sys/socket.h>
>  #include <sys/un.h>
>  #include <unistd.h>
> 
> base-commit: d430c0a66e102fb12baeec6a178c20da7864d5b5
> prerequisite-patch-id: 3db642dd7c06f6988283444c764cd646982775bb
> -- 
> 2.39.5
> 

-- 
Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab