about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog13
-rw-r--r--elf/rtld.c4
-rw-r--r--sysdeps/unix/configure.in5
-rw-r--r--sysdeps/unix/sysv/linux/select.S31
-rw-r--r--sysdeps/unix/sysv/linux/termbits.h25
5 files changed, 48 insertions, 30 deletions
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  <roland@churchy.gnu.ai.mit.edu>
+
+	* 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  <drepper@ipd.info.uni-karlsruhe.de>
+
+	* 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  <roland@churchy.gnu.ai.mit.edu>
 
 	* 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 <stddef.h>
 #include <stdlib.h>
 #include <unistd.h>
-#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 <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