Clean up sys_signame and sys_siglist a little.
We don't need quite so much duplication because we already have a way
to get the signal number from its name, and that already copes with the
fact that the mips/mips64 numbers are different from everyone else's.
Also remove sys_signame from LP64. glibc doesn't have this BSD-ism.
Change-Id: I6dc411a3d73589383c85d3b07d9d648311492a10
diff --git a/libc/bionic/strerror_r.cpp b/libc/bionic/strerror_r.cpp
index 81120ec..5f2d362 100644
--- a/libc/bionic/strerror_r.cpp
+++ b/libc/bionic/strerror_r.cpp
@@ -34,7 +34,7 @@
}
static const Pair _sys_signal_strings[] = {
-#define __BIONIC_SIGDEF(x,y,z) { y, z },
+#define __BIONIC_SIGDEF(signal_number, signal_description) { signal_number, signal_description },
#include <sys/_sigdefs.h>
{ 0, NULL }
};
diff --git a/libc/bionic/siglist.c b/libc/bionic/sys_siglist.c
similarity index 91%
rename from libc/bionic/siglist.c
rename to libc/bionic/sys_siglist.c
index f1c3377..3cfddbf 100644
--- a/libc/bionic/siglist.c
+++ b/libc/bionic/sys_siglist.c
@@ -25,9 +25,10 @@
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
+
#include <signal.h>
-const char * const sys_siglist[NSIG] = {
-#define __BIONIC_SIGDEF(x,y,z) [ SIG##x ] = z,
+const char* const sys_siglist[NSIG] = {
+#define __BIONIC_SIGDEF(signal_number, signal_description) [ signal_number ] = signal_description,
#include <sys/_sigdefs.h>
};
diff --git a/libc/bionic/signame.c b/libc/bionic/sys_signame.c
similarity index 89%
rename from libc/bionic/signame.c
rename to libc/bionic/sys_signame.c
index 4611e44..41d34af 100644
--- a/libc/bionic/signame.c
+++ b/libc/bionic/sys_signame.c
@@ -25,9 +25,14 @@
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
+
#include <signal.h>
-const char * const sys_signame[NSIG] = {
-#define __BIONIC_SIGDEF(x,y,z) [ SIG##x ] = #x,
+#if !defined(__LP64__)
+
+const char* const sys_signame[NSIG] = {
+#define __BIONIC_SIGDEF(signal_number, unused) [ signal_number ] = #signal_number + 3,
#include <sys/_sigdefs.h>
};
+
+#endif