Fixes so "make allnoconfig" works again.
[oweals/busybox.git] / libbb / syscalls.c
index 9e89dbd39f8d3b507398106ee854a2a64f45f111..6786b1e6ba4a5fd5c96ee715a977ed8f6acd1474 100644 (file)
 #include <sys/syscall.h>
 #include "libbb.h"
 
-int sysfs( int option, unsigned int fs_index, char * buf)
+int sysfs(int option, unsigned int fs_index, char * buf)
 {
+#ifndef __NR_pivot_root
+#warning This kernel does not support the sysfs syscall
+#warning -> The sysfs system call is being stubbed out...
+       bb_error_msg("\n\nTo make this application work, you will need to recompile\n"
+                    "BusyBox with a kernel supporting the pivot_root system call.\n");
+       errno = ENOSYS;
+       return -1;
+#else
        return(syscall(__NR_sysfs, option, fs_index, buf));
+#endif
 }
 
 int pivot_root(const char * new_root,const char * put_old)
@@ -39,60 +48,59 @@ int pivot_root(const char * new_root,const char * put_old)
 #ifndef __NR_pivot_root
 #warning This kernel does not support the pivot_root syscall
 #warning -> The pivot_root system call is being stubbed out...
-    /* BusyBox was compiled against a kernel that did not support
-     *  the pivot_root system call.  To make this application work,
-     *  you will need to recompile with a kernel supporting the
-     *  pivot_root system call.
-     */
-    bb_error_msg("\n\nTo make this application work, you will need to recompile\n"
-           "BusyBox with a kernel supporting the pivot_root system call.\n");
-    errno=ENOSYS;
-    return -1;
+       /* BusyBox was compiled against a kernel that did not support
+        *  the pivot_root system call.  To make this application work,
+        *  you will need to recompile with a kernel supporting the
+        *  pivot_root system call.
+        */
+       bb_error_msg("\n\nTo make this application work, you will need to recompile\n"
+                    "BusyBox with a kernel supporting the pivot_root system call.\n");
+       errno = ENOSYS;
+       return -1;
 #else
-    return(syscall(__NR_pivot_root, new_root, put_old));
-#endif
+       return(syscall(__NR_pivot_root, new_root, put_old));
+#endif /* __NR_pivot_root */
 }
 
 
-
-/* These syscalls are not included in ancient glibc versions */
+/* These syscalls are not included in ancient glibc versions,
+   so we have to define them ourselves, whee ! */
 #if ((__GLIBC__ <= 2) && (__GLIBC_MINOR__ < 1))
 
 int bdflush(int func, int data)
 {
-    return(syscall(__NR_bdflush, func, data));
+       return(syscall(__NR_bdflush, func, data));
 }
 
 #ifndef __alpha__
 # define __NR_klogctl __NR_syslog
 int klogctl(int type, char *b, int len)
 {
-    return(syscall(__NR_klogctl, type, b, len));
+       return(syscall(__NR_klogctl, type, b, len));
 }
-#endif
+#endif /* __alpha__ */
 
 
 int umount2(const char * special_file, int flags)
 {
-#ifndef __NR_pivot_root
+#ifndef __NR_umount2
 #warning This kernel does not support the umount2 syscall
 #warning -> The umount2 system call is being stubbed out...
-    /* BusyBox was compiled against a kernel that did not support
-     *  the umount2 system call.  To make this application work,
-     *  you will need to recompile with a kernel supporting the
-     *  umount2 system call.
-     */
-    bb_error_msg("\n\nTo make this application work, you will need to recompile\n"
-           "BusyBox with a kernel supporting the umount2 system call.\n");
-    errno=ENOSYS;
-    return -1;
+       /* BusyBox was compiled against a kernel that did not support
+        *  the umount2 system call.  To make this application work,
+        *  you will need to recompile with a kernel supporting the
+        *  umount2 system call.
+        */
+       bb_error_msg("\n\nTo make this application work, you will need to recompile\n"
+                    "BusyBox with a kernel supporting the umount2 system call.\n");
+       errno = ENOSYS;
+       return -1;
 #else
-    return(syscall(__NR_umount2, special_file, flags));
-#endif
+       return(syscall(__NR_umount2, special_file, flags));
+#endif /* __NR_pivot_root */
 }
 
-
-#endif
+#endif /* old glibc check */
 
 
 /* END CODE */