diff options
author | Rob Landley | 2005-09-07 06:39:02 +0000 |
---|---|---|
committer | Rob Landley | 2005-09-07 06:39:02 +0000 |
commit | 90ca6b2878bacfb9a92742aa54255295aa25cf6f (patch) | |
tree | f3af342196b9349f130bff3c640c7d1404a2e103 /libbb/module_syscalls.c | |
parent | 14efdc58ce064fd4e0601e7099aec1c54bdaba0b (diff) | |
download | busybox-90ca6b2878bacfb9a92742aa54255295aa25cf6f.zip busybox-90ca6b2878bacfb9a92742aa54255295aa25cf6f.tar.gz |
This code exists to compensate for ancient broken build environments which,
as far as I can tell, are no longer relevant. Modern busybox refuses to
build under libc5 (there's a specific test and #error for that), and
I'm not sure building against 2.1 kernel headers on Alpha was ever relevant.
I'm happy to put any of this back if anybody can point to a real need for it,
but if so we need to specifically document what environment is being
compensated for. (And we should quarrantine the build environment code
into one place, anyway. Maybe "quirks.h" for known compiler and
libc quirks?)
Diffstat (limited to 'libbb/module_syscalls.c')
-rw-r--r-- | libbb/module_syscalls.c | 116 |
1 files changed, 0 insertions, 116 deletions
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: -*/ - |