summaryrefslogtreecommitdiff
path: root/sysdeps/unix
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix')
-rw-r--r--sysdeps/unix/sysv/linux/Dist1
-rw-r--r--sysdeps/unix/sysv/linux/Makefile2
-rw-r--r--sysdeps/unix/sysv/linux/alpha/llseek.S60
-rw-r--r--sysdeps/unix/sysv/linux/configure53
-rw-r--r--sysdeps/unix/sysv/linux/configure.in47
-rw-r--r--sysdeps/unix/sysv/linux/sys/socketvar.h3
6 files changed, 75 insertions, 91 deletions
diff --git a/sysdeps/unix/sysv/linux/Dist b/sysdeps/unix/sysv/linux/Dist
index 0adc370632..40f65b838c 100644
--- a/sysdeps/unix/sysv/linux/Dist
+++ b/sysdeps/unix/sysv/linux/Dist
@@ -22,6 +22,7 @@ sys/mtio.h
sys/procfs.h
sys/quota.h
sys/socketcall.h
+sys/socketvar.h
sys/soundcard.h
sys/sysctl.h
sys/sysinfo.h
diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile
index c7cf1f9570..c03d966a61 100644
--- a/sysdeps/unix/sysv/linux/Makefile
+++ b/sysdeps/unix/sysv/linux/Makefile
@@ -51,7 +51,7 @@ inhibit-siglist := yes
endif
ifeq ($(subdir), inet)
-sysdep_headers += netinet/in_systm.h
+sysdep_headers += netinet/in_systm.h sys/socketvar.h
endif
# Don't compile the ctype glue code, since there is no old non-GNU C library.
diff --git a/sysdeps/unix/sysv/linux/alpha/llseek.S b/sysdeps/unix/sysv/linux/alpha/llseek.S
deleted file mode 100644
index a2e644c161..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/llseek.S
+++ /dev/null
@@ -1,60 +0,0 @@
-/* Copyright (C) 1993, 1995, 1996 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by David Mosberger <davidm@cs.arizona.edu>, 1995.
-
- 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. */
-
-/* For compatibility only: a "long" is 64 bits on the Alpha, so
- llseek() isn't really needed. But there are some programs out
- there who may depend on it being around. */
-
-#include <sysdep.h>
-
- .text
-ENTRY(llseek)
-#ifdef PROF
- ldgp gp, 0(pv)
- .set noat
- lda AT, _mcount
- jsr AT, (AT), _mcount
- .set at
- .prologue 1
-#else
- .prologue 0
-#endif
-
- sll a1, 32, a1 /* build a 64 bit ofs out of 32 bit operands */
- zap a2, 0xf0, a2
- mov a3, t0 /* save result address */
- bis a2, a1, a1
-
- mov a4, a2 /* shift down whence */
-
- ldi v0, __NR_lseek
- call_pal PAL_callsys
- bne a3, error
-
- stq v0, 0(t0)
- ret
-
-error:
-#ifndef PROF
- br gp, 1f
-1: ldgp gp, 0(gp)
-#endif
- jmp zero, __syscall_error
-
- END(llseek)
diff --git a/sysdeps/unix/sysv/linux/configure b/sysdeps/unix/sysv/linux/configure
index ef7590d367..867d4fbe7a 100644
--- a/sysdeps/unix/sysv/linux/configure
+++ b/sysdeps/unix/sysv/linux/configure
@@ -1,39 +1,16 @@
- # Local configure fragment for sysdeps/unix/sysv/linux.
-
-# On Linux, the default is to use libio instead of stdio.
-test $stdio = default && stdio=libio
-
-# Don't bother trying to generate any glue code to be compatible with the
-# existing system library, because we are the only system library.
-inhibit_glue=yes
-
-echo $ac_n "checking installed Linux kernel header files""... $ac_c" 1>&6
-if eval "test \"`echo '$''{'libc_cv_linux2010'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 16 "configure"
-#include "confdefs.h"
-#include <linux/version.h>
-int main() { return 0; }
-int t() {
-#if LINUX_VERSION_CODE < (2 *65536+ 0 *256+ 10) /* 2.0.10 */
-eat flaming death
-#endif
-; return 0; }
-EOF
-if { (eval echo configure:26: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+; then
rm -rf conftest*
libc_cv_linux2010='2.0.10 or later'
else
+ echo "configure: failed program was:" >&AC_FD_CC
+ cat conftest.$ac_ext >&AC_FD_CC
rm -rf conftest*
libc_cv_linux2010='TOO OLD!'
fi
rm -f conftest*
-
fi
-echo "$ac_t""$libc_cv_linux2010" 1>&6
+echo "$ac_t""$libc_cv_linux2010" 1>&AC_FD_MSG
if test "$libc_cv_linux2010" != '2.0.10 or later'; then
{ echo "configure: error: GNU libc requires kernel header files from
Linux 2.0.10 or later to be installed before configuring.
@@ -57,20 +34,36 @@ fi
case $add_ons in
# Both are available. Good.
*linuxthreads*des-crypt* | *des-crypt*linuxthreads*)
+ message=
;;
*linuxthreads*)
- echo "\
+ message="\
*** WARNING:
*** Are you sure you do not want to use the \`crypt' add-on?"
;;
*des-crypt*)
- echo "\
+ message="\
*** WARNING:
*** Are you sure you do not want to use the \`LinuxThread' add-on?"
;;
*)
- echo "\
+ message="\
*** WARNING: Are you sure you do not want to use the \`LinuxThreads'
*** and \`crypt' add-ons?"
;;
esac
+
+if test "$message"; then
+ if test $enable_sanity = yes; then
+ echo "\
+*** You should not compile the GNU libc without the \`LinuxThreads' and
+*** \`crypt' add-on. Not using them risks to be incompatible with the
+*** libraries of other systems. Consider getting the add-ons and restart
+*** the configuration.
+*** If you really mean to avoid those add-ons run configure again, now
+*** using the extra parameter \`--disable-sanity-checks'."
+ exit 1
+ else
+ echo "$message"
+ fi
+fi
diff --git a/sysdeps/unix/sysv/linux/configure.in b/sysdeps/unix/sysv/linux/configure.in
index c4937923a9..b6474a940c 100644
--- a/sysdeps/unix/sysv/linux/configure.in
+++ b/sysdeps/unix/sysv/linux/configure.in
@@ -29,3 +29,50 @@ Linux LIBC_LINUX_VERSION or later. This check uses <linux/version.h>, so
make sure that file was built correctly when installing the kernel header
files.])
fi
+
+# The Linux filesystem standard prescribes where to place "essential"
+# files. I.e., when the installation prefix is "/usr" we have to place
+# shared library objects and the configuation files on the root partition
+# in /lib and /etc.
+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*)
+ message=
+ ;;
+ *linuxthreads*)
+ message="\
+*** WARNING:
+*** Are you sure you do not want to use the \`crypt' add-on?"
+ ;;
+ *des-crypt*)
+ message="\
+*** WARNING:
+*** Are you sure you do not want to use the \`LinuxThread' add-on?"
+ ;;
+ *)
+ message="\
+*** WARNING: Are you sure you do not want to use the \`LinuxThreads'
+*** and \`crypt' add-ons?"
+ ;;
+esac
+
+if test "$message"; then
+ if test $enable_sanity = yes; then
+ echo "\
+*** You should not compile the GNU libc without the \`LinuxThreads' and
+*** \`crypt' add-on. Not using them risks to be incompatible with the
+*** libraries of other systems. Consider getting the add-ons and restart
+*** the configuration.
+*** If you really mean to avoid those add-ons run configure again, now
+*** using the extra parameter \`--disable-sanity-checks'."
+ exit 1
+ else
+ echo "$message"
+ fi
+fi
diff --git a/sysdeps/unix/sysv/linux/sys/socketvar.h b/sysdeps/unix/sysv/linux/sys/socketvar.h
new file mode 100644
index 0000000000..3945db124a
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/sys/socketvar.h
@@ -0,0 +1,3 @@
+/* This header is used on many systems but for Linux we have everything
+ already defined in the standard header. */
+#include <sys/socket.h>