diff options
Diffstat (limited to 'libbb')
-rw-r--r-- | libbb/Makefile.in | 4 | ||||
-rw-r--r-- | libbb/module_syscalls.c | 116 | ||||
-rw-r--r-- | libbb/syscalls.c | 113 |
3 files changed, 2 insertions, 231 deletions
diff --git a/libbb/Makefile.in b/libbb/Makefile.in index 44c7a98..dae3c12 100644 --- a/libbb/Makefile.in +++ b/libbb/Makefile.in @@ -32,14 +32,14 @@ LIBBB_SRC:= \ hash_fd.c herror_msg.c herror_msg_and_die.c \ human_readable.c inet_common.c inode_hash.c interface.c isdirectory.c \ kernel_version.c last_char_is.c llist_add_to.c login.c loop.c \ - make_directory.c mode_string.c module_syscalls.c mtab.c mtab_file.c \ + make_directory.c mode_string.c mtab.c mtab_file.c \ my_getgrgid.c my_getgrnam.c my_getpwnam.c my_getug.c\ my_getpwuid.c obscure.c parse_mode.c parse_number.c perror_msg.c \ perror_msg_and_die.c print_file.c get_console.c \ process_escape_sequence.c procps.c pwd2spwd.c pw_encrypt.c qmodule.c \ read_package_field.c recursive_action.c remove_file.c \ restricted_shell.c run_parts.c run_shell.c safe_read.c safe_write.c \ - safe_strncpy.c setup_environment.c simplify_path.c syscalls.c \ + safe_strncpy.c setup_environment.c simplify_path.c \ trim.c u_signal_names.c vdprintf.c verror_msg.c \ vherror_msg.c vperror_msg.c wfopen.c xconnect.c xgetcwd.c \ xgethostbyname.c xgethostbyname2.c xreadlink.c xregcomp.c xgetlarg.c \ diff --git a/libbb/module_syscalls.c b/libbb/module_syscalls.c deleted file mode 100644 index a2ff528..0000000 --- a/libbb/module_syscalls.c +++ /dev/null @@ -1,116 +0,0 @@ -/* vi: set sw=4 ts=4: */ -/* - * some system calls possibly missing from libc - * - * Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - */ - -#include <stdio.h> -#include <errno.h> -#include <unistd.h> -#include <sys/syscall.h> -#include "libbb.h" - -/* uClibc always supplies (possibly ENOSYS) versions of these functions. */ -#ifndef __UCLIBC__ - -/* These syscalls are not included in very old glibc versions */ -int delete_module(const char *name) -{ -#ifndef __NR_delete_module -#warning This kernel does not support the delete_module syscall -#warning -> The delete_module system call is being stubbed out... - errno=ENOSYS; - return -1; -#else - return(syscall(__NR_delete_module, name)); -#endif -} - -int get_kernel_syms(__ptr_t ks) -{ -#ifndef __NR_get_kernel_syms -#warning This kernel does not support the get_kernel_syms syscall -#warning -> The get_kernel_syms system call is being stubbed out... - errno=ENOSYS; - return -1; -#else - return(syscall(__NR_get_kernel_syms, ks)); -#endif -} - -/* This may have 5 arguments (for old 2.0 kernels) or 2 arguments - * (for 2.2 and 2.4 kernels). Use the greatest common denominator, - * and let the kernel cope with whatever it gets. Its good at that. */ -int init_module(void *first, void *second, void *third, void *fourth, void *fifth) -{ -#ifndef __NR_init_module -#warning This kernel does not support the init_module syscall -#warning -> The init_module system call is being stubbed out... - errno=ENOSYS; - return -1; -#else - return(syscall(__NR_init_module, first, second, third, fourth, fifth)); -#endif -} - -int query_module(const char *name, int which, void *buf, size_t bufsize, size_t *ret) -{ -#ifndef __NR_query_module -#warning This kernel does not support the query_module syscall -#warning -> The query_module 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 query_module system call.\n"); - errno=ENOSYS; - return -1; -#else - return(syscall(__NR_query_module, name, which, buf, bufsize, ret)); -#endif -} - -/* Jump through hoops to fixup error return codes */ -unsigned long create_module(const char *name, size_t size) -{ -#ifndef __NR_create_module -#warning This kernel does not support the create_module syscall -#warning -> The create_module system call is being stubbed out... - errno=ENOSYS; - return -1; -#else - long ret = syscall(__NR_create_module, name, size); - - if (ret == -1 && errno > 125) { - ret = -errno; - errno = 0; - } - return ret; -#endif -} - - -#endif /* __UCLIBC__ */ - -/* END CODE */ -/* -Local Variables: -c-file-style: "linux" -c-basic-offset: 4 -tab-width: 4 -End: -*/ - diff --git a/libbb/syscalls.c b/libbb/syscalls.c deleted file mode 100644 index a90f5de..0000000 --- a/libbb/syscalls.c +++ /dev/null @@ -1,113 +0,0 @@ -/* vi: set sw=4 ts=4: */ -/* - * some system calls possibly missing from libc - * - * Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - */ - -#include <stdio.h> -#include <errno.h> -#include <unistd.h> -/* Kernel headers before 2.1.mumble need this on the Alpha to get - _syscall* defined. */ -#define __LIBRARY__ -#include <sys/syscall.h> -#include "libbb.h" - -int sysfs(int option, unsigned int fs_index, char * buf) -{ -#ifndef __NR_sysfs -#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 sysfs 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) -{ -#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; -#else - return(syscall(__NR_pivot_root, new_root, put_old)); -#endif /* __NR_pivot_root */ -} - - -/* 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)); -} - -#ifndef __alpha__ -# define __NR_klogctl __NR_syslog -int klogctl(int type, char *b, int len) -{ - return(syscall(__NR_klogctl, type, b, len)); -} -#endif /* __alpha__ */ - - -int umount2(const char * special_file, int flags) -{ -#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; -#else - return(syscall(__NR_umount2, special_file, flags)); -#endif /* __NR_umount2 */ -} - -#endif /* old glibc check */ - - -/* END CODE */ -/* -Local Variables: -c-file-style: "linux" -c-basic-offset: 4 -tab-width: 4 -End: -*/ |