2006-02-20 Roland McGrath <roland@redhat.com>
authorRoland McGrath <roland@gnu.org>
Tue, 21 Feb 2006 02:12:56 +0000 (02:12 +0000)
committerRoland McGrath <roland@gnu.org>
Tue, 21 Feb 2006 02:12:56 +0000 (02:12 +0000)
* sysdeps/mips/shlib-versions: New file.
* sysdeps/mips/preconfigure: New file.
* sysdeps/unix/sysv/linux/mips/kernel-features.h: New file.

sysdeps/mips/preconfigure [new file with mode: 0644]
sysdeps/mips/shlib-versions [new file with mode: 0644]
sysdeps/unix/sysv/linux/mips/kernel-features.h [new file with mode: 0644]

diff --git a/sysdeps/mips/preconfigure b/sysdeps/mips/preconfigure
new file mode 100644 (file)
index 0000000..9190eee
--- /dev/null
@@ -0,0 +1,29 @@
+case "$machine" in
+mips64*)       base_machine=mips64
+               case "$CC $CFLAGS $CPPFLAGS " in
+               *" -mabi=n32 "*) mips_cc_abi=n32 ;;
+               *" -mabi=64 "*|*" -mabi=n64 "*) mips_cc_abi=64 ;;
+               *" -mabi=32 "*|*" -mabi=o32 "*) mips_cc_abi=32 ;;
+               *) mips_cc_abi=default ;;
+               esac
+               case $config_os in
+               *abin32*) mips_config_abi=n32 ;;
+               *abi64*|*abin64*) mips_config_abi=64 ;;
+               *abi32*|*abio32*) mips_config_abi=32 ;;
+               *) mips_config_abi=$mips_cc_abi ;;
+               esac
+               case $mips_config_abi in
+               default) machine=mips/mips64/n32 mips_config_abi=n32 ;;
+               n32) machine=mips/mips64/n32 ;;
+               64) machine=mips/mips64/n64 ;;
+               32) machine=mips/mips32/kern64 ;;
+               esac
+               machine=$machine/$config_machine
+               if test $mips_config_abi != $mips_cc_abi; then
+                 # This won't make it to config.make, but we want to
+                 # set this in case configure tests depend on it.
+                 CPPFLAGS="$CPPFLAGS -mabi=$mips_config_abi"
+               fi
+               ;;
+mips*)         base_machine=mips machine=mips/mips32/$machine ;;
+esac
diff --git a/sysdeps/mips/shlib-versions b/sysdeps/mips/shlib-versions
new file mode 100644 (file)
index 0000000..7809393
--- /dev/null
@@ -0,0 +1,21 @@
+mips.*-.*-linux.*      libm=6                  GLIBC_2.0 GLIBC_2.2
+
+# Working mips versions were never released between 2.0 and 2.2.
+mips.*-.*-linux.*      libc=6                  GLIBC_2.0 GLIBC_2.2
+
+mips.*-.*-linux.*      ld=ld.so.1              GLIBC_2.0 GLIBC_2.2
+mips.*-.*-linux.*      libdl=2                 GLIBC_2.0 GLIBC_2.2
+
+mips.*-.*-linux.*      libresolv=2             GLIBC_2.0 GLIBC_2.2
+
+mips.*-.*-linux.*      libnss_files=2          GLIBC_2.0 GLIBC_2.2
+mips.*-.*-linux.*      libnss_dns=2            GLIBC_2.0 GLIBC_2.2
+mips.*-.*-linux.*      libnss_compat=2         GLIBC_2.0 GLIBC_2.2
+mips.*-.*-linux.*      libnss_nis=2            GLIBC_2.0 GLIBC_2.2
+mips.*-.*-linux.*      libnss_nisplus=2        GLIBC_2.0 GLIBC_2.2
+mips.*-.*-linux.*      libnss_ldap=2           GLIBC_2.0 GLIBC_2.2
+mips.*-.*-linux.*      libnss_hesiod=2         GLIBC_2.0 GLIBC_2.2
+
+mips.*-.*-linux.*      libnsl=1                GLIBC_2.0 GLIBC_2.2
+
+mips.*-.*-linux.*      librt=1                 GLIBC_2.0 GLIBC_2.2
diff --git a/sysdeps/unix/sysv/linux/mips/kernel-features.h b/sysdeps/unix/sysv/linux/mips/kernel-features.h
new file mode 100644 (file)
index 0000000..f479b60
--- /dev/null
@@ -0,0 +1,34 @@
+/* Set flags signalling availability of kernel features based on given
+   kernel version number.
+   Copyright (C) 1999-2003, 2004, 2005, 2006 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 Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 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
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+#include <sgidefs.h>
+
+/* Linux 2.3.39 introduced 32bit UID/GIDs.  Some platforms had 32
+   bit type all along.  */
+#define __ASSUME_32BITUIDS             1
+
+/* MIPS platforms had IPC64 all along.  */
+#define __ASSUME_IPC64         1
+
+#if _MIPS_SIM == _ABIN32
+# define __ASSUME_FCNTL64              1
+#endif
+
+#include_next <kernel-features.h>