summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2022-11-18 17:59:02 +0000
committerSam James <sam@gentoo.org>2022-11-18 17:59:02 +0000
commit39e348fad976c54d3980c2149de6365e8d035a4d (patch)
tree6da934eda7ad6043ed5c60126a9f25c4253091d0 /sys-fs/lvm2/files
parentdev-java/openjdk: update metadata (diff)
downloadgentoo-39e348fad976c54d3980c2149de6365e8d035a4d.tar.gz
gentoo-39e348fad976c54d3980c2149de6365e8d035a4d.tar.bz2
gentoo-39e348fad976c54d3980c2149de6365e8d035a4d.zip
sys-fs/lvm2: fix strerror_r check for musl
Closes: https://bugs.gentoo.org/869404 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'sys-fs/lvm2/files')
-rw-r--r--sys-fs/lvm2/files/lvm2-2.03.16-musl-strerror_r.patch23
1 files changed, 23 insertions, 0 deletions
diff --git a/sys-fs/lvm2/files/lvm2-2.03.16-musl-strerror_r.patch b/sys-fs/lvm2/files/lvm2-2.03.16-musl-strerror_r.patch
new file mode 100644
index 000000000000..d485e75ca811
--- /dev/null
+++ b/sys-fs/lvm2/files/lvm2-2.03.16-musl-strerror_r.patch
@@ -0,0 +1,23 @@
+From a06e401bd0479f25631bdfeffaa01d150e5efe59 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Fri, 18 Nov 2022 17:57:34 +0000
+Subject: [PATCH] Fix strerror_r check for musl
+
+We can't assume that strerror_r returns char* just because _GNU_SOURCE is defined. We already call the appropriate autoconf test, so let's use its result
+(STRERROR_R_CHAR_P).
+
+Note that in configure, _GNU_SOURCE is always set, but we add a defined guard just in case for futureproofing.
+
+Bug: https://bugs.gentoo.org/869404
+Signed-off-by: Sam James <sam@gentoo.org>
+--- a/daemons/lvmpolld/lvmpolld-core.c
++++ b/daemons/lvmpolld/lvmpolld-core.c
+@@ -52,7 +52,7 @@ static pthread_key_t key;
+
+ static const char *_strerror_r(int errnum, struct lvmpolld_thread_data *data)
+ {
+-#ifdef _GNU_SOURCE
++#if defined(_GNU_SOURCE) && defined(STRERROR_R_CHAR_P)
+ return strerror_r(errnum, data->buf, sizeof(data->buf)); /* never returns NULL */
+ #elif (_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600)
+ return strerror_r(errnum, data->buf, sizeof(data->buf)) ? "" : data->buf;