From 21ee716616e7d55f19ce8643f12954145769d588 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Tue, 24 Oct 1995 20:29:05 +0000 Subject: [PATCH] Tue Oct 24 15:22:58 1995 Roland McGrath * sysdeps/unix/configure.in: Check for fchdir syscall. Improve sed script to allow / on rhs without / on lhs. Thu Oct 19 03:47:32 1995 Ulrich Drepper * sysdeps/unix/sysv/linux/termbits.h: Don't define speed constants. * elf/rtld.c: Include _itoa.h from stdio-common instead of stdio. * sysdeps/unix/sysv/linux/select.S: New file. --- ChangeLog | 13 +++++++++++++ elf/rtld.c | 4 +--- sysdeps/unix/configure.in | 5 +++-- sysdeps/unix/sysv/linux/select.S | 31 ++++++++++++++++++++++++++++++ sysdeps/unix/sysv/linux/termbits.h | 25 ------------------------ 5 files changed, 48 insertions(+), 30 deletions(-) create mode 100644 sysdeps/unix/sysv/linux/select.S diff --git a/ChangeLog b/ChangeLog index 8d30bff3d7..0fdd815b57 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +Tue Oct 24 15:22:58 1995 Roland McGrath + + * sysdeps/unix/configure.in: Check for fchdir syscall. + Improve sed script to allow / on rhs without / on lhs. + +Thu Oct 19 03:47:32 1995 Ulrich Drepper + + * sysdeps/unix/sysv/linux/termbits.h: Don't define speed constants. + + * elf/rtld.c: Include _itoa.h from stdio-common instead of stdio. + + * sysdeps/unix/sysv/linux/select.S: New file. + Wed Oct 18 03:33:22 1995 Roland McGrath * sysdeps/unix/sysv/linux/i386/sysdep.h (PSEUDO): Use diff --git a/elf/rtld.c b/elf/rtld.c index d780fcb870..19f5439ed0 100644 --- a/elf/rtld.c +++ b/elf/rtld.c @@ -22,7 +22,7 @@ Cambridge, MA 02139, USA. */ #include #include #include -#include "../stdio/_itoa.h" +#include "../stdio-common/_itoa.h" #ifdef RTLD_START @@ -331,8 +331,6 @@ _dl_r_debug_state (void) If we are linked into the user program (-ldl), the normal __assert_fail defn can override this one. */ -#include "../stdio/_itoa.h" - void __assert_fail (const char *assertion, const char *file, unsigned int line, const char *function) 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 + +/* 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