summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/syscalls.s
diff options
context:
space:
mode:
Diffstat (limited to 'mdk-stage1/dietlibc/syscalls.s')
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/__pread.S2
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/__pwrite.S (renamed from mdk-stage1/dietlibc/syscalls.s/pwrite.S)0
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/_llseek.S4
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/adjtimex.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/alarm.S4
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/bdflush.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/chown32.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/create_module.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/delete_module.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/environ.S16
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/epoll_create.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/epoll_ctl.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/epoll_wait.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/errlist.S293
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/errno.S8
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/exit.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/fchown32.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/fdatasync.S6
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/fstat64.S2
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/ftruncate64.S10
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getdents64.S1
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getegid32.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/geteuid32.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getgid32.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getgroups32.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getresgid32.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getresuid.S4
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getuid32.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/init_module.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/ioperm.S2
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/ipc.S2
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/lchown32.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/llseek.S6
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/lstat64.S2
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/madvise.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/mlock.S (renamed from mdk-stage1/dietlibc/syscalls.s/signal.S)2
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/mmap2.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/msync.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/munlock.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/n_sigaction.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/n_sigpending.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/n_sigprocmask.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/n_sigsuspend.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/nice.S2
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/pause.S2
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/pivot_root.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/prctl.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/ptrace.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/ptrace.s3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/rt_sigaction.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/rt_sigpending.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/rt_sigprocmask.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/rt_sigqueueinfo.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/rt_sigsuspend.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/rt_sigtimedwait.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sendfile.S2
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sendfile64.S8
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setfsgid.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setfsgid32.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setfsuid.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setfsuid32.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setgid32.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setregid32.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setresgid.S4
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setresgid32.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setresuid.S4
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setreuid32.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/settimeofday.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setuid32.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sigaction.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sigpending.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sigprocmask.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sigsuspend.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/socketcall.S2
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/stat64.S2
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/stime.S2
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/syslog.S2
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/time.S2
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/truncate64.S10
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/umount2.S2
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/waitpid.S2
81 files changed, 584 insertions, 34 deletions
diff --git a/mdk-stage1/dietlibc/syscalls.s/__pread.S b/mdk-stage1/dietlibc/syscalls.s/__pread.S
index ad47c7873..ae2068352 100644
--- a/mdk-stage1/dietlibc/syscalls.s/__pread.S
+++ b/mdk-stage1/dietlibc/syscalls.s/__pread.S
@@ -1,3 +1,3 @@
#include "syscalls.h"
-syscall_weak(pread,__pread,__libc__pread)
+syscall(pread,__pread)
diff --git a/mdk-stage1/dietlibc/syscalls.s/pwrite.S b/mdk-stage1/dietlibc/syscalls.s/__pwrite.S
index f52ead7b2..f52ead7b2 100644
--- a/mdk-stage1/dietlibc/syscalls.s/pwrite.S
+++ b/mdk-stage1/dietlibc/syscalls.s/__pwrite.S
diff --git a/mdk-stage1/dietlibc/syscalls.s/_llseek.S b/mdk-stage1/dietlibc/syscalls.s/_llseek.S
index 3e240d822..68d021168 100644
--- a/mdk-stage1/dietlibc/syscalls.s/_llseek.S
+++ b/mdk-stage1/dietlibc/syscalls.s/_llseek.S
@@ -1,3 +1,7 @@
#include "syscalls.h"
+#ifdef __NR__llseek
+.global llseek
+llseek:
syscall(_llseek,_llseek)
+#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/adjtimex.S b/mdk-stage1/dietlibc/syscalls.s/adjtimex.S
new file mode 100644
index 000000000..190ebcd7e
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/adjtimex.S
@@ -0,0 +1,3 @@
+#include "syscalls.h"
+
+syscall(adjtimex,adjtimex)
diff --git a/mdk-stage1/dietlibc/syscalls.s/alarm.S b/mdk-stage1/dietlibc/syscalls.s/alarm.S
new file mode 100644
index 000000000..b1b0d3e49
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/alarm.S
@@ -0,0 +1,4 @@
+#include "syscalls.h"
+#ifdef __NR_alarm
+syscall(alarm,alarm)
+#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/bdflush.S b/mdk-stage1/dietlibc/syscalls.s/bdflush.S
new file mode 100644
index 000000000..b7788baef
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/bdflush.S
@@ -0,0 +1,5 @@
+#include "syscalls.h"
+
+#ifdef __NR_bdflush
+syscall(bdflush,bdflush)
+#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/chown32.S b/mdk-stage1/dietlibc/syscalls.s/chown32.S
new file mode 100644
index 000000000..98d68f980
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/chown32.S
@@ -0,0 +1,5 @@
+#include "syscalls.h"
+
+#ifdef __NR_chown32
+syscall_weak(chown32,chown32,__libc_chown32)
+#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/create_module.S b/mdk-stage1/dietlibc/syscalls.s/create_module.S
new file mode 100644
index 000000000..f2da644ad
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/create_module.S
@@ -0,0 +1,5 @@
+#include "syscalls.h"
+
+#ifdef __NR_create_module
+syscall(create_module,create_module)
+#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/delete_module.S b/mdk-stage1/dietlibc/syscalls.s/delete_module.S
new file mode 100644
index 000000000..d0919b6be
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/delete_module.S
@@ -0,0 +1,5 @@
+#include "syscalls.h"
+
+#ifdef __NR_delete_module
+syscall(delete_module,delete_module)
+#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/environ.S b/mdk-stage1/dietlibc/syscalls.s/environ.S
new file mode 100644
index 000000000..eb3ff0b94
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/environ.S
@@ -0,0 +1,16 @@
+.section ".bss"
+.align 8
+
+.type environ,object
+.weak environ
+.type __environ,object
+.weak __environ
+__environ:
+environ:
+#if __WORDSIZE == 64
+ .quad 0
+#else
+ .long 0
+#endif
+.size environ,.-environ
+.size __environ,.-__environ
diff --git a/mdk-stage1/dietlibc/syscalls.s/epoll_create.S b/mdk-stage1/dietlibc/syscalls.s/epoll_create.S
new file mode 100644
index 000000000..09bb50209
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/epoll_create.S
@@ -0,0 +1,5 @@
+#include "syscalls.h"
+
+#ifdef __NR_sys_epoll_create
+syscall(sys_epoll_create,epoll_create)
+#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/epoll_ctl.S b/mdk-stage1/dietlibc/syscalls.s/epoll_ctl.S
new file mode 100644
index 000000000..4587f59de
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/epoll_ctl.S
@@ -0,0 +1,5 @@
+#include "syscalls.h"
+
+#ifdef __NR_sys_epoll_ctl
+syscall(sys_epoll_ctl,epoll_ctl)
+#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/epoll_wait.S b/mdk-stage1/dietlibc/syscalls.s/epoll_wait.S
new file mode 100644
index 000000000..dab5a58b7
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/epoll_wait.S
@@ -0,0 +1,5 @@
+#include "syscalls.h"
+
+#ifdef __NR_sys_epoll_wait
+syscall(sys_epoll_wait,epoll_wait)
+#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/errlist.S b/mdk-stage1/dietlibc/syscalls.s/errlist.S
new file mode 100644
index 000000000..c06d3d3ac
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/errlist.S
@@ -0,0 +1,293 @@
+#include <endian.h>
+
+#
+# My gcc tries to align some of the strings if written the code in C. This costs a lot of bytes.
+#
+
+#ifdef __DYN_LIB
+.section .data
+#else
+.section .rodata
+#endif
+
+.align 4
+.global sys_errlist
+#ifdef __arm__
+.type sys_errlist,object
+.type sys_nerr,object
+#else
+.type sys_errlist,@object
+.type sys_nerr,@object
+#endif
+
+#if (__WORDSIZE == 64)
+#define deflong .quad
+#else
+#define deflong .long
+#endif
+
+sys_errlist:
+ deflong .LC000
+ deflong .LC001
+ deflong .LC002
+ deflong .LC003
+ deflong .LC004
+ deflong .LC005
+ deflong .LC006
+ deflong .LC007
+ deflong .LC008
+ deflong .LC009
+ deflong .LC010
+ deflong .LC011
+ deflong .LC012
+ deflong .LC013
+ deflong .LC014
+ deflong .LC015
+ deflong .LC016
+ deflong .LC017
+ deflong .LC018
+ deflong .LC019
+ deflong .LC020
+ deflong .LC021
+ deflong .LC022
+ deflong .LC023
+ deflong .LC024
+ deflong .LC025
+ deflong .LC026
+ deflong .LC027
+ deflong .LC028
+ deflong .LC029
+ deflong .LC030
+ deflong .LC031
+ deflong .LC032
+ deflong .LC033
+ deflong .LC034
+ deflong .LC035
+ deflong .LC036
+ deflong .LC037
+ deflong .LC038
+ deflong .LC039
+ deflong .LC040
+ deflong .LC041
+ deflong .LC042
+ deflong .LC043
+ deflong .LC044
+ deflong .LC045
+ deflong .LC046
+ deflong .LC047
+ deflong .LC048
+ deflong .LC049
+ deflong .LC050
+ deflong .LC051
+ deflong .LC052
+ deflong .LC053
+ deflong .LC054
+ deflong .LC055
+ deflong .LC056
+ deflong .LC057
+ deflong .LC058
+ deflong .LC059
+ deflong .LC060
+ deflong .LC061
+ deflong .LC062
+ deflong .LC063
+ deflong .LC064
+ deflong .LC065
+ deflong .LC066
+ deflong .LC067
+ deflong .LC068
+ deflong .LC069
+ deflong .LC070
+ deflong .LC071
+ deflong .LC072
+ deflong .LC073
+ deflong .LC074
+ deflong .LC075
+ deflong .LC076
+ deflong .LC077
+ deflong .LC078
+ deflong .LC079
+ deflong .LC080
+ deflong .LC081
+ deflong .LC082
+ deflong .LC083
+ deflong .LC084
+ deflong .LC085
+ deflong .LC086
+ deflong .LC087
+ deflong .LC088
+ deflong .LC089
+ deflong .LC090
+ deflong .LC091
+ deflong .LC092
+ deflong .LC093
+ deflong .LC094
+ deflong .LC095
+ deflong .LC096
+ deflong .LC097
+ deflong .LC098
+ deflong .LC099
+ deflong .LC100
+ deflong .LC101
+ deflong .LC102
+ deflong .LC103
+ deflong .LC104
+ deflong .LC105
+ deflong .LC106
+ deflong .LC107
+ deflong .LC108
+ deflong .LC109
+ deflong .LC110
+ deflong .LC111
+ deflong .LC112
+ deflong .LC113
+ deflong .LC114
+ deflong .LC115
+ deflong .LC116
+ deflong .LC117
+ deflong .LC118
+ deflong .LC119
+ deflong .LC120
+ deflong .LC121
+ deflong .LC122
+ deflong .LC123
+ deflong .LC124
+ deflong 0
+.size sys_errlist,.-sys_errlist
+
+.align 4
+.global sys_nerr
+sys_nerr:
+ .long 125
+.size sys_nerr,4
+
+
+#ifdef __DYN_LIB
+.section .rodata
+#endif
+
+.LC000: .string "Success"
+.LC001: .string "Operation not permitted"
+.LC002: .string "No such file or directory"
+.LC003: .string "No such process"
+.LC004: .string "Interrupted system call"
+.LC005: .string "I/O error"
+.LC006: .string "No such device or address"
+.LC007: .string "Arg list too long"
+.LC008: .string "Exec format error"
+.LC009: .string "Bad file number"
+.LC010: .string "No child processes"
+.LC011: .string "Try again"
+.LC012: .string "Out of memory"
+.LC013: .string "Permission denied"
+.LC014: .string "Bad address"
+.LC015: .string "Block device required"
+.LC016: .string "Device or resource busy"
+.LC017: .string "File exists"
+.LC018: .string "Cross-device link"
+.LC019: .string "No such device"
+.LC020: .string "Not a directory"
+.LC021: .string "Is a directory"
+.LC022: .string "Invalid argument"
+.LC023: .string "File table overflow"
+.LC024: .string "Too many open files"
+.LC025: .string "Not a typewriter"
+.LC026: .string "Text file busy"
+.LC027: .string "File too large"
+.LC028: .string "No space left on device"
+.LC029: .string "Illegal seek"
+.LC030: .string "Read-only file system"
+.LC031: .string "Too many links"
+.LC032: .string "Broken pipe"
+.LC033: .string "Math argument out of domain of func"
+.LC034: .string "Math result not representable"
+.LC035: .string "Resource deadlock would occur"
+.LC036: .string "File name too long"
+.LC037: .string "No record locks available"
+.LC038: .string "Function not implemented"
+.LC039: .string "Directory not empty"
+.LC040: .string "Too many symbolic links encountered"
+.LC041: .string "Operation would block"
+.LC042: .string "No message of desired type"
+.LC043: .string "Identifier removed"
+.LC044: .string "Channel number out of range"
+.LC045: .string "Level 2 not synchronized"
+.LC046: .string "Level 3 halted"
+.LC047: .string "Level 3 reset"
+.LC048: .string "Link number out of range"
+.LC049: .string "Protocol driver not attached"
+.LC050: .string "No CSI structure available"
+.LC051: .string "Level 2 halted"
+.LC052: .string "Invalid exchange"
+.LC053: .string "Invalid request descriptor"
+.LC054: .string "Exchange full"
+.LC055: .string "No anode"
+.LC056: .string "Invalid request code"
+.LC057: .string "Invalid slot"
+.LC058: .string "File locking deadlock error"
+.LC059: .string "Bad font file format"
+.LC060: .string "Device not a stream"
+.LC061: .string "No data available"
+.LC062: .string "Timer expired"
+.LC063: .string "Out of streams resources"
+.LC064: .string "Machine is not on the network"
+.LC065: .string "Package not installed"
+.LC066: .string "Object is remote"
+.LC067: .string "Link has been severed"
+.LC068: .string "Advertise error"
+.LC069: .string "Srmount error"
+.LC070: .string "Communication error on send"
+.LC071: .string "Protocol error"
+.LC072: .string "Multihop attempted"
+.LC073: .string "RFS specific error"
+.LC074: .string "Not a data message"
+.LC075: .string "Value too large for defined data type"
+.LC076: .string "Name not unique on network"
+.LC077: .string "File descriptor in bad state"
+.LC078: .string "Remote address changed"
+.LC079: .string "Can not access a needed shared library"
+.LC080: .string "Accessing a corrupted shared library"
+.LC081: .string ".lib section in a.out corrupted"
+.LC082: .string "Attempting to link in too many shared libraries"
+.LC083: .string "Cannot exec a shared library directly"
+.LC084: .string "Illegal byte sequence"
+.LC085: .string "Interrupted system call should be restarted"
+.LC086: .string "Streams pipe error"
+.LC087: .string "Too many users"
+.LC088: .string "Socket operation on non-socket"
+.LC089: .string "Destination address required"
+.LC090: .string "Message too long"
+.LC091: .string "Protocol wrong type for socket"
+.LC092: .string "Protocol not available"
+.LC093: .string "Protocol not supported"
+.LC094: .string "Socket type not supported"
+.LC095: .string "Operation not supported on transport endpoint"
+.LC096: .string "Protocol family not supported"
+.LC097: .string "Address family not supported by protocol"
+.LC098: .string "Address already in use"
+.LC099: .string "Cannot assign requested address"
+.LC100: .string "Network is down"
+.LC101: .string "Network is unreachable"
+.LC102: .string "Network dropped connection because of reset"
+.LC103: .string "Software caused connection abort"
+.LC104: .string "Connection reset by peer"
+.LC105: .string "No buffer space available"
+.LC106: .string "Transport endpoint is already connected"
+.LC107: .string "Transport endpoint is not connected"
+.LC108: .string "Cannot send after transport endpoint shutdown"
+.LC109: .string "Too many references: cannot splice"
+.LC110: .string "Connection timed out"
+.LC111: .string "Connection refused"
+.LC112: .string "Host is down"
+.LC113: .string "No route to host"
+.LC114: .string "Operation already in progress"
+.LC115: .string "Operation now in progress"
+.LC116: .string "Stale NFS file handle"
+.LC117: .string "Structure needs cleaning"
+.LC118: .string "Not a XENIX named type file"
+.LC119: .string "No XENIX semaphores available"
+.LC120: .string "Is a named type file"
+.LC121: .string "Remote I/O error"
+.LC122: .string "Quota exceeded"
+.LC123: .string "No medium found"
+.LC124: .string "Wrong medium type"
diff --git a/mdk-stage1/dietlibc/syscalls.s/errno.S b/mdk-stage1/dietlibc/syscalls.s/errno.S
new file mode 100644
index 000000000..2f0a2eca8
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/errno.S
@@ -0,0 +1,8 @@
+.section ".bss"
+.align 8
+
+.type errno,object
+.weak errno
+errno:
+ .long 0
+.size errno,.-errno
diff --git a/mdk-stage1/dietlibc/syscalls.s/exit.S b/mdk-stage1/dietlibc/syscalls.s/exit.S
deleted file mode 100644
index 11c989529..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/exit.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(exit,exit,_exit)
diff --git a/mdk-stage1/dietlibc/syscalls.s/fchown32.S b/mdk-stage1/dietlibc/syscalls.s/fchown32.S
new file mode 100644
index 000000000..25b18bc8e
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/fchown32.S
@@ -0,0 +1,5 @@
+#include "syscalls.h"
+
+#ifdef __NR_fchown32
+syscall_weak(fchown32,fchown32,__libc_fchown32)
+#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/fdatasync.S b/mdk-stage1/dietlibc/syscalls.s/fdatasync.S
new file mode 100644
index 000000000..46afd94d2
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/fdatasync.S
@@ -0,0 +1,6 @@
+#include "syscalls.h"
+
+#ifndef __NR_fdatasync
+#define __NR_fdatasync __NR_fsync
+#endif
+syscall_weak(fdatasync,fdatasync,__libc_fdatasync)
diff --git a/mdk-stage1/dietlibc/syscalls.s/fstat64.S b/mdk-stage1/dietlibc/syscalls.s/fstat64.S
index 0c7a41609..f034ddf5b 100644
--- a/mdk-stage1/dietlibc/syscalls.s/fstat64.S
+++ b/mdk-stage1/dietlibc/syscalls.s/fstat64.S
@@ -1,8 +1,10 @@
#include "dietfeatures.h"
#include "syscalls.h"
+#ifdef __NR_fstat64
#ifdef WANT_LARGEFILE_BACKCOMPAT
syscall(fstat64,__dietlibc_fstat64)
#else
syscall(fstat64,fstat64)
#endif
+#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/ftruncate64.S b/mdk-stage1/dietlibc/syscalls.s/ftruncate64.S
new file mode 100644
index 000000000..639dcf5b7
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/ftruncate64.S
@@ -0,0 +1,10 @@
+#include "dietfeatures.h"
+#include "syscalls.h"
+
+#ifdef __NR_ftruncate64
+#ifdef WANT_LARGEFILE_BACKCOMPAT
+syscall(ftruncate64,__dietlibc_ftruncate64)
+#else
+syscall(ftruncate64,ftruncate64)
+#endif
+#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/getdents64.S b/mdk-stage1/dietlibc/syscalls.s/getdents64.S
index 16859addf..691d8f650 100644
--- a/mdk-stage1/dietlibc/syscalls.s/getdents64.S
+++ b/mdk-stage1/dietlibc/syscalls.s/getdents64.S
@@ -1,3 +1,4 @@
+#include "dietfeatures.h"
#include "syscalls.h"
#ifdef __NR_getdents64
diff --git a/mdk-stage1/dietlibc/syscalls.s/getegid32.S b/mdk-stage1/dietlibc/syscalls.s/getegid32.S
new file mode 100644
index 000000000..fd527d3f2
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/getegid32.S
@@ -0,0 +1,5 @@
+#include "syscalls.h"
+
+#ifdef __NR_getegid32
+syscall_weak(getegid32,getegid32,__libc_getegid32)
+#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/geteuid32.S b/mdk-stage1/dietlibc/syscalls.s/geteuid32.S
new file mode 100644
index 000000000..8881fa580
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/geteuid32.S
@@ -0,0 +1,5 @@
+#include "syscalls.h"
+
+#ifdef __NR_geteuid32
+syscall_weak(geteuid32,geteuid32,__libc_geteuid32)
+#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/getgid32.S b/mdk-stage1/dietlibc/syscalls.s/getgid32.S
new file mode 100644
index 000000000..09fca3504
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/getgid32.S
@@ -0,0 +1,5 @@
+#include "syscalls.h"
+
+#ifdef __NR_getgid32
+syscall_weak(getgid32,getgid32,__libc_getgid32)
+#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/getgroups32.S b/mdk-stage1/dietlibc/syscalls.s/getgroups32.S
new file mode 100644
index 000000000..29e6005d6
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/getgroups32.S
@@ -0,0 +1,5 @@
+#include "syscalls.h"
+
+#ifdef __NR_getgroups32
+syscall_weak(getgroups32,getgroups32,__libc_getgroups32)
+#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/getresgid32.S b/mdk-stage1/dietlibc/syscalls.s/getresgid32.S
new file mode 100644
index 000000000..35ee7436b
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/getresgid32.S
@@ -0,0 +1,5 @@
+#include "syscalls.h"
+
+#ifdef __NR_getresgid32
+syscall_weak(getresgid32,getresgid32,__libc_getresgid32)
+#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/getresuid.S b/mdk-stage1/dietlibc/syscalls.s/getresuid.S
index 62f6d764f..95c5505a8 100644
--- a/mdk-stage1/dietlibc/syscalls.s/getresuid.S
+++ b/mdk-stage1/dietlibc/syscalls.s/getresuid.S
@@ -1,7 +1,7 @@
#include "syscalls.h"
-#ifdef __getresuid
+#ifdef __NR_getresuid
-syscall(getresuid)
+syscall(getresuid,getresuid)
#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/getuid32.S b/mdk-stage1/dietlibc/syscalls.s/getuid32.S
new file mode 100644
index 000000000..f90ce06a5
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/getuid32.S
@@ -0,0 +1,5 @@
+#include "syscalls.h"
+
+#ifdef __NR_getuid32
+syscall_weak(getuid32,getuid32,__libc_getuid32)
+#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/init_module.S b/mdk-stage1/dietlibc/syscalls.s/init_module.S
new file mode 100644
index 000000000..4e8709d75
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/init_module.S
@@ -0,0 +1,5 @@
+#include "syscalls.h"
+
+#ifdef __NR_init_module
+syscall(init_module,init_module)
+#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/ioperm.S b/mdk-stage1/dietlibc/syscalls.s/ioperm.S
index 0acfde07a..74a51fc4b 100644
--- a/mdk-stage1/dietlibc/syscalls.s/ioperm.S
+++ b/mdk-stage1/dietlibc/syscalls.s/ioperm.S
@@ -1,3 +1,5 @@
#include "syscalls.h"
+#ifdef __NR_ioperm
syscall(ioperm,ioperm)
+#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/ipc.S b/mdk-stage1/dietlibc/syscalls.s/ipc.S
index 40479400d..476878e52 100644
--- a/mdk-stage1/dietlibc/syscalls.s/ipc.S
+++ b/mdk-stage1/dietlibc/syscalls.s/ipc.S
@@ -1,3 +1,5 @@
#include "syscalls.h"
+#ifdef __NR_ipc
syscall(ipc,__ipc)
+#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/lchown32.S b/mdk-stage1/dietlibc/syscalls.s/lchown32.S
new file mode 100644
index 000000000..6863dcb24
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/lchown32.S
@@ -0,0 +1,5 @@
+#include "syscalls.h"
+
+#ifdef __NR_lchown32
+syscall_weak(lchown32,lchown32,__libc_lchown32)
+#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/llseek.S b/mdk-stage1/dietlibc/syscalls.s/llseek.S
deleted file mode 100644
index 0318b492e..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/llseek.S
+++ /dev/null
@@ -1,6 +0,0 @@
-#include "dietfeatures.h"
-#include "syscalls.h"
-
-#ifdef __NR__llseek
-syscall(_llseek,llseek)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/lstat64.S b/mdk-stage1/dietlibc/syscalls.s/lstat64.S
index 33fd5ab94..021cb0578 100644
--- a/mdk-stage1/dietlibc/syscalls.s/lstat64.S
+++ b/mdk-stage1/dietlibc/syscalls.s/lstat64.S
@@ -1,8 +1,10 @@
#include "dietfeatures.h"
#include "syscalls.h"
+#ifdef __NR_lstat64
#ifdef WANT_LARGEFILE_BACKCOMPAT
syscall(lstat64,__dietlibc_lstat64)
#else
syscall(lstat64,lstat64)
#endif
+#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/madvise.S b/mdk-stage1/dietlibc/syscalls.s/madvise.S
new file mode 100644
index 000000000..dde7daaea
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/madvise.S
@@ -0,0 +1,3 @@
+#include "syscalls.h"
+
+syscall(madvise,madvise)
diff --git a/mdk-stage1/dietlibc/syscalls.s/signal.S b/mdk-stage1/dietlibc/syscalls.s/mlock.S
index 86c4d5db0..e2fa3d1bd 100644
--- a/mdk-stage1/dietlibc/syscalls.s/signal.S
+++ b/mdk-stage1/dietlibc/syscalls.s/mlock.S
@@ -1,3 +1,3 @@
#include "syscalls.h"
-syscall(signal,signal)
+syscall(mlock,mlock)
diff --git a/mdk-stage1/dietlibc/syscalls.s/mmap2.S b/mdk-stage1/dietlibc/syscalls.s/mmap2.S
new file mode 100644
index 000000000..faf7eaaff
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/mmap2.S
@@ -0,0 +1,5 @@
+#include "syscalls.h"
+
+#ifdef __NR_mmap2
+syscall(mmap2,__mmap2)
+#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/msync.S b/mdk-stage1/dietlibc/syscalls.s/msync.S
new file mode 100644
index 000000000..7f5ae9e4a
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/msync.S
@@ -0,0 +1,3 @@
+#include "syscalls.h"
+
+syscall_weak(msync,msync,__libc_msync)
diff --git a/mdk-stage1/dietlibc/syscalls.s/munlock.S b/mdk-stage1/dietlibc/syscalls.s/munlock.S
new file mode 100644
index 000000000..2001c89b7
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/munlock.S
@@ -0,0 +1,3 @@
+#include "syscalls.h"
+
+syscall(munlock,munlock)
diff --git a/mdk-stage1/dietlibc/syscalls.s/n_sigaction.S b/mdk-stage1/dietlibc/syscalls.s/n_sigaction.S
new file mode 100644
index 000000000..15d66ccc0
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/n_sigaction.S
@@ -0,0 +1,5 @@
+#include "syscalls.h"
+
+#ifdef __NR_sigaction
+syscall_weak(sigaction,__old_sigaction,__n_sigaction)
+#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/n_sigpending.S b/mdk-stage1/dietlibc/syscalls.s/n_sigpending.S
new file mode 100644
index 000000000..f851099a0
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/n_sigpending.S
@@ -0,0 +1,5 @@
+#include "syscalls.h"
+
+#ifdef __NR_sigpending
+syscall_weak(sigpending,__old_sigpending,__n_sigpending)
+#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/n_sigprocmask.S b/mdk-stage1/dietlibc/syscalls.s/n_sigprocmask.S
new file mode 100644
index 000000000..6d632aa71
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/n_sigprocmask.S
@@ -0,0 +1,5 @@
+#include "syscalls.h"
+
+#ifdef __NR_sigprocmask
+syscall_weak(sigprocmask,__old_sigprocmask,__n_sigprocmask)
+#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/n_sigsuspend.S b/mdk-stage1/dietlibc/syscalls.s/n_sigsuspend.S
new file mode 100644
index 000000000..a1cfc014d
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/n_sigsuspend.S
@@ -0,0 +1,5 @@
+#include "syscalls.h"
+
+#ifdef __NR_sigsuspend
+syscall_weak(sigsuspend,__old_sigsuspend,__n_sigsuspend)
+#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/nice.S b/mdk-stage1/dietlibc/syscalls.s/nice.S
index 7d3f740b2..4dad30edb 100644
--- a/mdk-stage1/dietlibc/syscalls.s/nice.S
+++ b/mdk-stage1/dietlibc/syscalls.s/nice.S
@@ -1,3 +1,5 @@
#include "syscalls.h"
+#ifdef __NR_nice
syscall(nice,nice)
+#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/pause.S b/mdk-stage1/dietlibc/syscalls.s/pause.S
index cdf42cabd..d154f1538 100644
--- a/mdk-stage1/dietlibc/syscalls.s/pause.S
+++ b/mdk-stage1/dietlibc/syscalls.s/pause.S
@@ -1,3 +1,5 @@
#include "syscalls.h"
+#ifdef __NR_pause
syscall_weak(pause,pause,__libc_pause)
+#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/pivot_root.S b/mdk-stage1/dietlibc/syscalls.s/pivot_root.S
new file mode 100644
index 000000000..89bc40298
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/pivot_root.S
@@ -0,0 +1,3 @@
+#include "syscalls.h"
+
+syscall(pivot_root,pivot_root)
diff --git a/mdk-stage1/dietlibc/syscalls.s/prctl.S b/mdk-stage1/dietlibc/syscalls.s/prctl.S
new file mode 100644
index 000000000..654d5ded5
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/prctl.S
@@ -0,0 +1,5 @@
+#include "syscalls.h"
+
+#ifdef __NR_prctl
+syscall(prctl,prctl)
+#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/ptrace.S b/mdk-stage1/dietlibc/syscalls.s/ptrace.S
new file mode 100644
index 000000000..8f198f41e
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/ptrace.S
@@ -0,0 +1,3 @@
+#include "syscalls.h"
+
+syscall(ptrace,__diet_ptrace)
diff --git a/mdk-stage1/dietlibc/syscalls.s/ptrace.s b/mdk-stage1/dietlibc/syscalls.s/ptrace.s
deleted file mode 100644
index 392e6a4ed..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/ptrace.s
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(ptrace,ptrace)
diff --git a/mdk-stage1/dietlibc/syscalls.s/rt_sigaction.S b/mdk-stage1/dietlibc/syscalls.s/rt_sigaction.S
new file mode 100644
index 000000000..2382b23af
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/rt_sigaction.S
@@ -0,0 +1,3 @@
+#include "syscalls.h"
+
+syscall(rt_sigaction,__rt_sigaction)
diff --git a/mdk-stage1/dietlibc/syscalls.s/rt_sigpending.S b/mdk-stage1/dietlibc/syscalls.s/rt_sigpending.S
new file mode 100644
index 000000000..3ad8f6ff3
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/rt_sigpending.S
@@ -0,0 +1,3 @@
+#include "syscalls.h"
+
+syscall(rt_sigpending,__rt_sigpending)
diff --git a/mdk-stage1/dietlibc/syscalls.s/rt_sigprocmask.S b/mdk-stage1/dietlibc/syscalls.s/rt_sigprocmask.S
new file mode 100644
index 000000000..b4c2aba5a
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/rt_sigprocmask.S
@@ -0,0 +1,3 @@
+#include "syscalls.h"
+
+syscall(rt_sigprocmask,__rt_sigprocmask)
diff --git a/mdk-stage1/dietlibc/syscalls.s/rt_sigqueueinfo.S b/mdk-stage1/dietlibc/syscalls.s/rt_sigqueueinfo.S
new file mode 100644
index 000000000..fbc0b511f
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/rt_sigqueueinfo.S
@@ -0,0 +1,3 @@
+#include "syscalls.h"
+
+syscall(rt_sigqueueinfo,__rt_sigqueueinfo)
diff --git a/mdk-stage1/dietlibc/syscalls.s/rt_sigsuspend.S b/mdk-stage1/dietlibc/syscalls.s/rt_sigsuspend.S
new file mode 100644
index 000000000..58297409e
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/rt_sigsuspend.S
@@ -0,0 +1,3 @@
+#include "syscalls.h"
+
+syscall(rt_sigsuspend,__rt_sigsuspend)
diff --git a/mdk-stage1/dietlibc/syscalls.s/rt_sigtimedwait.S b/mdk-stage1/dietlibc/syscalls.s/rt_sigtimedwait.S
new file mode 100644
index 000000000..27cdef474
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/rt_sigtimedwait.S
@@ -0,0 +1,3 @@
+#include "syscalls.h"
+
+syscall(rt_sigtimedwait,__rt_sigtimedwait)
diff --git a/mdk-stage1/dietlibc/syscalls.s/sendfile.S b/mdk-stage1/dietlibc/syscalls.s/sendfile.S
index 12d6195dd..4dcb0ef69 100644
--- a/mdk-stage1/dietlibc/syscalls.s/sendfile.S
+++ b/mdk-stage1/dietlibc/syscalls.s/sendfile.S
@@ -3,4 +3,4 @@
syscall_weak(sendfile,sendfile,__libc_sendfile)
-link_warning(sendfile,"sendfile is not portable and does not support large files")
+link_warning(sendfile,"sendfile is not portable")
diff --git a/mdk-stage1/dietlibc/syscalls.s/sendfile64.S b/mdk-stage1/dietlibc/syscalls.s/sendfile64.S
new file mode 100644
index 000000000..054ed7177
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/sendfile64.S
@@ -0,0 +1,8 @@
+#include "syscalls.h"
+#include "dietwarning.h"
+
+#ifdef __NR_sendfile64
+syscall_weak(sendfile64,sendfile64,__libc_sendfile64)
+
+link_warning(sendfile64,"sendfile64 is not portable")
+#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/setfsgid.S b/mdk-stage1/dietlibc/syscalls.s/setfsgid.S
new file mode 100644
index 000000000..095f1b2b8
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/setfsgid.S
@@ -0,0 +1,3 @@
+#include "syscalls.h"
+
+syscall(setfsgid,setfsgid)
diff --git a/mdk-stage1/dietlibc/syscalls.s/setfsgid32.S b/mdk-stage1/dietlibc/syscalls.s/setfsgid32.S
new file mode 100644
index 000000000..b671bf90d
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/setfsgid32.S
@@ -0,0 +1,5 @@
+#include "syscalls.h"
+
+#ifdef __NR_setfsgid32
+syscall_weak(setfsgid32,setfsgid32,__libc_setfsgid32)
+#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/setfsuid.S b/mdk-stage1/dietlibc/syscalls.s/setfsuid.S
new file mode 100644
index 000000000..7dcd7b432
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/setfsuid.S
@@ -0,0 +1,3 @@
+#include "syscalls.h"
+
+syscall(setfsuid,setfsuid)
diff --git a/mdk-stage1/dietlibc/syscalls.s/setfsuid32.S b/mdk-stage1/dietlibc/syscalls.s/setfsuid32.S
new file mode 100644
index 000000000..df5a0a877
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/setfsuid32.S
@@ -0,0 +1,5 @@
+#include "syscalls.h"
+
+#ifdef __NR_setfsuid32
+syscall_weak(setfsuid32,setfsuid32,__libc_setfsuid32)
+#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/setgid32.S b/mdk-stage1/dietlibc/syscalls.s/setgid32.S
new file mode 100644
index 000000000..11be4922a
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/setgid32.S
@@ -0,0 +1,5 @@
+#include "syscalls.h"
+
+#ifdef __NR_setgid32
+syscall_weak(setgid32,setgid32,__libc_setgid32)
+#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/setregid32.S b/mdk-stage1/dietlibc/syscalls.s/setregid32.S
new file mode 100644
index 000000000..4565bba17
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/setregid32.S
@@ -0,0 +1,5 @@
+#include "syscalls.h"
+
+#ifdef __NR_setregid32
+syscall_weak(setregid32,setregid32,__libc_setregid32)
+#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/setresgid.S b/mdk-stage1/dietlibc/syscalls.s/setresgid.S
index 64cbac94e..2277cbaf4 100644
--- a/mdk-stage1/dietlibc/syscalls.s/setresgid.S
+++ b/mdk-stage1/dietlibc/syscalls.s/setresgid.S
@@ -1,7 +1,7 @@
#include "syscalls.h"
-#ifdef __setresgid
+#ifdef __NR_setresgid
-syscall(setresgid)
+syscall(setresgid,setresgid)
#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/setresgid32.S b/mdk-stage1/dietlibc/syscalls.s/setresgid32.S
new file mode 100644
index 000000000..209b27f97
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/setresgid32.S
@@ -0,0 +1,5 @@
+#include "syscalls.h"
+
+#ifdef __NR_setresgid32
+syscall_weak(setresgid32,setresgid32,__libc_setresgid32)
+#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/setresuid.S b/mdk-stage1/dietlibc/syscalls.s/setresuid.S
index 20b6abee9..cd322b77e 100644
--- a/mdk-stage1/dietlibc/syscalls.s/setresuid.S
+++ b/mdk-stage1/dietlibc/syscalls.s/setresuid.S
@@ -1,7 +1,7 @@
#include "syscalls.h"
-#ifdef __setresuid
+#ifdef __NR_setresuid
-syscall(setresuid)
+syscall(setresuid,setresuid)
#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/setreuid32.S b/mdk-stage1/dietlibc/syscalls.s/setreuid32.S
new file mode 100644
index 000000000..7bb06fa25
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/setreuid32.S
@@ -0,0 +1,5 @@
+#include "syscalls.h"
+
+#ifdef __NR_setreuid32
+syscall_weak(setreuid32,setreuid32,__libc_setreuid32)
+#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/settimeofday.S b/mdk-stage1/dietlibc/syscalls.s/settimeofday.S
new file mode 100644
index 000000000..4ca626aa4
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/settimeofday.S
@@ -0,0 +1,3 @@
+#include "syscalls.h"
+
+syscall(settimeofday,settimeofday)
diff --git a/mdk-stage1/dietlibc/syscalls.s/setuid32.S b/mdk-stage1/dietlibc/syscalls.s/setuid32.S
new file mode 100644
index 000000000..869603471
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/setuid32.S
@@ -0,0 +1,5 @@
+#include "syscalls.h"
+
+#ifdef __NR_setuid32
+syscall_weak(setuid32,setuid32,__libc_setuid32)
+#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/sigaction.S b/mdk-stage1/dietlibc/syscalls.s/sigaction.S
deleted file mode 100644
index 32382870c..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/sigaction.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(sigaction,sigaction)
diff --git a/mdk-stage1/dietlibc/syscalls.s/sigpending.S b/mdk-stage1/dietlibc/syscalls.s/sigpending.S
deleted file mode 100644
index 08715bef5..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/sigpending.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(sigpending,sigpending)
diff --git a/mdk-stage1/dietlibc/syscalls.s/sigprocmask.S b/mdk-stage1/dietlibc/syscalls.s/sigprocmask.S
deleted file mode 100644
index 07f5b9d26..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/sigprocmask.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(sigprocmask,sigprocmask,__sigprocmask)
diff --git a/mdk-stage1/dietlibc/syscalls.s/sigsuspend.S b/mdk-stage1/dietlibc/syscalls.s/sigsuspend.S
deleted file mode 100644
index 062264ab6..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/sigsuspend.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(sigsuspend,sigsuspend,__libc_sigsuspend)
diff --git a/mdk-stage1/dietlibc/syscalls.s/socketcall.S b/mdk-stage1/dietlibc/syscalls.s/socketcall.S
index 5837c049a..b97b37f0c 100644
--- a/mdk-stage1/dietlibc/syscalls.s/socketcall.S
+++ b/mdk-stage1/dietlibc/syscalls.s/socketcall.S
@@ -1,3 +1,5 @@
#include "syscalls.h"
+#ifdef __NR_socketcall
syscall(socketcall,socketcall)
+#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/stat64.S b/mdk-stage1/dietlibc/syscalls.s/stat64.S
index 734fcab20..7dc54d955 100644
--- a/mdk-stage1/dietlibc/syscalls.s/stat64.S
+++ b/mdk-stage1/dietlibc/syscalls.s/stat64.S
@@ -1,8 +1,10 @@
#include "dietfeatures.h"
#include "syscalls.h"
+#ifdef __NR_stat64
#ifdef WANT_LARGEFILE_BACKCOMPAT
syscall(stat64,__dietlibc_stat64)
#else
syscall(stat64,stat64)
#endif
+#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/stime.S b/mdk-stage1/dietlibc/syscalls.s/stime.S
index 9d9f5bf0a..281809c27 100644
--- a/mdk-stage1/dietlibc/syscalls.s/stime.S
+++ b/mdk-stage1/dietlibc/syscalls.s/stime.S
@@ -1,3 +1,5 @@
#include "syscalls.h"
+#ifdef __NR_stime
syscall(stime,stime)
+#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/syslog.S b/mdk-stage1/dietlibc/syscalls.s/syslog.S
index 6af3c4eac..4ebd81a39 100644
--- a/mdk-stage1/dietlibc/syscalls.s/syslog.S
+++ b/mdk-stage1/dietlibc/syscalls.s/syslog.S
@@ -1,3 +1,3 @@
#include "syscalls.h"
-syscall(syslog,__syscall_syslog)
+syscall_weak(syslog,__syscall_syslog,klogctl)
diff --git a/mdk-stage1/dietlibc/syscalls.s/time.S b/mdk-stage1/dietlibc/syscalls.s/time.S
index 26c79091c..aa646cfdf 100644
--- a/mdk-stage1/dietlibc/syscalls.s/time.S
+++ b/mdk-stage1/dietlibc/syscalls.s/time.S
@@ -1,3 +1,5 @@
#include "syscalls.h"
+#ifdef __NR_time
syscall(time,time)
+#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/truncate64.S b/mdk-stage1/dietlibc/syscalls.s/truncate64.S
new file mode 100644
index 000000000..0e375728e
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/truncate64.S
@@ -0,0 +1,10 @@
+#include "dietfeatures.h"
+#include "syscalls.h"
+
+#ifdef __NR_truncate64
+#ifdef WANT_LARGEFILE_BACKCOMPAT
+syscall(truncate64,__dietlibc_truncate64)
+#else
+syscall(truncate64,truncate64)
+#endif
+#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/umount2.S b/mdk-stage1/dietlibc/syscalls.s/umount2.S
index 4cdd6a200..b27b353ed 100644
--- a/mdk-stage1/dietlibc/syscalls.s/umount2.S
+++ b/mdk-stage1/dietlibc/syscalls.s/umount2.S
@@ -1,3 +1,5 @@
#include "syscalls.h"
+#ifdef __NR_umount2
syscall(umount2,umount2)
+#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/waitpid.S b/mdk-stage1/dietlibc/syscalls.s/waitpid.S
index 5cdc18afb..bedc73eb6 100644
--- a/mdk-stage1/dietlibc/syscalls.s/waitpid.S
+++ b/mdk-stage1/dietlibc/syscalls.s/waitpid.S
@@ -1,3 +1,5 @@
#include "syscalls.h"
+#ifdef __NR_waitpid
syscall_weak(waitpid,waitpid,__libc_waitpid)
+#endif