summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/syscalls.s
diff options
context:
space:
mode:
authorGuillaume Cottenceau <gc@mandriva.com>2001-05-14 14:19:32 +0000
committerGuillaume Cottenceau <gc@mandriva.com>2001-05-14 14:19:32 +0000
commit167217bec15c9c7aa70ba2a3dc9c689b3cd91872 (patch)
tree7c0c62debf8f9f145643102fb52b81afce743594 /mdk-stage1/dietlibc/syscalls.s
parent9097327dc1c667fc51b8e05cc7c0626fac96665d (diff)
downloaddrakx-backup-do-not-use-167217bec15c9c7aa70ba2a3dc9c689b3cd91872.tar
drakx-backup-do-not-use-167217bec15c9c7aa70ba2a3dc9c689b3cd91872.tar.gz
drakx-backup-do-not-use-167217bec15c9c7aa70ba2a3dc9c689b3cd91872.tar.bz2
drakx-backup-do-not-use-167217bec15c9c7aa70ba2a3dc9c689b3cd91872.tar.xz
drakx-backup-do-not-use-167217bec15c9c7aa70ba2a3dc9c689b3cd91872.zip
import new version of dietlibc
Diffstat (limited to 'mdk-stage1/dietlibc/syscalls.s')
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/__getpagesize.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/__pread.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/__reboot.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/close.S4
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/exit.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/fcntl.S4
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/fork.S4
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/fstat.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/fstat64.S8
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/fsync.S2
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getcwd.S2
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getitimer.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getpriority.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/iopl.S6
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/ipc.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/llseek.S6
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/lseek.S2
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/lstat.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/lstat64.S8
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/mlockall.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/munlockall.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/nanosleep.S2
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/nice.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/open.S2
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/pause.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/personality.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/ptrace.s3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/query_module.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/read.S4
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/readv.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sched_get_priority_max.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sched_get_priority_min.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sched_getparam.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sched_getscheduler.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sched_rr_get_interval.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sched_setparam.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sched_setscheduler.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sched_yield.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/select.S1
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sendfile.S7
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setpriority.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sigaltstack.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sigprocmask.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sigsuspend.S2
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/stat.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/stat64.S8
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/stime.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sysctl.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sysinfo.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/syslog.S2
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/times.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/umount2.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/waitpid.S2
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/write.S4
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/writev.S3
55 files changed, 160 insertions, 37 deletions
diff --git a/mdk-stage1/dietlibc/syscalls.s/__getpagesize.S b/mdk-stage1/dietlibc/syscalls.s/__getpagesize.S
new file mode 100644
index 000000000..c9fd97898
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/__getpagesize.S
@@ -0,0 +1,5 @@
+#include "syscalls.h"
+
+#ifdef __NR_getpagesize
+syscall(getpagesize,getpagesize)
+#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/__pread.S b/mdk-stage1/dietlibc/syscalls.s/__pread.S
index 4603a1009..ad47c7873 100644
--- a/mdk-stage1/dietlibc/syscalls.s/__pread.S
+++ b/mdk-stage1/dietlibc/syscalls.s/__pread.S
@@ -1,4 +1,3 @@
#include "syscalls.h"
-.weak __libc_pread
-syscall(pread,__pread)
+syscall_weak(pread,__pread,__libc__pread)
diff --git a/mdk-stage1/dietlibc/syscalls.s/__reboot.S b/mdk-stage1/dietlibc/syscalls.s/__reboot.S
new file mode 100644
index 000000000..0de4f25b2
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/__reboot.S
@@ -0,0 +1,3 @@
+#include "syscalls.h"
+
+syscall(reboot,__reboot)
diff --git a/mdk-stage1/dietlibc/syscalls.s/close.S b/mdk-stage1/dietlibc/syscalls.s/close.S
index 0f72ca1ae..361ca5272 100644
--- a/mdk-stage1/dietlibc/syscalls.s/close.S
+++ b/mdk-stage1/dietlibc/syscalls.s/close.S
@@ -1,5 +1,3 @@
#include "syscalls.h"
-.weak __libc_close
-__libc_close:
-syscall(close,close)
+syscall_weak(close,close,__libc_close)
diff --git a/mdk-stage1/dietlibc/syscalls.s/exit.S b/mdk-stage1/dietlibc/syscalls.s/exit.S
index 89d3145e9..11c989529 100644
--- a/mdk-stage1/dietlibc/syscalls.s/exit.S
+++ b/mdk-stage1/dietlibc/syscalls.s/exit.S
@@ -1,6 +1,3 @@
#include "syscalls.h"
-.text
-.weak exit
-exit:
-syscall(exit,_exit)
+syscall_weak(exit,exit,_exit)
diff --git a/mdk-stage1/dietlibc/syscalls.s/fcntl.S b/mdk-stage1/dietlibc/syscalls.s/fcntl.S
index 8516bc232..2285929a0 100644
--- a/mdk-stage1/dietlibc/syscalls.s/fcntl.S
+++ b/mdk-stage1/dietlibc/syscalls.s/fcntl.S
@@ -1,5 +1,3 @@
#include "syscalls.h"
-.weak __libc_fcntl
-__libc_fcntl:
-syscall(fcntl,fcntl)
+syscall_weak(fcntl,fcntl,__libc_fcntl)
diff --git a/mdk-stage1/dietlibc/syscalls.s/fork.S b/mdk-stage1/dietlibc/syscalls.s/fork.S
index 66732d27e..b40c3f708 100644
--- a/mdk-stage1/dietlibc/syscalls.s/fork.S
+++ b/mdk-stage1/dietlibc/syscalls.s/fork.S
@@ -1,5 +1,3 @@
#include "syscalls.h"
-.weak __libc_fork
-__libc_fork:
-syscall(fork,fork)
+syscall_weak(fork,fork,__libc_fork)
diff --git a/mdk-stage1/dietlibc/syscalls.s/fstat.S b/mdk-stage1/dietlibc/syscalls.s/fstat.S
new file mode 100644
index 000000000..9dd465cda
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/fstat.S
@@ -0,0 +1,3 @@
+#include "syscalls.h"
+
+syscall(fstat,fstat)
diff --git a/mdk-stage1/dietlibc/syscalls.s/fstat64.S b/mdk-stage1/dietlibc/syscalls.s/fstat64.S
new file mode 100644
index 000000000..0c7a41609
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/fstat64.S
@@ -0,0 +1,8 @@
+#include "dietfeatures.h"
+#include "syscalls.h"
+
+#ifdef WANT_LARGEFILE_BACKCOMPAT
+syscall(fstat64,__dietlibc_fstat64)
+#else
+syscall(fstat64,fstat64)
+#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/fsync.S b/mdk-stage1/dietlibc/syscalls.s/fsync.S
index 624cbaf97..66af59ef9 100644
--- a/mdk-stage1/dietlibc/syscalls.s/fsync.S
+++ b/mdk-stage1/dietlibc/syscalls.s/fsync.S
@@ -1,3 +1,3 @@
#include "syscalls.h"
-syscall(fsync,fsync)
+syscall_weak(fsync,fsync,__libc_fsync)
diff --git a/mdk-stage1/dietlibc/syscalls.s/getcwd.S b/mdk-stage1/dietlibc/syscalls.s/getcwd.S
index 8ff0a026e..e13262f20 100644
--- a/mdk-stage1/dietlibc/syscalls.s/getcwd.S
+++ b/mdk-stage1/dietlibc/syscalls.s/getcwd.S
@@ -1,3 +1,3 @@
#include "syscalls.h"
-syscall(getcwd,getcwd)
+syscall(getcwd,__syscall_getcwd)
diff --git a/mdk-stage1/dietlibc/syscalls.s/getitimer.S b/mdk-stage1/dietlibc/syscalls.s/getitimer.S
new file mode 100644
index 000000000..9a2084080
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/getitimer.S
@@ -0,0 +1,3 @@
+#include "syscalls.h"
+
+syscall(getitimer,getitimer)
diff --git a/mdk-stage1/dietlibc/syscalls.s/getpriority.S b/mdk-stage1/dietlibc/syscalls.s/getpriority.S
new file mode 100644
index 000000000..848b27ed7
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/getpriority.S
@@ -0,0 +1,3 @@
+#include "syscalls.h"
+
+syscall(getpriority,getpriority)
diff --git a/mdk-stage1/dietlibc/syscalls.s/iopl.S b/mdk-stage1/dietlibc/syscalls.s/iopl.S
new file mode 100644
index 000000000..06a6c53fb
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/iopl.S
@@ -0,0 +1,6 @@
+
+#include "syscalls.h"
+
+#ifdef __NR_iopl
+syscall(iopl,iopl)
+#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/ipc.S b/mdk-stage1/dietlibc/syscalls.s/ipc.S
new file mode 100644
index 000000000..40479400d
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/ipc.S
@@ -0,0 +1,3 @@
+#include "syscalls.h"
+
+syscall(ipc,__ipc)
diff --git a/mdk-stage1/dietlibc/syscalls.s/llseek.S b/mdk-stage1/dietlibc/syscalls.s/llseek.S
new file mode 100644
index 000000000..0318b492e
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/llseek.S
@@ -0,0 +1,6 @@
+#include "dietfeatures.h"
+#include "syscalls.h"
+
+#ifdef __NR__llseek
+syscall(_llseek,llseek)
+#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/lseek.S b/mdk-stage1/dietlibc/syscalls.s/lseek.S
index 454827483..93707a22a 100644
--- a/mdk-stage1/dietlibc/syscalls.s/lseek.S
+++ b/mdk-stage1/dietlibc/syscalls.s/lseek.S
@@ -1,3 +1,3 @@
#include "syscalls.h"
-syscall(lseek,lseek)
+syscall_weak(lseek,lseek,__libc_lseek)
diff --git a/mdk-stage1/dietlibc/syscalls.s/lstat.S b/mdk-stage1/dietlibc/syscalls.s/lstat.S
new file mode 100644
index 000000000..5720161c0
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/lstat.S
@@ -0,0 +1,3 @@
+#include "syscalls.h"
+
+syscall(lstat,lstat)
diff --git a/mdk-stage1/dietlibc/syscalls.s/lstat64.S b/mdk-stage1/dietlibc/syscalls.s/lstat64.S
new file mode 100644
index 000000000..33fd5ab94
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/lstat64.S
@@ -0,0 +1,8 @@
+#include "dietfeatures.h"
+#include "syscalls.h"
+
+#ifdef WANT_LARGEFILE_BACKCOMPAT
+syscall(lstat64,__dietlibc_lstat64)
+#else
+syscall(lstat64,lstat64)
+#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/mlockall.S b/mdk-stage1/dietlibc/syscalls.s/mlockall.S
new file mode 100644
index 000000000..6ad0eef9d
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/mlockall.S
@@ -0,0 +1,3 @@
+#include "syscalls.h"
+
+syscall(mlockall,mlockall)
diff --git a/mdk-stage1/dietlibc/syscalls.s/munlockall.S b/mdk-stage1/dietlibc/syscalls.s/munlockall.S
new file mode 100644
index 000000000..776811dea
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/munlockall.S
@@ -0,0 +1,3 @@
+#include "syscalls.h"
+
+syscall(munlockall,munlockall)
diff --git a/mdk-stage1/dietlibc/syscalls.s/nanosleep.S b/mdk-stage1/dietlibc/syscalls.s/nanosleep.S
index 7dce9956d..279a52604 100644
--- a/mdk-stage1/dietlibc/syscalls.s/nanosleep.S
+++ b/mdk-stage1/dietlibc/syscalls.s/nanosleep.S
@@ -1,3 +1,3 @@
#include "syscalls.h"
-syscall(nanosleep,nanosleep)
+syscall_weak(nanosleep,nanosleep,__libc_nanosleep)
diff --git a/mdk-stage1/dietlibc/syscalls.s/nice.S b/mdk-stage1/dietlibc/syscalls.s/nice.S
new file mode 100644
index 000000000..7d3f740b2
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/nice.S
@@ -0,0 +1,3 @@
+#include "syscalls.h"
+
+syscall(nice,nice)
diff --git a/mdk-stage1/dietlibc/syscalls.s/open.S b/mdk-stage1/dietlibc/syscalls.s/open.S
index 11cfecd4a..280efd0d9 100644
--- a/mdk-stage1/dietlibc/syscalls.s/open.S
+++ b/mdk-stage1/dietlibc/syscalls.s/open.S
@@ -1,3 +1,3 @@
#include "syscalls.h"
-syscall(open,open)
+syscall_weak(open,open,__libc_open)
diff --git a/mdk-stage1/dietlibc/syscalls.s/pause.S b/mdk-stage1/dietlibc/syscalls.s/pause.S
new file mode 100644
index 000000000..cdf42cabd
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/pause.S
@@ -0,0 +1,3 @@
+#include "syscalls.h"
+
+syscall_weak(pause,pause,__libc_pause)
diff --git a/mdk-stage1/dietlibc/syscalls.s/personality.S b/mdk-stage1/dietlibc/syscalls.s/personality.S
new file mode 100644
index 000000000..34b467084
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/personality.S
@@ -0,0 +1,5 @@
+#include "syscalls.h"
+
+#ifdef __NR_personality
+syscall(personality,personality)
+#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..392e6a4ed
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/ptrace.s
@@ -0,0 +1,3 @@
+#include "syscalls.h"
+
+syscall(ptrace,ptrace)
diff --git a/mdk-stage1/dietlibc/syscalls.s/query_module.S b/mdk-stage1/dietlibc/syscalls.s/query_module.S
new file mode 100644
index 000000000..cb2f1d852
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/query_module.S
@@ -0,0 +1,5 @@
+#include "syscalls.h"
+
+#ifdef __NR_query_module
+syscall(query_module,query_module)
+#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/read.S b/mdk-stage1/dietlibc/syscalls.s/read.S
index 98ad98c17..33fdb7531 100644
--- a/mdk-stage1/dietlibc/syscalls.s/read.S
+++ b/mdk-stage1/dietlibc/syscalls.s/read.S
@@ -1,5 +1,3 @@
#include "syscalls.h"
-.weak __libc_read
-__libc_read:
-syscall(read,read)
+syscall_weak(read,read,__libc_read)
diff --git a/mdk-stage1/dietlibc/syscalls.s/readv.S b/mdk-stage1/dietlibc/syscalls.s/readv.S
new file mode 100644
index 000000000..757c26bfb
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/readv.S
@@ -0,0 +1,3 @@
+#include "syscalls.h"
+
+syscall(readv,readv)
diff --git a/mdk-stage1/dietlibc/syscalls.s/sched_get_priority_max.S b/mdk-stage1/dietlibc/syscalls.s/sched_get_priority_max.S
new file mode 100644
index 000000000..caf403672
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/sched_get_priority_max.S
@@ -0,0 +1,3 @@
+#include "syscalls.h"
+
+syscall(sched_get_priority_max,sched_get_priority_max)
diff --git a/mdk-stage1/dietlibc/syscalls.s/sched_get_priority_min.S b/mdk-stage1/dietlibc/syscalls.s/sched_get_priority_min.S
new file mode 100644
index 000000000..a0c3337dc
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/sched_get_priority_min.S
@@ -0,0 +1,3 @@
+#include "syscalls.h"
+
+syscall(sched_get_priority_min,sched_get_priority_min)
diff --git a/mdk-stage1/dietlibc/syscalls.s/sched_getparam.S b/mdk-stage1/dietlibc/syscalls.s/sched_getparam.S
new file mode 100644
index 000000000..7190a40ae
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/sched_getparam.S
@@ -0,0 +1,3 @@
+#include "syscalls.h"
+
+syscall(sched_getparam,sched_getparam)
diff --git a/mdk-stage1/dietlibc/syscalls.s/sched_getscheduler.S b/mdk-stage1/dietlibc/syscalls.s/sched_getscheduler.S
new file mode 100644
index 000000000..08709b65e
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/sched_getscheduler.S
@@ -0,0 +1,3 @@
+#include "syscalls.h"
+
+syscall(sched_getscheduler,sched_getscheduler)
diff --git a/mdk-stage1/dietlibc/syscalls.s/sched_rr_get_interval.S b/mdk-stage1/dietlibc/syscalls.s/sched_rr_get_interval.S
new file mode 100644
index 000000000..150b9a98d
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/sched_rr_get_interval.S
@@ -0,0 +1,3 @@
+#include "syscalls.h"
+
+syscall(sched_rr_get_interval,sched_rr_get_interval)
diff --git a/mdk-stage1/dietlibc/syscalls.s/sched_setparam.S b/mdk-stage1/dietlibc/syscalls.s/sched_setparam.S
new file mode 100644
index 000000000..3a6dd1dcc
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/sched_setparam.S
@@ -0,0 +1,3 @@
+#include "syscalls.h"
+
+syscall(sched_setparam,sched_setparam)
diff --git a/mdk-stage1/dietlibc/syscalls.s/sched_setscheduler.S b/mdk-stage1/dietlibc/syscalls.s/sched_setscheduler.S
new file mode 100644
index 000000000..27869d6ce
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/sched_setscheduler.S
@@ -0,0 +1,3 @@
+#include "syscalls.h"
+
+syscall(sched_setscheduler,sched_setscheduler)
diff --git a/mdk-stage1/dietlibc/syscalls.s/sched_yield.S b/mdk-stage1/dietlibc/syscalls.s/sched_yield.S
new file mode 100644
index 000000000..ccb9ac1d0
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/sched_yield.S
@@ -0,0 +1,3 @@
+#include "syscalls.h"
+
+syscall(sched_yield,sched_yield)
diff --git a/mdk-stage1/dietlibc/syscalls.s/select.S b/mdk-stage1/dietlibc/syscalls.s/select.S
index 3353848ff..f585d0449 100644
--- a/mdk-stage1/dietlibc/syscalls.s/select.S
+++ b/mdk-stage1/dietlibc/syscalls.s/select.S
@@ -1,4 +1,3 @@
#include "syscalls.h"
-.text
syscall(select,select)
diff --git a/mdk-stage1/dietlibc/syscalls.s/sendfile.S b/mdk-stage1/dietlibc/syscalls.s/sendfile.S
index d56219dc6..12d6195dd 100644
--- a/mdk-stage1/dietlibc/syscalls.s/sendfile.S
+++ b/mdk-stage1/dietlibc/syscalls.s/sendfile.S
@@ -1,5 +1,6 @@
#include "syscalls.h"
+#include "dietwarning.h"
-.weak __libc_sendfile
-__libc_sendfile:
-syscall(sendfile,sendfile)
+syscall_weak(sendfile,sendfile,__libc_sendfile)
+
+link_warning(sendfile,"sendfile is not portable and does not support large files")
diff --git a/mdk-stage1/dietlibc/syscalls.s/setpriority.S b/mdk-stage1/dietlibc/syscalls.s/setpriority.S
new file mode 100644
index 000000000..57d7bc388
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/setpriority.S
@@ -0,0 +1,3 @@
+#include "syscalls.h"
+
+syscall(setpriority,setpriority)
diff --git a/mdk-stage1/dietlibc/syscalls.s/sigaltstack.S b/mdk-stage1/dietlibc/syscalls.s/sigaltstack.S
new file mode 100644
index 000000000..b07d90f40
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/sigaltstack.S
@@ -0,0 +1,3 @@
+#include "syscalls.h"
+
+syscall_weak(sigaltstack,sigaltstack,__sigaltstack)
diff --git a/mdk-stage1/dietlibc/syscalls.s/sigprocmask.S b/mdk-stage1/dietlibc/syscalls.s/sigprocmask.S
index 8d6563b8f..07f5b9d26 100644
--- a/mdk-stage1/dietlibc/syscalls.s/sigprocmask.S
+++ b/mdk-stage1/dietlibc/syscalls.s/sigprocmask.S
@@ -1,6 +1,3 @@
#include "syscalls.h"
-.text
-.weak sigprocmask
-sigprocmask:
-syscall(sigprocmask,__sigprocmask)
+syscall_weak(sigprocmask,sigprocmask,__sigprocmask)
diff --git a/mdk-stage1/dietlibc/syscalls.s/sigsuspend.S b/mdk-stage1/dietlibc/syscalls.s/sigsuspend.S
index c832c2b5d..062264ab6 100644
--- a/mdk-stage1/dietlibc/syscalls.s/sigsuspend.S
+++ b/mdk-stage1/dietlibc/syscalls.s/sigsuspend.S
@@ -1,3 +1,3 @@
#include "syscalls.h"
-syscall(sigsuspend,sigsuspend)
+syscall_weak(sigsuspend,sigsuspend,__libc_sigsuspend)
diff --git a/mdk-stage1/dietlibc/syscalls.s/stat.S b/mdk-stage1/dietlibc/syscalls.s/stat.S
new file mode 100644
index 000000000..2aa3bc088
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/stat.S
@@ -0,0 +1,3 @@
+#include "syscalls.h"
+
+syscall(stat,stat)
diff --git a/mdk-stage1/dietlibc/syscalls.s/stat64.S b/mdk-stage1/dietlibc/syscalls.s/stat64.S
new file mode 100644
index 000000000..734fcab20
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/stat64.S
@@ -0,0 +1,8 @@
+#include "dietfeatures.h"
+#include "syscalls.h"
+
+#ifdef WANT_LARGEFILE_BACKCOMPAT
+syscall(stat64,__dietlibc_stat64)
+#else
+syscall(stat64,stat64)
+#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/stime.S b/mdk-stage1/dietlibc/syscalls.s/stime.S
new file mode 100644
index 000000000..9d9f5bf0a
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/stime.S
@@ -0,0 +1,3 @@
+#include "syscalls.h"
+
+syscall(stime,stime)
diff --git a/mdk-stage1/dietlibc/syscalls.s/sysctl.S b/mdk-stage1/dietlibc/syscalls.s/sysctl.S
new file mode 100644
index 000000000..536e62b3d
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/sysctl.S
@@ -0,0 +1,5 @@
+#include "syscalls.h"
+
+#ifdef __NR_sysctl
+syscall(sysctl,_sysctl)
+#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/sysinfo.S b/mdk-stage1/dietlibc/syscalls.s/sysinfo.S
new file mode 100644
index 000000000..eaec7941e
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/sysinfo.S
@@ -0,0 +1,3 @@
+#include "syscalls.h"
+
+syscall(sysinfo,sysinfo)
diff --git a/mdk-stage1/dietlibc/syscalls.s/syslog.S b/mdk-stage1/dietlibc/syscalls.s/syslog.S
index 55df87d53..6af3c4eac 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,syslog)
+syscall(syslog,__syscall_syslog)
diff --git a/mdk-stage1/dietlibc/syscalls.s/times.S b/mdk-stage1/dietlibc/syscalls.s/times.S
new file mode 100644
index 000000000..dcc8a6dd0
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/times.S
@@ -0,0 +1,3 @@
+#include "syscalls.h"
+
+syscall(times,times)
diff --git a/mdk-stage1/dietlibc/syscalls.s/umount2.S b/mdk-stage1/dietlibc/syscalls.s/umount2.S
new file mode 100644
index 000000000..4cdd6a200
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/umount2.S
@@ -0,0 +1,3 @@
+#include "syscalls.h"
+
+syscall(umount2,umount2)
diff --git a/mdk-stage1/dietlibc/syscalls.s/waitpid.S b/mdk-stage1/dietlibc/syscalls.s/waitpid.S
index 569d8f68d..5cdc18afb 100644
--- a/mdk-stage1/dietlibc/syscalls.s/waitpid.S
+++ b/mdk-stage1/dietlibc/syscalls.s/waitpid.S
@@ -1,3 +1,3 @@
#include "syscalls.h"
-syscall(waitpid,waitpid)
+syscall_weak(waitpid,waitpid,__libc_waitpid)
diff --git a/mdk-stage1/dietlibc/syscalls.s/write.S b/mdk-stage1/dietlibc/syscalls.s/write.S
index 409575be0..ba20395df 100644
--- a/mdk-stage1/dietlibc/syscalls.s/write.S
+++ b/mdk-stage1/dietlibc/syscalls.s/write.S
@@ -1,5 +1,3 @@
#include "syscalls.h"
-.weak __libc_write
-__libc_write:
-syscall(write,write)
+syscall_weak(write,write,__libc_write)
diff --git a/mdk-stage1/dietlibc/syscalls.s/writev.S b/mdk-stage1/dietlibc/syscalls.s/writev.S
new file mode 100644
index 000000000..8ec7aa6b0
--- /dev/null
+++ b/mdk-stage1/dietlibc/syscalls.s/writev.S
@@ -0,0 +1,3 @@
+#include "syscalls.h"
+
+syscall(writev,writev)