Actually make the weird alpha syscalls to work...

diff --git a/idtest.c b/idtest.c
new file mode 100644
index 0000000..c3c4447
--- /dev/null
+++ b/idtest.c
@@ -0,0 +1,14 @@
+#include <stdio.h>
+#include <unistd.h>
+
+int main(void)
+{
+	printf("pid   = %u\n", getpid());
+	printf("ppid  = %u\n", getppid());
+	printf("uid   = %u\n", getuid());
+	printf("euid  = %u\n", geteuid());
+	printf("gid   = %u\n", getgid());
+	printf("egid  = %u\n", getegid());
+	sleep(10);
+	return 0;
+}
diff --git a/klibc/idtest.c b/klibc/idtest.c
new file mode 100644
index 0000000..c3c4447
--- /dev/null
+++ b/klibc/idtest.c
@@ -0,0 +1,14 @@
+#include <stdio.h>
+#include <unistd.h>
+
+int main(void)
+{
+	printf("pid   = %u\n", getpid());
+	printf("ppid  = %u\n", getppid());
+	printf("uid   = %u\n", getuid());
+	printf("euid  = %u\n", geteuid());
+	printf("gid   = %u\n", getgid());
+	printf("egid  = %u\n", getegid());
+	sleep(10);
+	return 0;
+}
diff --git a/klibc/syscalls.pl b/klibc/syscalls.pl
index 3fd2b3c..1b9ca13 100644
--- a/klibc/syscalls.pl
+++ b/klibc/syscalls.pl
@@ -5,7 +5,7 @@
     chomp $line;
     $line =~ s/\s*\#.*$//;	# Strip comments and trailing blanks
 
-    if ( $line =~ /^\s*(\<[^\>]+\>\s+|)([^\(\<\>]+[^:A-Za-z0-9_])([A-Za-z0-9_]+)(|\@[A-Za-z0-9_]+)(|\:\:[A-Za-z0-9_]+)\s*\(([^\:\)]*)\)\s*$/ ) {
+    if ( $line =~ /^\s*(\<[^\>]+\>\s+|)([^\(\<\>]+[^\@\:A-Za-z0-9_])([A-Za-z0-9_]+)(|\@[A-Za-z0-9_]+)(|\:\:[A-Za-z0-9_]+)\s*\(([^\:\)]*)\)\s*$/ ) {
 	$archs = $1;
 	$type  = $2;
 	$sname = $3;
diff --git a/syscalls.pl b/syscalls.pl
index 3fd2b3c..1b9ca13 100644
--- a/syscalls.pl
+++ b/syscalls.pl
@@ -5,7 +5,7 @@
     chomp $line;
     $line =~ s/\s*\#.*$//;	# Strip comments and trailing blanks
 
-    if ( $line =~ /^\s*(\<[^\>]+\>\s+|)([^\(\<\>]+[^:A-Za-z0-9_])([A-Za-z0-9_]+)(|\@[A-Za-z0-9_]+)(|\:\:[A-Za-z0-9_]+)\s*\(([^\:\)]*)\)\s*$/ ) {
+    if ( $line =~ /^\s*(\<[^\>]+\>\s+|)([^\(\<\>]+[^\@\:A-Za-z0-9_])([A-Za-z0-9_]+)(|\@[A-Za-z0-9_]+)(|\:\:[A-Za-z0-9_]+)\s*\(([^\:\)]*)\)\s*$/ ) {
 	$archs = $1;
 	$type  = $2;
 	$sname = $3;