Merge with git+ssh://master.kernel.org/pub/scm/libs/klibc/klibc.git
diff --git a/usr/include/arch/s390x/klibc/archstat.h b/usr/include/arch/s390x/klibc/archstat.h
index d74167d..1319e6b 100644
--- a/usr/include/arch/s390x/klibc/archstat.h
+++ b/usr/include/arch/s390x/klibc/archstat.h
@@ -7,7 +7,6 @@
struct stat {
__stdev64 (st_dev);
- unsigned long st_dev;
unsigned long st_ino;
unsigned long st_nlink;
unsigned int st_mode;
diff --git a/usr/kinit/initrd.c b/usr/kinit/initrd.c
index 233549c..cfa059d 100644
--- a/usr/kinit/initrd.c
+++ b/usr/kinit/initrd.c
@@ -117,7 +117,7 @@
chroot(".") )
return -errno;
- pid = vfork();
+ pid = fork();
if ( pid == 0 ) {
setsid();
/* Looks like linuxrc doesn't get the init environment
diff --git a/usr/klibc/arch/s390/syscall.c b/usr/klibc/arch/s390/syscall.c
index 0d6b27e..60fab13 100644
--- a/usr/klibc/arch/s390/syscall.c
+++ b/usr/klibc/arch/s390/syscall.c
@@ -7,9 +7,9 @@
*/
#include <errno.h>
-long int __syscall_common(long int err)
+unsigned long __syscall_common(unsigned long)
{
- if ((unsigned long)(err) < (unsigned long)(-125))
+ if (err < -4095UL)
return err;
errno = -err;
return -1;
diff --git a/usr/klibc/arch/s390x/syscall.c b/usr/klibc/arch/s390x/syscall.c
index c0f17c4..3a7dd77 100644
--- a/usr/klibc/arch/s390x/syscall.c
+++ b/usr/klibc/arch/s390x/syscall.c
@@ -1,5 +1,5 @@
/*
- * arch/s390/syscall.c
+ * arch/s390x/syscall.c
*
* Common error-handling path for system calls.
* The return value from __syscall_common becomes the
@@ -7,10 +7,10 @@
*/
#include <errno.h>
-long int __syscall_common(long int err)
+unsigned long __syscall_common(unsigned long err)
{
- if ((unsigned long)(err) < (unsigned long)(-125))
+ if (err < -4095UL)
return err;
- errno = err;
+ errno = -err;
return -1;
}