Parcourir la source

remove standalone syscall cruft

this was originally written for an early draft of the library where
non-standard functions would reside in a static library separate from
the shared libc.so, which would implement a pure standard. the idea
was not to depend on an implementation-dependent __syscall_ret
function in the main libc. but it turned out to be better to put
everything in a single library for both static and dynamic linking
uses, and thus the (incomplete) remnants of this feature were just
enlarging the source and binary.
Rich Felker il y a 14 ans
Parent
commit
9b235e8374

+ 1 - 11
arch/i386/syscall.h

@@ -7,17 +7,7 @@
 
 #define SYSCALL_SIGSET_SIZE 8
 
-#if defined(SYSCALL_STANDALONE)
-#include <errno.h>
-static inline long __syscall_ret(unsigned long r)
-{
-	if (r >= (unsigned long)-1 - 4096) {
-		errno = -(long)r;
-		return -1;
-	}
-	return (long)r;
-}
-#elif defined(SYSCALL_NORETURN)
+#if defined(SYSCALL_NORETURN)
 static inline long __syscall_ret(unsigned long r)
 {
 	for(;;);

+ 1 - 11
arch/x86_64/syscall.h

@@ -4,17 +4,7 @@
 #define SYSCALL_LL(x) x, 0
 #define SYSCALL_SIGSET_SIZE 8
 
-#if defined(SYSCALL_STANDALONE)
-#include <errno.h>
-static inline long __syscall_ret(unsigned long r)
-{
-	if (r >= (unsigned long)-1 - 4096) {
-		errno = -(long)r;
-		return -1;
-	}
-	return (long)r;
-}
-#elif defined(SYSCALL_NORETURN)
+#if defined(SYSCALL_NORETURN)
 static inline long __syscall_ret(unsigned long r)
 {
 	for(;;);

+ 0 - 1
src/linux/chroot.c

@@ -1,5 +1,4 @@
 #include <unistd.h>
-#define SYSCALL_STANDALONE
 #include "syscall.h"
 
 int chroot(const char *path)

+ 0 - 1
src/linux/klogctl.c

@@ -1,4 +1,3 @@
-#define SYSCALL_STANDALONE
 #include "syscall.h"
 
 int klogctl (int type, char *buf, int len)

+ 0 - 1
src/linux/mount.c

@@ -1,5 +1,4 @@
 #include <sys/mount.h>
-#define SYSCALL_STANDALONE
 #include "syscall.h"
 
 int mount(const char *special, const char *dir, const char *fstype, unsigned long flags, const void *data)

+ 0 - 1
src/linux/sethostname.c

@@ -1,5 +1,4 @@
 #include <unistd.h>
-#define SYSCALL_STANDALONE
 #include "syscall.h"
 
 int sethostname(const char *name, size_t len)

+ 0 - 1
src/linux/swapoff.c

@@ -1,5 +1,4 @@
 #include <sys/swap.h>
-#define SYSCALL_STANDALONE
 #include "syscall.h"
 
 int swapoff(const char *path)

+ 0 - 1
src/linux/swapon.c

@@ -1,5 +1,4 @@
 #include <sys/swap.h>
-#define SYSCALL_STANDALONE
 #include "syscall.h"
 
 int swapon(const char *path, int flags)

+ 0 - 1
src/linux/sysinfo.c

@@ -1,4 +1,3 @@
-#define SYSCALL_STANDALONE
 #include "syscall.h"
 
 struct sysinfo;

+ 0 - 1
src/linux/utimes.c

@@ -1,5 +1,4 @@
 #include <sys/time.h>
-#define SYSCALL_STANDALONE
 #include "syscall.h"
 
 int utimes(const char *path, const struct timeval times[2])

+ 0 - 1
src/linux/wait3.c

@@ -1,6 +1,5 @@
 #include <sys/wait.h>
 #include <sys/resource.h>
-#define SYSCALL_STANDALONE
 #include "syscall.h"
 
 pid_t wait4(pid_t, int *, int, struct rusage *);

+ 0 - 1
src/linux/wait4.c

@@ -1,7 +1,6 @@
 #include <sys/wait.h>
 #include <sys/resource.h>
 #include <string.h>
-#define SYSCALL_STANDALONE
 #include "syscall.h"
 
 pid_t wait4(pid_t pid, int *status, int options, struct rusage *usage)