diff options
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/unix/configure.in | 5 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/select.S | 31 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/termbits.h | 25 |
3 files changed, 34 insertions, 27 deletions
diff --git a/sysdeps/unix/configure.in b/sysdeps/unix/configure.in index 74456fe18c..37b6dcad86 100644 --- a/sysdeps/unix/configure.in +++ b/sysdeps/unix/configure.in @@ -72,6 +72,7 @@ for unix_function in \ getitimer setitimer \ getdomainname/getdomain=bsd/bsd4.4 \ setdomainname/setdomain=bsd/bsd4.4 \ + fchdir=bsd/bsd4.4 \ profil=bsd readv=bsd writev=bsd \ getpriority setpriority \ getrlimit setrlimit @@ -83,8 +84,8 @@ do unix_srcname= unix_srcdir=common eval "unix_syscall=`echo $unix_function | \ - sed -e 's@=\(.*\)$@ unix_srcdir=\1@' \ - -e 's@/\(.*\)$@ unix_srcname=\1@'`" + sed -e 's@=\(.*\)$@ unix_srcdir=\1@' \ + -e 's@/\([^=/]*\)$@ unix_srcname=\1@'`" test -z "$unix_srcname" && unix_srcname=$unix_syscall unix_implementor=none diff --git a/sysdeps/unix/sysv/linux/select.S b/sysdeps/unix/sysv/linux/select.S new file mode 100644 index 0000000000..0c8160bd7f --- /dev/null +++ b/sysdeps/unix/sysv/linux/select.S @@ -0,0 +1,31 @@ +/* Copyright (C) 1991, 1992, 1995 Free Software Foundation, Inc. +This file is part of the GNU C Library. + +The GNU C Library is free software; you can redistribute it and/or +modify it under the terms of the GNU Library General Public License as +published by the Free Software Foundation; either version 2 of the +License, or (at your option) any later version. + +The GNU C Library 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 +Library General Public License for more details. + +You should have received a copy of the GNU Library General Public +License along with the GNU C Library; see the file COPYING.LIB. If +not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +Boston, MA 02111-1307, USA. */ + +#include <sysdep.h> + +/* Linux has two versions of the select system call. The old one expected + one argument which must be a pointer to a struct which contains the + five values. The new version expects the five arguments be given in the + registers. Of course we use the new version but the syscall name + is `_newsyscall'. So we do some name magic here. */ +#define ___newselect __select + +SYSCALL__ (_newselect, 5) + ret + +weak_alias (__select, select) diff --git a/sysdeps/unix/sysv/linux/termbits.h b/sysdeps/unix/sysv/linux/termbits.h index 8a71334ba0..5af4c4aae8 100644 --- a/sysdeps/unix/sysv/linux/termbits.h +++ b/sysdeps/unix/sysv/linux/termbits.h @@ -107,31 +107,6 @@ struct termios #define CBAUDEX 0x00010000 /* Mask for extended speed from c_cflag. */ #endif - /* Input and output baud rates. These are encoded in c_cflag. */ -#define B0 0x000000000 -#define B50 0x000000001 -#define B75 0x000000002 -#define B110 0x000000003 -#define B134 0x000000004 -#define B150 0x000000005 -#define B200 0x000000006 -#define B300 0x000000007 -#define B600 0x000000008 -#define B1200 0x000000009 -#define B1800 0x00000000a -#define B2400 0x00000000b -#define B4800 0x00000000c -#define B9600 0x00000000d -#define B19200 0x00000000e -#define B38400 0x00000000f -#ifdef __USE_BSD -#define EXTA 0x00000000e -#define EXTB 0x00000000f -#endif -#define B57600 0x000010001 -#define B115200 0x000010002 -#define B230400 0x000010003 - /* Local modes. */ tcflag_t c_lflag; #ifdef __USE_BSD |