aos_strsignal: Update to work w/ JP5 version of glibc
This add compile time flags to stop attempting to compile w/ the
sys_siglist array which has been depricated in glibc2.32
Change-Id: I1a6d456c7565bfa622aeaadf77761660af195b2b
Signed-off-by: Austin Schuh <austin.schuh@bluerivertech.com>
diff --git a/aos/libc/aos_strsignal.cc b/aos/libc/aos_strsignal.cc
index 0f9b065..cf1aad1 100644
--- a/aos/libc/aos_strsignal.cc
+++ b/aos/libc/aos_strsignal.cc
@@ -15,9 +15,23 @@
return buffer;
}
+// sys_strsignal depricated in glibc2.32
+#ifdef __GLIBC__
+ #if __GLIBC_PREREQ(2, 32)
+ if (signal > 0 && signal < NSIG && sigdescr_np(signal) != nullptr) {
+ return sigdescr_np(signal);
+ }
+ #else
if (signal > 0 && signal < NSIG && sys_siglist[signal] != nullptr) {
return sys_siglist[signal];
}
+ #endif
+// If not using GLIBC assume we can use sys_siglist
+#else
+ if (signal > 0 && signal < NSIG && sys_siglist[signal] != nullptr) {
+ return sys_siglist[signal];
+ }
+#endif
CHECK_GT(snprintf(buffer, sizeof(buffer), "Unknown signal %d", signal), 0);
return buffer;