30 lines
824 B
Diff
30 lines
824 B
Diff
--- a/libdw/libdw_alloc.c
|
|
+++ b/libdw/libdw_alloc.c
|
|
@@ -152,5 +152,5 @@ __attribute ((noreturn)) attribute_hidde
|
|
__libdw_oom (void)
|
|
{
|
|
while (1)
|
|
- error (EXIT_FAILURE, ENOMEM, "libdw");
|
|
+ error (EXIT_FAILURE, errno, gettext ("cannot allocate memory"));
|
|
}
|
|
--- a/libdwfl/dwfl_error.c
|
|
+++ b/libdwfl/dwfl_error.c
|
|
@@ -139,6 +139,7 @@ __libdwfl_seterrno (Dwfl_Error error)
|
|
static const char *
|
|
errnomsg(int error)
|
|
{
|
|
+#if defined(__GLIBC__) && !defined(__UCLIBC__)
|
|
/* Won't be changed by strerror_r, but not const so compiler doesn't throw warning */
|
|
static char unknown[] = "unknown error";
|
|
|
|
@@ -149,6 +150,9 @@ errnomsg(int error)
|
|
static __thread char msg[128];
|
|
return strerror_r (error, msg, sizeof (msg)) ? unknown : msg;
|
|
#endif
|
|
+#else
|
|
+ return strerror (error & 0xffff);
|
|
+#endif
|
|
}
|
|
|
|
const char *
|