aboutsummaryrefslogtreecommitdiff
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