summaryrefslogtreecommitdiffstats
path: root/package/poco/0001-GNU-version-of-strerror_r-not-available-on-musl.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/poco/0001-GNU-version-of-strerror_r-not-available-on-musl.patch')
-rw-r--r--package/poco/0001-GNU-version-of-strerror_r-not-available-on-musl.patch33
1 files changed, 33 insertions, 0 deletions
diff --git a/package/poco/0001-GNU-version-of-strerror_r-not-available-on-musl.patch b/package/poco/0001-GNU-version-of-strerror_r-not-available-on-musl.patch
new file mode 100644
index 0000000000..c2f297f0ff
--- /dev/null
+++ b/package/poco/0001-GNU-version-of-strerror_r-not-available-on-musl.patch
@@ -0,0 +1,33 @@
+From 30159aea4b3f6421da9d74a8bf22aad6d3bf26b4 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?J=C3=B6rg=20Krause?= <joerg.krause@embedded.rocks>
+Date: Mon, 4 Apr 2016 20:48:43 +0200
+Subject: [PATCH] GNU version of strerror_r not available on musl
+
+The GNU version of glibc' `strerror_r` is non-portable.
+
+When the POSIX and GNU API collides musl always provides the POSIX API. That
+being the case for `strerror_r` musl does only support the POSIX version,
+despite of `_GNU_SOURCE`.
+
+[Upstream commit: https://github.com/pocoproject/poco/commit/30159aea4b3f6421da9d74a8bf22aad6d3bf26b4]
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ Foundation/src/Error.cpp | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/Foundation/src/Error.cpp b/Foundation/src/Error.cpp
+index 6a8afb705f..00991fc0be 100644
+--- a/Foundation/src/Error.cpp
++++ b/Foundation/src/Error.cpp
+@@ -69,7 +69,10 @@ namespace Poco {
+ without -D_GNU_SOURCE is needed, otherwise the GNU version is
+ preferred.
+ */
+-#if defined _GNU_SOURCE && !POCO_ANDROID
++ /* The GNU version of strerror_r is non-portable and not
++ available on the musl C library.
++ */
++#if (defined __GLIBC__ || defined __UCLIBC__) && defined _GNU_SOURCE && !POCO_ANDROID
+ char errmsg[256] = "";
+ return std::string(strerror_r(errorCode, errmsg, 256));
+ #elif (_XOPEN_SOURCE >= 600) || POCO_ANDROID
OpenPOWER on IntegriCloud