update from main archive 961127 libc-961128
authordrepper <drepper>
Thu, 28 Nov 1996 04:15:52 +0000 (04:15 +0000)
committerdrepper <drepper>
Thu, 28 Nov 1996 04:15:52 +0000 (04:15 +0000)
sysdeps/unix/sysv/linux/Makefile
sysdeps/unix/sysv/linux/alpha/sys/io.h
sysdeps/unix/sysv/linux/alpha/syscalls.list
sysdeps/unix/sysv/linux/configure
sysdeps/unix/sysv/linux/i386/brk.c
sysdeps/unix/sysv/linux/i386/syscalls.list
sysdeps/unix/sysv/linux/i386/sysdep.S
sysdeps/unix/sysv/linux/init-first.c
sysdeps/unix/sysv/linux/llseek.c [new file with mode: 0644]
sysdeps/unix/sysv/linux/m68k/sysdep.S
sysdeps/unix/sysv/linux/syscalls.list

index 69c207a..a200064 100644 (file)
@@ -1,9 +1,11 @@
 ifeq ($(subdir), csu)
 CFLAGS-init-first.c = -fkeep-inline-functions
+
+sysdep_routines += errno-loc
 endif
 
 ifeq ($(subdir), misc)
-sysdep_routines += sysctl clone
+sysdep_routines += sysctl clone llseek
 
 sysdep_headers += sys/mount.h sys/acct.h sys/sysctl.h sys/mtio.h \
                  sys/module.h sys/io.h sys/klog.h sys/kdaemon.h \
index c4aa2c7..208e793 100644 (file)
@@ -54,6 +54,19 @@ extern unsigned long bus_base_sparse __P ((void)) __attribute__ ((const));
 extern int _hae_shift __P ((void)) __attribute__ ((const));
 extern int hae_shift __P ((void)) __attribute__ ((const));
 
+/* Access PCI space protected from machine checks.  */
+extern int pciconfig_read __P ((unsigned long int __bus,
+                               unsigned long int __dfn,
+                               unsigned long int __off,
+                               unsigned long int __len,
+                               unsigned char *__buf));
+
+extern int pciconfig_write __P ((unsigned long int __bus,
+                                unsigned long int __dfn,
+                                unsigned long int __off,
+                                unsigned long int __len,
+                                unsigned char *__buf));
+
 __END_DECLS
 
 #endif /* _SYS_IO_H */
index 4a52bf2..49cc697 100644 (file)
@@ -21,6 +21,7 @@ getdents      -       getdents        3       __getdirentries getdirentries
 getpeername    -       getpeername     3       __getpeername   getpeername
 getpriority    -       getpriority     2       __getpriority   getpriority
 mmap           -       mmap            6       __mmap          mmap
+llseek         EXTRA   lseek           3       llseek
 
 # these are actually common with the x86:
 fstatfs                -       fstatfs         2       __fstatfs       fstatfs
@@ -46,3 +47,7 @@ setsockopt    -       setsockopt      5       __setsockopt    setsockopt
 shutdown       -       shutdown        2       __shutdown      shutdown
 socketpair     -       socketpair      4       __socketpair    socketpair
 sysctl         -       _sysctl         6       sysctl
+
+# access pci space protected from machine checks:
+pciconfig_read EXTRA   pciconfig_read  5       pciconfig_read
+pciconfig_write        EXTRA   pciconfig_write 5       pciconfig_write
index 2592c6c..ef7590d 100644 (file)
@@ -52,3 +52,25 @@ if test "$prefix" = "/usr"; then
   libc_cv_slibdir="/lib"
   libc_cv_sysconfdir="/etc"
 fi
+
+# Under Linux the LinuxThreads and crypt add-on should be available.
+case $add_ons in
+  # Both are available.  Good.
+  *linuxthreads*des-crypt* | *des-crypt*linuxthreads*)
+    ;;
+  *linuxthreads*)
+    echo "\
+*** WARNING:
+*** Are you sure you do not want to use the \`crypt' add-on?"
+    ;;
+  *des-crypt*)
+    echo "\
+*** WARNING:
+*** Are you sure you do not want to use the \`LinuxThread' add-on?"
+    ;;
+  *)
+    echo "\
+*** WARNING: Are you sure you do not want to use the \`LinuxThreads'
+*** and \`crypt' add-ons?"
+    ;;
+esac
index d11c3c4..5bb9d59 100644 (file)
@@ -1,21 +1,21 @@
 /* brk system call for Linux/i386.
-Copyright (C) 1995, 1996 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., 675 Mass Ave,
-Cambridge, MA 02139, USA.  */
+   Copyright (C) 1995, 1996 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 <errno.h>
 #include <unistd.h>
index 63dd0bd..d95a120 100644 (file)
@@ -1,3 +1,4 @@
 # File name    Caller  Syscall name    # args  Strong name     Weak names
 
+s_llseek       llseek  _llseek         5       __sys_llseek
 vm86           -       vm86            1       __vm86          vm86
index d676004..4b86d1d 100644 (file)
@@ -52,20 +52,3 @@ ENTRY (__syscall_error)
 #include <sysdeps/unix/i386/sysdep.S>
 
 #endif /* !PIC */
-
-
-       .weak __errno_location
-       .type __errno_location,@function
-       .align 16
-__errno_location:
-       CALL_MCOUNT
-#ifdef PIC
-       call .L2
-.L2:   popl %ecx
-       addl $_GLOBAL_OFFSET_TABLE_+[.-.L2], %ecx
-       movl errno@GOT(%ecx), %eax
-#else
-       movl $errno, %eax
-#endif
-       ret
-END (__errno_location)
index 6e1d712..7c5b510 100644 (file)
@@ -1,21 +1,21 @@
 /* Initialization code run first thing by the ELF startup code.  Linux version.
-Copyright (C) 1995, 1996 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., 675 Mass Ave,
-Cambridge, MA 02139, USA.  */
+   Copyright (C) 1995, 1996 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 <unistd.h>
 #include <sysdep.h>
diff --git a/sysdeps/unix/sysv/linux/llseek.c b/sysdeps/unix/sysv/linux/llseek.c
new file mode 100644 (file)
index 0000000..a1284db
--- /dev/null
@@ -0,0 +1,35 @@
+/* Long-long seek operation.
+   Copyright (C) 1996 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 <sys/types.h>
+
+
+extern int __sys_llseek (int fd, off_t offset_hi, off_t offset_lo,
+                        loff_t *result, int whence);
+
+/* Seek to OFFSET on FD, starting from WHENCE.  */
+loff_t
+llseek (int fd, loff_t offset, int whence)
+{
+  loff_t result;
+
+  return (loff_t) (__sys_llseek (fd, (off_t) (offset >> 32),
+                                (off_t) (offset & 0xffffffff),
+                                &result, whence) ?: result);
+}
index 95e6354..5533be2 100644 (file)
@@ -61,16 +61,3 @@ __syscall_error:
        rts
 END (__syscall_error)
 #endif /* PIC */
-
-       .weak __errno_location
-       .type __errno_location,@function
-       .align 4
-__errno_location:
-       CALL_MCOUNT
-#ifdef PIC
-       move.l  (%pc, errno@GOTPC), %a0
-#else
-       lea     errno, %a0
-#endif
-       rts
-END (__errno_location)
index 01ca1bc..07a3c1d 100644 (file)
@@ -20,7 +20,6 @@ ioperm                -       ioperm          3       ioperm
 iopl           -       iopl            1       iopl
 ipc            msgget  ipc             5       __ipc
 klogctl                EXTRA   syslog          3       klogctl
-llseek         EXTRA   _llseek         5       _llseek         llseek
 mlock          EXTRA   mlock           2       __mlock mlock
 mlockall       EXTRA   mlockall        1       __mlockall      mlockall
 mount          EXTRA   mount           5       __mount mount