zte's code,first commit

Change-Id: I9a04da59e459a9bc0d67f101f700d9d7dc8d681b
diff --git a/ap/build/uClibc/libc/string/psignal.c b/ap/build/uClibc/libc/string/psignal.c
new file mode 100644
index 0000000..3e1f68b
--- /dev/null
+++ b/ap/build/uClibc/libc/string/psignal.c
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2002     Manuel Novoa III
+ * Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+ *
+ * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+ */
+
+#include <features.h>
+#include <stdio.h>
+#include <string.h>
+#include <signal.h>
+
+
+/* TODO: make this threadsafe with a reentrant version of strsignal? */
+
+void psignal(int signum, register const char *message)
+{
+	/* If the program is calling psignal, it's a safe bet that printf and
+	 * friends are used as well.  It is also possible that the calling
+	 * program could buffer stderr, or reassign it. */
+
+	register const char *sep;
+
+	sep = ": ";
+	if (!(message && *message)) { /* Caller did not supply a prefix message */
+		message = (sep += 2);	/* or passed an empty string. */
+	}
+
+	fprintf(stderr, "%s%s%s\n", message, sep, strsignal(signum));
+}