diff --git a/libc/Android.mk b/libc/Android.mk
index b68d4f8..506dac5 100644
--- a/libc/Android.mk
+++ b/libc/Android.mk
@@ -52,6 +52,7 @@
 	unistd/siginterrupt.c \
 	unistd/siglist.c \
 	unistd/signal.c \
+	unistd/signame.c \
 	unistd/sigsetmask.c \
 	unistd/sigsuspend.c \
 	unistd/sigwait.c \
diff --git a/libc/include/sys/_sigdefs.h b/libc/include/sys/_sigdefs.h
index a3cb7a3..6822c25 100644
--- a/libc/include/sys/_sigdefs.h
+++ b/libc/include/sys/_sigdefs.h
@@ -25,41 +25,46 @@
  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  */
-/* this header is used to define signal constants and names; it might be included several times */
+
+/*
+ * this header is used to define signal constants and names;
+ * it might be included several times
+ */
+
 #ifndef __BIONIC_SIGDEF
 #error __BIONIC_SIGDEF not defined
 #endif
 
-__BIONIC_SIGDEF(SIGHUP,1,"Hangup")
-__BIONIC_SIGDEF(SIGINT,2,"Interrupt")
-__BIONIC_SIGDEF(SIGQUIT,3,"Quit")
-__BIONIC_SIGDEF(SIGILL,4,"Illegal instruction")
-__BIONIC_SIGDEF(SIGTRAP,5,"Trap")
-__BIONIC_SIGDEF(SIGABRT,6,"Aborted")
-__BIONIC_SIGDEF(SIGBUS,7,"Bus error")
-__BIONIC_SIGDEF(SIGFPE,8,"Floating point exception")
-__BIONIC_SIGDEF(SIGKILL,9,"Killed")
-__BIONIC_SIGDEF(SIGUSR1,10,"User signal 1")
-__BIONIC_SIGDEF(SIGSEGV,11,"Segmentation fault")
-__BIONIC_SIGDEF(SIGUSR2,12,"User signal 2")
-__BIONIC_SIGDEF(SIGPIPE,13,"Broken pipe")
-__BIONIC_SIGDEF(SIGALRM,14,"Alarm clock")
-__BIONIC_SIGDEF(SIGTERM,15,"Terminated")
-__BIONIC_SIGDEF(SIGSTKFLT,16,"Stack fault")
-__BIONIC_SIGDEF(SIGCHLD,17,"Child exited")
-__BIONIC_SIGDEF(SIGCONT,18,"Continue")
-__BIONIC_SIGDEF(SIGSTOP,19,"Stopped (signal)")
-__BIONIC_SIGDEF(SIGTSTP,20,"Stopped")
-__BIONIC_SIGDEF(SIGTTIN,21,"Stopped (tty input)")
-__BIONIC_SIGDEF(SIGTTOU,22,"Stopper (tty output)")
-__BIONIC_SIGDEF(SIGURG,23,"Urgent I/O condition")
-__BIONIC_SIGDEF(SIGXCPU,24,"CPU time limit exceeded")
-__BIONIC_SIGDEF(SIGXFSZ,25,"File size limit exceeded")
-__BIONIC_SIGDEF(SIGVTALRM,26,"Virtual timer expired")
-__BIONIC_SIGDEF(SIGPROF,27,"Profiling timer expired")
-__BIONIC_SIGDEF(SIGWINCH,28,"Window size changed")
-__BIONIC_SIGDEF(SIGIO,29,"I/O possible")
-__BIONIC_SIGDEF(SIGPWR,30,"Power failure")
-__BIONIC_SIGDEF(SIGSYS,31,"Bad system call")
+__BIONIC_SIGDEF(HUP,1,"Hangup")
+__BIONIC_SIGDEF(INT,2,"Interrupt")
+__BIONIC_SIGDEF(QUIT,3,"Quit")
+__BIONIC_SIGDEF(ILL,4,"Illegal instruction")
+__BIONIC_SIGDEF(TRAP,5,"Trap")
+__BIONIC_SIGDEF(ABRT,6,"Aborted")
+__BIONIC_SIGDEF(BUS,7,"Bus error")
+__BIONIC_SIGDEF(FPE,8,"Floating point exception")
+__BIONIC_SIGDEF(KILL,9,"Killed")
+__BIONIC_SIGDEF(USR1,10,"User signal 1")
+__BIONIC_SIGDEF(SEGV,11,"Segmentation fault")
+__BIONIC_SIGDEF(USR2,12,"User signal 2")
+__BIONIC_SIGDEF(PIPE,13,"Broken pipe")
+__BIONIC_SIGDEF(ALRM,14,"Alarm clock")
+__BIONIC_SIGDEF(TERM,15,"Terminated")
+__BIONIC_SIGDEF(STKFLT,16,"Stack fault")
+__BIONIC_SIGDEF(CHLD,17,"Child exited")
+__BIONIC_SIGDEF(CONT,18,"Continue")
+__BIONIC_SIGDEF(STOP,19,"Stopped (signal)")
+__BIONIC_SIGDEF(TSTP,20,"Stopped")
+__BIONIC_SIGDEF(TTIN,21,"Stopped (tty input)")
+__BIONIC_SIGDEF(TTOU,22,"Stopper (tty output)")
+__BIONIC_SIGDEF(URG,23,"Urgent I/O condition")
+__BIONIC_SIGDEF(XCPU,24,"CPU time limit exceeded")
+__BIONIC_SIGDEF(XFSZ,25,"File size limit exceeded")
+__BIONIC_SIGDEF(VTALRM,26,"Virtual timer expired")
+__BIONIC_SIGDEF(PROF,27,"Profiling timer expired")
+__BIONIC_SIGDEF(WINCH,28,"Window size changed")
+__BIONIC_SIGDEF(IO,29,"I/O possible")
+__BIONIC_SIGDEF(PWR,30,"Power failure")
+__BIONIC_SIGDEF(SYS,31,"Bad system call")
 
 #undef __BIONIC_SIGDEF
diff --git a/libc/unistd/siglist.c b/libc/unistd/siglist.c
index a2ac9fe..f1c3377 100644
--- a/libc/unistd/siglist.c
+++ b/libc/unistd/siglist.c
@@ -28,6 +28,6 @@
 #include <signal.h>
 
 const char * const sys_siglist[NSIG] = {
-#define  __BIONIC_SIGDEF(x,y,z)   [ x ] = z,
+#define  __BIONIC_SIGDEF(x,y,z)   [ SIG##x ] = z,
 #include <sys/_sigdefs.h>
 };
diff --git a/libc/unistd/signame.c b/libc/unistd/signame.c
new file mode 100644
index 0000000..4611e44
--- /dev/null
+++ b/libc/unistd/signame.c
@@ -0,0 +1,33 @@
+/*
+ * Copyright (C) 2009 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * 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,
+#include <sys/_sigdefs.h>
+};
