summaryrefslogtreecommitdiff
path: root/experimental/elfutils/musl-strerror_r.patch
diff options
context:
space:
mode:
Diffstat (limited to 'experimental/elfutils/musl-strerror_r.patch')
-rw-r--r--experimental/elfutils/musl-strerror_r.patch19
1 files changed, 19 insertions, 0 deletions
diff --git a/experimental/elfutils/musl-strerror_r.patch b/experimental/elfutils/musl-strerror_r.patch
new file mode 100644
index 000000000..72977951d
--- /dev/null
+++ b/experimental/elfutils/musl-strerror_r.patch
@@ -0,0 +1,19 @@
+--- a/libdwfl/dwfl_error.c 2015-09-29 17:18:51.000000000 +0200
++++ b/libdwfl/dwfl_error.c 2015-11-20 05:11:29.889002058 +0100
+@@ -154,7 +154,16 @@
+ switch (error &~ 0xffff)
+ {
+ case OTHER_ERROR (ERRNO):
++#if defined(__GLIBC__)
+ return strerror_r (error & 0xffff, "bad", 0);
++#else
++ {
++ static __thread char buf[128] = "";
++ if (0 == strerror_r(error & 0xffff, buf, sizeof(buf)))
++ return buf;
++ }
++ return "strerror_r() failed";
++#endif
+ case OTHER_ERROR (LIBELF):
+ return elf_errmsg (error & 0xffff);
+ case OTHER_ERROR (LIBDW):