]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Remove pre-2.4.21 Linux kernel support.
authorJoseph Myers <joseph@codesourcery.com>
Wed, 25 Jul 2012 21:19:13 +0000 (21:19 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Wed, 25 Jul 2012 21:19:13 +0000 (21:19 +0000)
23 files changed:
ChangeLog
nscd/gai.c
ports/ChangeLog.arm
ports/ChangeLog.m68k
ports/sysdeps/unix/sysv/linux/arm/kernel-features.h
ports/sysdeps/unix/sysv/linux/m68k/kernel-features.h
sysdeps/unix/sysv/linux/check_pf.c
sysdeps/unix/sysv/linux/configure
sysdeps/unix/sysv/linux/configure.in
sysdeps/unix/sysv/linux/if_index.c
sysdeps/unix/sysv/linux/ifaddrs.c
sysdeps/unix/sysv/linux/kernel-features.h
sysdeps/unix/sysv/linux/netlinkaccess.h
sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c
sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S
sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/fe_mask.c
sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/fe_nomask.c
sysdeps/unix/sysv/linux/powerpc/powerpc64/fpu/fe_mask.c
sysdeps/unix/sysv/linux/powerpc/powerpc64/fpu/fe_nomask.c
sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S
sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S
sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S
sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S

index aa7ce43e29daf4a7bf01755814b240365ee276ce..c80c8a981cfaaf06555cdd187711bab3f3f6a3ac 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,95 @@
+2012-07-25  Joseph Myers  <joseph@codesourcery.com>
+
+       [BZ #13717]
+       * sysdeps/unix/sysv/linux/configure.in (arch_minimum_kernel):
+       Change to 2.4.21 where previously 2.4.1.
+       * sysdeps/unix/sysv/linux/configure: Regenerated.
+       * sysdeps/unix/sysv/linux/kernel-features.h [(__powerpc__ ||
+       __sh__) && !__powerpc64__] (__ASSUME_FCNTL64): Do not condition on
+       Linux kernel version.
+       (__ASSUME_STD_AUXV): Remove.
+       [__powerpc__] (__ASSUME_VFORK_SYSCALL): Do not condition on Linux
+       kernel version.
+       [__powerpc__ && !__powerpc64] (__ASSUME_MMAP2_SYSCALL): Likewise.
+       (__ASSUME_NEW_PRCTL_SYSCALL): Remove.
+       (__ASSUME_FIXED_CLONE_SYSCALL): Likewise.
+       (__ASSUME_NEW_RT_SIGRETURN_SYSCALL): Likewise.
+       (__ASSUME_NETLINK_SUPPORT): Likewise.
+       * nscd/gai.c [NEED_NETLINK && __ASSUME_NETLINK_SUPPORT == 0]
+       (__no_netlink_support): Remove conditional definition.
+       * sysdeps/unix/sysv/linux/check_pf.c (__no_netlink_support):
+       Remove.
+       (__check_pf) [!__ASSUME_NETLINK_SUPPORT]: Remove conditional code.
+       [__ASSUME_NETLINK_SUPPORT]: Make code unconditional.
+       * sysdeps/unix/sysv/linux/if_index.c [!__ASSUME_NETLINK_SUPPORT]
+       (if_nameindex_ioctl): Remove.
+       (if_nameindex_netlink): Do not handle __no_netlink_support.
+       (if_nameindex) [!__ASSUME_NETLINK_SUPPORT]: Remove conditional
+       code.
+       * sysdeps/unix/sysv/linux/ifaddrs.c [!__ASSUME_NETLINK_SUPPORT]:
+       Remove conditional code.
+       (__netlink_open) [!__ASSUME_NETLINK_SUPPORT]: Remove conditional
+       code.
+       (getifaddrs_internal) [__ASSUME_NETLINK_SUPPORT]: Make code
+       unconditional.
+       [!__ASSUME_NETLINK_SUPPORT]: Remove conditional code.
+       [__ASSUME_NETLINK_SUPPORT] (freeifaddrs): Make code unconditional.
+       * sysdeps/unix/sysv/linux/netlinkaccess.h (__no_netlink_support):
+       Remove.
+       * sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c
+       [!__ASSUME_STD_AUXV]: Remove conditional code.
+       * sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S (__clone)
+       [!__ASSUME_FIXED_CLONE_SYSCALL]: Remove conditional code.
+       [__ASSUME_FIXED_CLONE_SYSCALL]: Make code unconditional.
+       * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/fe_mask.c
+       [!__ASSUME_NEW_PRCTL_SYSCALL] (fe_mask_handler): Remove.
+       (__fe_mask_env) [!__ASSUME_NEW_PRCTL_SYSCALL]: Remove conditional
+       code.
+       [__ASSUME_NEW_PRCTL_SYSCALL]: Make code unconditional.
+       * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/fe_nomask.c
+       [!__ASSUME_NEW_PRCTL_SYSCALL] (fe_nomask_handler): Remove.
+       (__fe_nomask_env) [!__ASSUME_NEW_PRCTL_SYSCALL]: Remove
+       conditional code.
+       [__ASSUME_NEW_PRCTL_SYSCALL]: Make code unconditional.
+       * sysdeps/unix/sysv/linux/powerpc/powerpc64/fpu/fe_mask.c
+       (__fe_mask_env) [!__ASSUME_NEW_PRCTL_SYSCALL]: Remove conditional
+       code.
+       * sysdeps/unix/sysv/linux/powerpc/powerpc64/fpu/fe_nomask.c
+       (__fe_nomask_env) [!__ASSUME_NEW_PRCTL_SYSCALL]: Remove
+       conditional code.
+       * sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S
+       (__novec_getcontext) [__ASSUME_NEW_RT_SIGRETURN_SYSCALL]: Make
+       code unconditional.
+       (__novec_getcontext) [!__ASSUME_NEW_RT_SIGRETURN_SYSCALL]: Remove
+       conditional code.
+       (__getcontext) [__ASSUME_NEW_RT_SIGRETURN_SYSCALL]: Make code
+       unconditional.
+       (__getcontext) [!__ASSUME_NEW_RT_SIGRETURN_SYSCALL]: Remove
+       conditional code.
+       * sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S
+       (__makecontext) [__ASSUME_NEW_RT_SIGRETURN_SYSCALL]: Make code
+       unconditional.
+       (__makecontext) [!__ASSUME_NEW_RT_SIGRETURN_SYSCALL]: Remove
+       conditional code.
+       * sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S
+       (__novec_setcontext) [__ASSUME_NEW_RT_SIGRETURN_SYSCALL]: Make
+       code unconditional.
+       (__novec_setcontext) [!__ASSUME_NEW_RT_SIGRETURN_SYSCALL]: Remove
+       conditional code.
+       (__setcontext) [__ASSUME_NEW_RT_SIGRETURN_SYSCALL]: Make code
+       unconditional.
+       (__setcontext) [!__ASSUME_NEW_RT_SIGRETURN_SYSCALL]: Remove
+       conditional code.
+       * sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S
+       (__novec_swapcontext) [__ASSUME_NEW_RT_SIGRETURN_SYSCALL]: Make
+       code unconditional.
+       (__novec_swapcontext) [!__ASSUME_NEW_RT_SIGRETURN_SYSCALL]: Remove
+       conditional code.
+       (__swapcontext) [__ASSUME_NEW_RT_SIGRETURN_SYSCALL]: Make code
+       unconditional.
+       (__swapcontext) [!__ASSUME_NEW_RT_SIGRETURN_SYSCALL]: Remove
+       conditional code.
+
 2012-07-25  Andreas Schwab  <schwab@linux-m68k.org>
 
        * sysdeps/unix/sysv/linux/i386/accept4.S: Remove pseudo_end label.
index 2df7ea7487a1562f707d6ae5ecb617c9ddd0e27f..1c6527cf0ce89daf2ed9339855863107b6c854fb 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 2004-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 2004.
 
@@ -43,7 +43,3 @@
 
 /* Some variables normally defined in libc.  */
 service_user *__nss_hosts_database;
-
-#if defined NEED_NETLINK && __ASSUME_NETLINK_SUPPORT == 0
-int __no_netlink_support attribute_hidden;
-#endif
index 3da39269fcb3b6debfe56436cd951f689cf1fbbe..b921a769c51a6427b093fa3fc91ec6fb5cf1ce32 100644 (file)
@@ -1,3 +1,8 @@
+2012-07-25  Joseph Myers  <joseph@codesourcery.com>
+
+       * sysdeps/unix/sysv/linux/arm/kernel-features.h
+       (__ASSUME_FCNTL64): Define unconditionally.
+
 2012-07-25  Florian Weimer  <fweimer@redhat.com>
 
        * sysdeps/unix/sysv/linux/arm/nptl/libc.abilist: Add
index 7ae6f4139f57904f62a864404abc63d61c1a1a73..f26c052e59a4b0a8b5508e06cf4d87a6e817a803 100644 (file)
@@ -1,3 +1,11 @@
+2012-07-25  Joseph Myers  <joseph@codesourcery.com>
+
+       * sysdeps/unix/sysv/linux/m68k/kernel-features.h
+       (__ASSUME_MMAP2_SYSCALL): Define unconditionally.
+       (__ASSUME_STAT64_SYSCALL): Likewise.
+       (__ASSUME_FCNTL64): Likewise.
+       (__ASSUME_VFORK_SYSCALL): Likewise.
+
 2012-07-25  Florian Weimer  <fweimer@redhat.com>
 
        * sysdeps/unix/sysv/linux/m68k/coldfire/nptl/libc.abilist:
index 90c59efead0ee11202d181418fac73e59bfc63e3..9092df7192c0000571ec95e19efdd05c91214af5 100644 (file)
@@ -28,9 +28,7 @@
 #define __ASSUME_STAT64_SYSCALL        1
 
 /* Arm got fcntl64 in 2.4.4.  */
-#if __LINUX_KERNEL_VERSION >= 132100
-# define __ASSUME_FCNTL64              1
-#endif
+#define __ASSUME_FCNTL64               1
 
 /* The vfork syscall on arm was definitely available in 2.4.  */
 #define __ASSUME_VFORK_SYSCALL         1
index c12be9e07c36fe7a0f504a6c67295ffebbae3844..3b0b441aa4dd61a0a6dfef635e8fe8bf21e234da 100644 (file)
    <http://www.gnu.org/licenses/>.  */
 
 /* These features were surely available with 2.4.12.  */
-#if __LINUX_KERNEL_VERSION >= 132108
-# define __ASSUME_MMAP2_SYSCALL                1
-# define __ASSUME_STAT64_SYSCALL       1
-# define __ASSUME_FCNTL64              1
-# define __ASSUME_VFORK_SYSCALL                1
-#endif
+#define __ASSUME_MMAP2_SYSCALL         1
+#define __ASSUME_STAT64_SYSCALL        1
+#define __ASSUME_FCNTL64               1
+#define __ASSUME_VFORK_SYSCALL         1
 
 /* Many syscalls were added in 2.6.10 for m68k.  */
 #if __LINUX_KERNEL_VERSION >= 132618
index 793d27db4e66fefee2589bd71e3fbc19453228e7..950498acd48b1712392825d21ff04a550a6e384f 100644 (file)
@@ -1,5 +1,5 @@
 /* Determine protocol families for which interfaces exist.  Linux version.
-   Copyright (C) 2003, 2006-2008, 2010, 2011 Free Software Foundation, Inc.
+   Copyright (C) 2003-2012 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
@@ -289,16 +289,6 @@ out_fail:
 }
 
 
-/* We don't know if we have NETLINK support compiled into our
-   Kernel.  */
-#if __ASSUME_NETLINK_SUPPORT == 0
-/* Define in ifaddrs.h.  */
-extern int __no_netlink_support attribute_hidden;
-#else
-# define __no_netlink_support 0
-#endif
-
-
 void
 attribute_hidden
 __check_pf (bool *seen_ipv4, bool *seen_ipv6,
@@ -307,12 +297,10 @@ __check_pf (bool *seen_ipv4, bool *seen_ipv6,
   *in6ai = NULL;
   *in6ailen = 0;
 
-  if (! __no_netlink_support)
-    {
-      struct cached_data *olddata = NULL;
-      struct cached_data *data = NULL;
+  struct cached_data *olddata = NULL;
+  struct cached_data *data = NULL;
 
-      __libc_lock_lock (lock);
+  __libc_lock_lock (lock);
 
 #ifdef IS_IN_nscd
 # define cache_valid() nl_timestamp != 0 && cache->timestamp == nl_timestamp
@@ -321,90 +309,59 @@ __check_pf (bool *seen_ipv4, bool *seen_ipv6,
       ({ uint32_t val = __nscd_get_nl_timestamp ();                          \
         val != 0 && cache->timestamp == val; })
 #endif
-      if (cache != NULL && cache_valid ())
-       {
-         data = cache;
-         atomic_increment (&cache->usecnt);
-       }
-      else
-       {
-         int fd = __socket (PF_NETLINK, SOCK_RAW, NETLINK_ROUTE);
-
-         if (__builtin_expect (fd >= 0, 1))
-           {
-             struct sockaddr_nl nladdr;
-             memset (&nladdr, '\0', sizeof (nladdr));
-             nladdr.nl_family = AF_NETLINK;
+  if (cache != NULL && cache_valid ())
+    {
+      data = cache;
+      atomic_increment (&cache->usecnt);
+    }
+  else
+    {
+      int fd = __socket (PF_NETLINK, SOCK_RAW, NETLINK_ROUTE);
 
-             socklen_t addr_len = sizeof (nladdr);
+      if (__builtin_expect (fd >= 0, 1))
+       {
+         struct sockaddr_nl nladdr;
+         memset (&nladdr, '\0', sizeof (nladdr));
+         nladdr.nl_family = AF_NETLINK;
 
-             if(__bind (fd, (struct sockaddr *) &nladdr, sizeof (nladdr)) == 0
-                && __getsockname (fd, (struct sockaddr *) &nladdr,
-                                  &addr_len) == 0)
-               data = make_request (fd, nladdr.nl_pid);
+         socklen_t addr_len = sizeof (nladdr);
 
-             close_not_cancel_no_status (fd);
-           }
+         if (__bind (fd, (struct sockaddr *) &nladdr, sizeof (nladdr)) == 0
+             && __getsockname (fd, (struct sockaddr *) &nladdr,
+                               &addr_len) == 0)
+           data = make_request (fd, nladdr.nl_pid);
 
-         if (data != NULL)
-           {
-             olddata = cache;
-             cache = data;
-           }
+         close_not_cancel_no_status (fd);
        }
 
-      __libc_lock_unlock (lock);
-
       if (data != NULL)
        {
-         /* It worked.  */
-         *seen_ipv4 = data->seen_ipv4;
-         *seen_ipv6 = data->seen_ipv6;
-         *in6ailen = data->in6ailen;
-         *in6ai = data->in6ai;
-
-         if (olddata != NULL && olddata->usecnt > 0
-             && atomic_add_zero (&olddata->usecnt, -1))
-           free (olddata);
-
-         return;
+         olddata = cache;
+         cache = data;
        }
-
-#if __ASSUME_NETLINK_SUPPORT == 0
-      /* Remember that there is no netlink support.  */
-      __no_netlink_support = 1;
-#else
-      /* We cannot determine what interfaces are available.  Be
-        pessimistic.  */
-      *seen_ipv4 = true;
-      *seen_ipv6 = true;
-#endif
     }
 
-#if __ASSUME_NETLINK_SUPPORT == 0
-  /* No netlink.  Get the interface list via getifaddrs.  */
-  struct ifaddrs *ifa = NULL;
-  if (getifaddrs (&ifa) != 0)
+  __libc_lock_unlock (lock);
+
+  if (data != NULL)
     {
-      /* We cannot determine what interfaces are available.  Be
-        pessimistic.  */
-      *seen_ipv4 = true;
-      *seen_ipv6 = true;
+      /* It worked.  */
+      *seen_ipv4 = data->seen_ipv4;
+      *seen_ipv6 = data->seen_ipv6;
+      *in6ailen = data->in6ailen;
+      *in6ai = data->in6ai;
+
+      if (olddata != NULL && olddata->usecnt > 0
+         && atomic_add_zero (&olddata->usecnt, -1))
+       free (olddata);
+
       return;
     }
 
-  struct ifaddrs *runp;
-  for (runp = ifa; runp != NULL; runp = runp->ifa_next)
-    if (runp->ifa_addr != NULL)
-      {
-       if (runp->ifa_addr->sa_family == PF_INET)
-         *seen_ipv4 = true;
-       else if (runp->ifa_addr->sa_family == PF_INET6)
-         *seen_ipv6 = true;
-      }
-
-  (void) freeifaddrs (ifa);
-#endif
+  /* We cannot determine what interfaces are available.  Be
+     pessimistic.  */
+  *seen_ipv4 = true;
+  *seen_ipv6 = true;
 }
 
 
index b86b763ad7202ee97529f203cdac19ceeeb7f90f..0650067e47cf1806011c3f552134f06303be3b47 100644 (file)
@@ -284,25 +284,22 @@ test -n "$arch_minimum_kernel" ||
 case "$machine" in
   i386*)
     libc_cv_gcc_unwind_find_fde=yes
-    arch_minimum_kernel=2.4.1
+    arch_minimum_kernel=2.4.21
     ;;
   powerpc/powerpc32)
     libc_cv_gcc_unwind_find_fde=yes
-    arch_minimum_kernel=2.4.1
-    ;;
-  powerpc/powerpc64)
     arch_minimum_kernel=2.4.21
     ;;
   s390/s390-32)
     libc_cv_gcc_unwind_find_fde=yes
-    arch_minimum_kernel=2.4.1
+    arch_minimum_kernel=2.4.21
     ;;
   s390/s390-64)
     libc_cv_gcc_unwind_find_fde=yes
-    arch_minimum_kernel=2.4.1
+    arch_minimum_kernel=2.4.21
     ;;
   sh*)
-    arch_minimum_kernel=2.4.1
+    arch_minimum_kernel=2.4.21
     libc_cv_gcc_unwind_find_fde=yes
     ;;
   sparc/sparc64*)
@@ -311,10 +308,10 @@ case "$machine" in
     ;;
   sparc*)
     libc_cv_gcc_unwind_find_fde=yes
-    arch_minimum_kernel=2.4.1
+    arch_minimum_kernel=2.4.21
     ;;
   *)
-    arch_minimum_kernel=2.4.1
+    arch_minimum_kernel=2.4.21
     ;;
 esac
 if test -n "$minimum_kernel"; then
index 05cf3bc95ef3bf53853b5c77a21d8963811eeafd..fc514fbf4a159d14552abbcfd1012042eb645c02 100644 (file)
@@ -41,25 +41,22 @@ test -n "$arch_minimum_kernel" ||
 case "$machine" in
   i386*)
     libc_cv_gcc_unwind_find_fde=yes
-    arch_minimum_kernel=2.4.1
+    arch_minimum_kernel=2.4.21
     ;;
   powerpc/powerpc32)
     libc_cv_gcc_unwind_find_fde=yes
-    arch_minimum_kernel=2.4.1
-    ;;
-  powerpc/powerpc64)
     arch_minimum_kernel=2.4.21
     ;;
   s390/s390-32)
     libc_cv_gcc_unwind_find_fde=yes
-    arch_minimum_kernel=2.4.1
+    arch_minimum_kernel=2.4.21
     ;;
   s390/s390-64)
     libc_cv_gcc_unwind_find_fde=yes
-    arch_minimum_kernel=2.4.1
+    arch_minimum_kernel=2.4.21
     ;;
   sh*)
-    arch_minimum_kernel=2.4.1
+    arch_minimum_kernel=2.4.21
     libc_cv_gcc_unwind_find_fde=yes
     ;;
   sparc/sparc64*)
@@ -68,10 +65,10 @@ case "$machine" in
     ;;
   sparc*)
     libc_cv_gcc_unwind_find_fde=yes
-    arch_minimum_kernel=2.4.1
+    arch_minimum_kernel=2.4.21
     ;;
   *)
-    arch_minimum_kernel=2.4.1
+    arch_minimum_kernel=2.4.21
     ;;
 esac
 if test -n "$minimum_kernel"; then
index 3c86bb865458a8c5940311231b193110332d87cd..cf336839259b24b64ec053e08f62d8923597ea9d 100644 (file)
@@ -74,90 +74,13 @@ if_freenameindex (struct if_nameindex *ifn)
 libc_hidden_def (if_freenameindex)
 
 
-#if __ASSUME_NETLINK_SUPPORT == 0
-static struct if_nameindex *
-if_nameindex_ioctl (void)
-{
-  int fd = __opensock ();
-  struct ifconf ifc;
-  unsigned int nifs, i;
-  int rq_len;
-  struct if_nameindex *idx = NULL;
-# define RQ_IFS        4
-
-  if (fd < 0)
-    return NULL;
-
-  ifc.ifc_buf = NULL;
-
-  /* We may be able to get the needed buffer size directly, rather than
-     guessing.  */
-  ifc.ifc_buf = NULL;
-  ifc.ifc_len = 0;
-  if (__ioctl (fd, SIOCGIFCONF, &ifc) < 0 || ifc.ifc_len == 0)
-    rq_len = RQ_IFS * sizeof (struct ifreq);
-  else
-    rq_len = ifc.ifc_len;
-
-  /* Read all the interfaces out of the kernel.  */
-  ifc.ifc_buf = alloca (rq_len);
-  ifc.ifc_len = rq_len;
-  if (__ioctl (fd, SIOCGIFCONF, &ifc) < 0)
-    {
-      close_not_cancel_no_status (fd);
-      return NULL;
-    }
-
-  nifs = ifc.ifc_len / sizeof (struct ifreq);
-
-  idx = malloc ((nifs + 1) * sizeof (struct if_nameindex));
-  if (idx == NULL)
-    {
-      close_not_cancel_no_status (fd);
-      __set_errno (ENOBUFS);
-      return NULL;
-    }
-
-  for (i = 0; i < nifs; ++i)
-    {
-      struct ifreq *ifr = &ifc.ifc_req[i];
-      idx[i].if_name = __strdup (ifr->ifr_name);
-      if (idx[i].if_name == NULL
-         || __ioctl (fd, SIOCGIFINDEX, ifr) < 0)
-       {
-         int saved_errno = errno;
-         unsigned int j;
-
-         for (j =  0; j < i; ++j)
-           free (idx[j].if_name);
-         free (idx);
-         close_not_cancel_no_status (fd);
-         if (saved_errno == EINVAL)
-           saved_errno = ENOSYS;
-         else if (saved_errno == ENOMEM)
-           saved_errno = ENOBUFS;
-         __set_errno (saved_errno);
-         return NULL;
-       }
-      idx[i].if_index = ifr->ifr_ifindex;
-    }
-
-  idx[i].if_index = 0;
-  idx[i].if_name = NULL;
-
-  close_not_cancel_no_status (fd);
-  return idx;
-}
-#endif
-
-
 static struct if_nameindex *
 if_nameindex_netlink (void)
 {
   struct netlink_handle nh = { 0, 0, 0, NULL, NULL };
   struct if_nameindex *idx = NULL;
 
-  if (__no_netlink_support || __netlink_open (&nh) < 0)
+  if (__netlink_open (&nh) < 0)
     return NULL;
 
 
@@ -274,10 +197,6 @@ if_nameindex (void)
   return NULL;
 #else
   struct if_nameindex *result = if_nameindex_netlink ();
-# if __ASSUME_NETLINK_SUPPORT == 0
-  if (__no_netlink_support)
-    result = if_nameindex_ioctl ();
-# endif
   return result;
 #endif
 }
index 51836b0dcd442d6108845104612267fdff51c180..179653103e057b7998a40f814f27a7cee9277845 100644 (file)
@@ -1,5 +1,5 @@
 /* getifaddrs -- get names and addresses of all network interfaces
-   Copyright (C) 2003-2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+   Copyright (C) 2003-2012 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
 #include "netlinkaccess.h"
 
 
-/* We don't know if we have NETLINK support compiled into our
-   Kernel, so include the old implementation as fallback.  */
-#if __ASSUME_NETLINK_SUPPORT == 0
-int __no_netlink_support attribute_hidden;
-
-# define getifaddrs fallback_getifaddrs
-# include "sysdeps/gnu/ifaddrs.c"
-# undef getifaddrs
-#endif
-
-
 /* There is a problem with this type.  The address length for
    Infiniband sockets is much longer than the 8 bytes allocated in the
    sockaddr_ll definition.  Hence we use here a special
@@ -274,9 +263,6 @@ __netlink_open (struct netlink_handle *h)
     close_and_out:
       __netlink_close (h);
     out:
-#if __ASSUME_NETLINK_SUPPORT == 0
-      __no_netlink_support = 1;
-#endif
       return -1;
     }
   /* Determine the ID the kernel assigned for this netlink connection.
@@ -340,17 +326,8 @@ getifaddrs_internal (struct ifaddrs **ifap)
 
   *ifap = NULL;
 
-  if (! __no_netlink_support && __netlink_open (&nh) < 0)
-    {
-#if __ASSUME_NETLINK_SUPPORT != 0
-      return -1;
-#endif
-    }
-
-#if __ASSUME_NETLINK_SUPPORT == 0
-  if (__no_netlink_support)
-    return fallback_getifaddrs (ifap);
-#endif
+  if (__netlink_open (&nh) < 0)
+    return -1;
 
   /* Tell the kernel that we wish to get a list of all
      active interfaces, collect all data for every interface.  */
@@ -859,11 +836,9 @@ getifaddrs (struct ifaddrs **ifap)
 libc_hidden_def (getifaddrs)
 
 
-#if __ASSUME_NETLINK_SUPPORT != 0
 void
 freeifaddrs (struct ifaddrs *ifa)
 {
   free (ifa);
 }
 libc_hidden_def (freeifaddrs)
-#endif
index 6e64defba48841912374bdf93a84bef69f501cf9..cfe335d0bd53939955d44d36e969a96fb024af3a 100644 (file)
@@ -91,8 +91,7 @@
 /* Arm got fcntl64 in 2.4.4, PowerPC and SH have it also in 2.4.4 (I
    don't know when it got introduced).  But PowerPC64 does not support
    separate FCNTL64 call, FCNTL is already 64-bit */
-#if __LINUX_KERNEL_VERSION >= 132100 \
-    && (defined __powerpc__ || defined __sh__) \
+#if (defined __powerpc__ || defined __sh__) \
     && !defined __powerpc64__
 # define __ASSUME_FCNTL64              1
 #endif
    MIPS n32).  */
 #define __ASSUME_GETDENTS64_SYSCALL    1
 
-/* Starting with 2.4.5 kernels PPC passes the AUXV in the standard way
-   and the vfork syscall made it into the official kernel.  */
-#if __LINUX_KERNEL_VERSION >= (132096+5) && defined __powerpc__
-# define __ASSUME_STD_AUXV             1
+/* Starting with 2.4.5 kernels the vfork syscall made it into the
+   official kernel for PPC.  */
+#ifdef __powerpc__
 # define __ASSUME_VFORK_SYSCALL                1
 #endif
 
 /* Starting with 2.4.5 kernels the mmap2 syscall made it into the official
    kernel.  But PowerPC64 does not support a separate MMAP2 call.  */
-#if __LINUX_KERNEL_VERSION >= (132096+5) && defined __powerpc__ \
-    && !defined __powerpc64__
+#if defined __powerpc__ && !defined __powerpc64__
 # define __ASSUME_MMAP2_SYSCALL                1
 #endif
 
-/* Starting with 2.4.21 PowerPC implements the new prctl syscall.
-   This allows applications to get/set the Floating Point Exception Mode.  */
-#if __LINUX_KERNEL_VERSION >= (132096+21) && defined __powerpc__
-# define __ASSUME_NEW_PRCTL_SYSCALL            1
-#endif
-
-/* Starting with 2.4.21 the PowerPC32 clone syscall works as expected.  */
-#if __LINUX_KERNEL_VERSION >= (132096+21) && defined __powerpc__ \
-    && !defined __powerpc64__
-# define __ASSUME_FIXED_CLONE_SYSCALL          1
-#endif
-
-/* Starting with 2.4.21 PowerPC64 implements the new rt_sigreturn syscall.
-   The new rt_sigreturn takes an ucontext pointer allowing rt_sigreturn
-   to be used in the set/swapcontext implementation.  */
-#if __LINUX_KERNEL_VERSION >= (132096+21) && defined __powerpc64__
-# define __ASSUME_NEW_RT_SIGRETURN_SYSCALL             1
-#endif
-
 /* On x86, the set_thread_area syscall was introduced in 2.5.29, but its
    semantics was changed in 2.5.30, and again after 2.5.31.  */
 #if __LINUX_KERNEL_VERSION >= 132384 && defined __i386__
 # define __ASSUME_POSIX_CPU_TIMERS     1
 #endif
 
-/* With kernel 2.4.17 we always have netlink support.  */
-#if __LINUX_KERNEL_VERSION >= (132096+17)
-# define __ASSUME_NETLINK_SUPPORT      1
-#endif
-
 /* The requeue futex functionality was introduced in 2.5.70.  */
 #if __LINUX_KERNEL_VERSION >= 132422
 # define __ASSUME_FUTEX_REQUEUE        1
index cb190c0eccf3a2f7b0333bc773267b7ecc34fe56..6cd8a882640d2486c0734c2fa20eeaf1e4c90b75 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 2004-2012 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
@@ -44,13 +44,6 @@ struct netlink_handle
 };
 
 
-#if __ASSUME_NETLINK_SUPPORT == 0
-extern int __no_netlink_support attribute_hidden;
-#else
-# define __no_netlink_support 0
-#endif
-
-
 extern int __netlink_open (struct netlink_handle *h);
 extern void __netlink_close (struct netlink_handle *h);
 extern void __netlink_free_handle (struct netlink_handle *h);
index 00595f9ffe3627c57ec27eaf84111885e4d16c33..0ff8faa3547c05f13d70ee54b881151b26815380 100644 (file)
@@ -1,6 +1,5 @@
 /* Operating system support for run-time dynamic linker.  Linux/PPC version.
-   Copyright (C) 1997, 1998, 2001, 2003, 2006, 2007
-   Free Software Foundation, Inc.
+   Copyright (C) 1997-2012 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
@@ -32,35 +31,4 @@ int __cache_line_size attribute_hidden;
        __cache_line_size = av->a_un.a_val;                                   \
        break;
 
-#ifndef __ASSUME_STD_AUXV
-
-/* The PowerPC's auxiliary argument block gets aligned to a 16-byte
-   boundary.  This is history and impossible to change compatibly.  */
-
-#define DL_FIND_ARG_COMPONENTS(cookie, argc, argv, envp, auxp) \
-  do {                                                                       \
-    char **_tmp;                                                             \
-    size_t _test;                                                            \
-    (argc) = *(long int *) cookie;                                           \
-    (argv) = (char **) cookie + 1;                                           \
-    (envp) = (argv) + (argc) + 1;                                            \
-    for (_tmp = (envp); *_tmp; ++_tmp)                                       \
-      continue;                                                                      \
-    /* The following '++' is important!  */                                  \
-    ++_tmp;                                                                  \
-                                                                             \
-    _test = (size_t)_tmp;                                                    \
-    _test = (_test + 0xf) & ~0xf;                                            \
-    /* Under some circumstances, MkLinux (up to at least DR3a5)                      \
-       omits the padding.  To work around this, we make a                    \
-       basic sanity check of the argument vector.  Of                        \
-       course, this means that in future, the argument                       \
-       vector will have to be laid out to allow for this                     \
-       test :-(.  */                                                         \
-     if (((ElfW(auxv_t) *)_test)->a_type <= 0x10)                            \
-       _tmp = (char **)_test;                                                \
-    (auxp) = (ElfW(auxv_t) *) _tmp;                                          \
-  } while (0)
-#endif
-
 #include <sysdeps/unix/sysv/linux/dl-sysdep.c>
index 57640aa49f163a3ecdf45f719b5f28e9c520a7f1..fb16519efa455985a6ef6acaf8b9fdc485ad25e9 100644 (file)
@@ -1,5 +1,5 @@
 /* Wrapper around clone system call.
-   Copyright (C) 1997,98,99,2000,02,04,2006 Free Software Foundation, Inc.
+   Copyright (C) 1997-2012 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
@@ -52,11 +52,7 @@ ENTRY (BP_SYM (__clone))
 #ifdef RESET_PID
        stmw    r28,16(r1)
 #else
-# ifndef __ASSUME_FIXED_CLONE_SYSCALL
-       stmw    r29,16(r1)
-# else
        stmw    r30,16(r1)
-# endif
 #endif
 
        /* Set up stack frame for child.  */
@@ -66,9 +62,6 @@ ENTRY (BP_SYM (__clone))
 
        /* Save fn, args, stack across syscall.  */
        mr      r30,r3                  /* Function in r30.  */
-#ifndef __ASSUME_FIXED_CLONE_SYSCALL
-       mr      r29,r4                  /* Stack pointer in r29.  */
-#endif
 #ifdef RESET_PID
        mr      r28,r5
 #endif
@@ -95,14 +88,6 @@ ENTRY (BP_SYM (__clone))
        crandc  cr1*4+eq,cr1*4+eq,cr0*4+so
        bne-    cr1,L(parent)           /* The '-' is to minimise the race.  */
 
-#ifndef __ASSUME_FIXED_CLONE_SYSCALL
-       /* On at least mklinux DR3a5, clone() doesn't actually change
-          the stack pointer.  I'm pretty sure this is a bug, because
-          it adds a race condition if a signal is sent to a thread
-          just after it is created (in the previous three instructions).  */
-       mr      r1,r29
-#endif
-
 #ifdef RESET_PID
        andis.  r0,r28,CLONE_THREAD>>16
        bne+    r0,L(oldpid)
@@ -128,11 +113,7 @@ L(parent):
 #ifdef RESET_PID
        lmw     r28,16(r1)
 #else
-# ifndef __ASSUME_FIXED_CLONE_SYSCALL
-       lmw     r29,16(r1)
-# else
        lmw     r30,16(r1)
-# endif
 #endif
        addi    r1,r1,32
        bnslr+
index 0642e0b40710678ee028877a6d85b5b0d3f1b0cf..366c5fe935e446b9bd8e8d4107bec9790bbe1b4f 100644 (file)
@@ -1,5 +1,5 @@
 /* Procedure definition for FE_MASK_ENV for Linux/ppc.
-   Copyright (C) 2007 Free Software Foundation, Inc.
+   Copyright (C) 2007-2012 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
 #include <sys/prctl.h>
 #include <kernel-features.h>
 
-#if __ASSUME_NEW_PRCTL_SYSCALL == 0
-/* This is rather fiddly under Linux.  We don't have direct access,
-   and there is no system call, but we can change the bits
-   in a signal handler's context...  */
-
-static struct sigaction oact;
-
-static void
-fe_mask_handler (int signum, struct sigcontext *sc)
-{
-  sc->regs->msr &= ~0x900ul;  /* FE0 | FE1 */
-  sigaction (SIGUSR1, &oact, NULL);
-}
-#endif
-
 const fenv_t *
 __fe_mask_env (void)
 {
-#if __ASSUME_NEW_PRCTL_SYSCALL == 0
-# if defined PR_SET_FPEXC && defined PR_FP_EXC_DISABLED
-  int result = INLINE_SYSCALL (prctl, 2, PR_SET_FPEXC, PR_FP_EXC_DISABLED);
-
-  if (result == -1 && errno == EINVAL)
-# endif
-    {
-      struct sigaction act;
-
-      act.sa_handler = (sighandler_t) fe_mask_handler;
-      sigemptyset (&act.sa_mask);
-      act.sa_flags = 0;
-
-      sigaction (SIGUSR1, &act, &oact);
-      raise (SIGUSR1);
-    }
-#else
   INTERNAL_SYSCALL_DECL (err);
   INTERNAL_SYSCALL (prctl, err, 2, PR_SET_FPEXC, PR_FP_EXC_DISABLED);
-#endif
 
   return FE_DFL_ENV;
 }
index 2097af65486d0023d44c3d282cab21c74123d220..86738fdd5acf82e0cc55dc7216a489e9b48e14ad 100644 (file)
@@ -1,5 +1,5 @@
 /* Procedure definition for FE_NOMASK_ENV for Linux/ppc.
-   Copyright (C) 2000, 2006, 2008 Free Software Foundation, Inc.
+   Copyright (C) 2000-2012 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
 #include <sys/prctl.h>
 #include <kernel-features.h>
 
-#if __ASSUME_NEW_PRCTL_SYSCALL == 0
-/* This is rather fiddly under Linux.  We don't have direct access,
-   and there is no system call, but we can change the bits
-   in a signal handler's context...  */
-
-static struct sigaction oact;
-
-static void
-fe_nomask_handler (int signum, struct sigcontext *sc)
-{
-  sc->regs->msr |= 0x900ul;  /* FE0 | FE1 */
-  sigaction (SIGUSR1, &oact, NULL);
-}
-#endif
-
 const fenv_t *
 __fe_nomask_env (void)
 {
-#if __ASSUME_NEW_PRCTL_SYSCALL == 0
-# if defined PR_SET_FPEXC && defined PR_FP_EXC_PRECISE
-  int result = INLINE_SYSCALL (prctl, 2, PR_SET_FPEXC, PR_FP_EXC_PRECISE);
-
-  if (result == -1 && errno == EINVAL)
-# endif
-    {
-      struct sigaction act;
-
-      act.sa_handler = (sighandler_t) fe_nomask_handler;
-      sigemptyset (&act.sa_mask);
-      act.sa_flags = 0;
-
-      sigaction (SIGUSR1, &act, &oact);
-      raise (SIGUSR1);
-    }
-#else
   INTERNAL_SYSCALL_DECL (err);
   INTERNAL_SYSCALL (prctl, err, 2, PR_SET_FPEXC, PR_FP_EXC_PRECISE);
-#endif
 
   return FE_ENABLED_ENV;
 }
index 9d41ae7366d724f3b40852206cfb8c3904de81a8..e4bcd9800ddf1f339307468c2d395c45f2ef1bd3 100644 (file)
@@ -1,5 +1,5 @@
 /* Procedure definition for FE_MASK_ENV for Linux/ppc64.
-   Copyright (C) 2007 Free Software Foundation, Inc.
+   Copyright (C) 2007-2012 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
@@ -30,11 +30,6 @@ __fe_mask_env (void)
   int result;
   INTERNAL_SYSCALL_DECL (err);
   result = INTERNAL_SYSCALL (prctl, err, 2, PR_SET_FPEXC, PR_FP_EXC_DISABLED);
-# ifndef __ASSUME_NEW_PRCTL_SYSCALL
-  if (INTERNAL_SYSCALL_ERROR_P (result, err)
-      && INTERNAL_SYSCALL_ERRNO (result, err) == EINVAL)
-    __set_errno (ENOSYS);
-# endif
 #else
   __set_errno (ENOSYS);
 #endif
index 14cf14d5b99f042277660afe7d9ba6b0904e7131..46b94789801b73e5c27c25bfb5875e1390f7c96e 100644 (file)
@@ -1,5 +1,5 @@
 /* Procedure definition for FE_NOMASK_ENV for Linux/ppc64.
-   Copyright (C) 2003, 2006, 2008 Free Software Foundation, Inc.
+   Copyright (C) 2003-2012 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
@@ -30,11 +30,6 @@ __fe_nomask_env (void)
   int result;
   INTERNAL_SYSCALL_DECL (err);
   result = INTERNAL_SYSCALL (prctl, err, 2, PR_SET_FPEXC, PR_FP_EXC_PRECISE);
-# ifndef __ASSUME_NEW_PRCTL_SYSCALL
-  if (INTERNAL_SYSCALL_ERROR_P (result, err)
-      && INTERNAL_SYSCALL_ERRNO (result, err) == EINVAL)
-    __set_errno (ENOSYS);
-# endif
 #else
   __set_errno (ENOSYS);
 #endif
index 533d98bcc8cec7da921764b33ef5364320d18ed0..472b785c1e9ddf24c875b1edd98011c71f6c28a9 100644 (file)
@@ -1,5 +1,5 @@
 /* Save current context.
-   Copyright (C) 2002, 2004, 2006 Free Software Foundation, Inc.
+   Copyright (C) 2002-2012 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
@@ -30,7 +30,6 @@
 #if SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4)
 ENTRY(__novec_getcontext)
        CALL_MCOUNT 1
-#ifdef __ASSUME_NEW_RT_SIGRETURN_SYSCALL
   std  r0,(SIGCONTEXT_GP_REGS+(PT_R0*8))(r3)
   std  r1,(SIGCONTEXT_GP_REGS+(PT_R1*8))(r3)
   mflr  r0
@@ -137,18 +136,6 @@ ENTRY(__novec_getcontext)
   li  r3,SIG_BLOCK
   bl  JUMPTARGET(__sigprocmask)
   nop
-#else
-  /* If the kernel is not at least 2.4.21 then generate a ENOSYS stub.  */
-  mflr r0
-  std  r0,FRAME_LR_SAVE(r1)
-  cfi_offset (lr, FRAME_LR_SAVE)
-  stdu r1,-128(r1)
-  cfi_adjust_cfa_offset(128)
-  li   r3,ENOSYS
-  bl   JUMPTARGET(__syscall_error)
-  nop
-  li   r3,-1
-#endif
 
   ld    r0,128+FRAME_LR_SAVE(r1)
   addi  r1,r1,128
@@ -172,7 +159,6 @@ compat_symbol (libc, __novec_getcontext, getcontext, GLIBC_2_3)
        .machine        "altivec"
 ENTRY(__getcontext)
        CALL_MCOUNT 1
-#ifdef __ASSUME_NEW_RT_SIGRETURN_SYSCALL
   std  r0,(SIGCONTEXT_GP_REGS+(PT_R0*8))(r3)
   std  r1,(SIGCONTEXT_GP_REGS+(PT_R1*8))(r3)
   mflr  r0
@@ -388,18 +374,6 @@ L(has_no_vec):
   li  r3,SIG_BLOCK
   bl  JUMPTARGET(__sigprocmask)
   nop
-#else
-  /* If the kernel is not at least 2.4.21 then generate a ENOSYS stub.  */
-  mflr r0
-  std  r0,FRAME_LR_SAVE(r1)
-  cfi_offset (lr, FRAME_LR_SAVE)
-  stdu r1,-128(r1)
-  cfi_adjust_cfa_offset (128)
-  li   r3,ENOSYS
-  bl   JUMPTARGET(__syscall_error)
-  nop
-  li   r3,-1
-#endif
 
   ld    r0,128+FRAME_LR_SAVE(r1)
   addi  r1,r1,128
index 9d5898c058c64346cd2545b88c461ad04ab179ff..ded2a35e01eb8f01bd6d4515a2ce2865b7fc0aba 100644 (file)
@@ -1,5 +1,5 @@
 /* Create new context.
-   Copyright (C) 2002, 2004, 2006 Free Software Foundation, Inc.
+   Copyright (C) 2002-2012 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
@@ -26,7 +26,6 @@
 
 ENTRY(__makecontext)
        CALL_MCOUNT 3
-#ifdef __ASSUME_NEW_RT_SIGRETURN_SYSCALL
   /* Save parameters into the parameter save area of callers frame.  */
   std  r3,FRAME_PARM1_SAVE(r1) /* ucontext_t *ucp  */
   std  r4,FRAME_PARM2_SAVE(r1) /* void (*func)(void)  */
@@ -166,22 +165,6 @@ L(gotexitcodeaddr):
   addi  r1,r1,128
   mtlr  r0
   blr
-#else
-  /* If the kernel is not at least 2.4.21 then generate a ENOSYS stub.  */
-  mflr r0
-  std  r0,FRAME_LR_SAVE(r1)
-  cfi_offset (lr, FRAME_LR_SAVE)
-  stdu r1,-128(r1)
-  cfi_adjust_cfa_offset (128)
-  li   r3,ENOSYS
-  bl   JUMPTARGET(__syscall_error)
-  nop
-  li   r3,-1
-  ld   r0,128+FRAME_LR_SAVE(r1)
-  addi r1,r1,128
-  mtlr r0
-  blr
-#endif
 END(__makecontext)
 
 weak_alias (__makecontext, makecontext)
index 988ea3a7b261d29f9229e7aed9193325c5054ace..a7192a6236a358dab6e9da7b850f7df8a59df121 100644 (file)
@@ -1,6 +1,5 @@
 /* Switch to context.
-   Copyright (C) 2002, 2004, 2005, 2006, 2008, 2009
-   Free Software Foundation, Inc.
+   Copyright (C) 2002-2012 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
@@ -39,7 +38,6 @@
 #if SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4)
 ENTRY(__novec_setcontext)
        CALL_MCOUNT 1
-#ifdef __ASSUME_NEW_RT_SIGRETURN_SYSCALL
   mflr  r0
   std   r31,-8(1)
   cfi_offset(r31,-8)
@@ -200,22 +198,6 @@ L(nv_do_sigret):
   li   r0,SYS_ify(rt_sigreturn)
   sc
   /* No return.  */
-#else
-  /* If the kernel is not at least 2.4.21 then generate a ENOSYS stub.  */
-  mflr r0
-  std  r0,FRAME_LR_SAVE(r1)
-  cfi_offset(lr,FRAME_LR_SAVE)
-  stdu r1,-128(r1)
-  cfi_adjust_cfa_offset(128)
-  li   r3,ENOSYS
-  bl   JUMPTARGET(__syscall_error)
-  nop
-  li   r3,-1
-  ld   r0,128+FRAME_LR_SAVE(r1)
-  addi r1,r1,128
-  mtlr r0
-  blr
-#endif
 
 PSEUDO_END(__novec_setcontext)
 
@@ -227,7 +209,6 @@ compat_symbol (libc, __novec_setcontext, setcontext, GLIBC_2_3)
        .machine        "altivec"
 ENTRY(__setcontext)
        CALL_MCOUNT 1
-#ifdef __ASSUME_NEW_RT_SIGRETURN_SYSCALL
   mflr  r0
   std   r31,-8(1)
   cfi_offset(r31,-8)
@@ -491,22 +472,6 @@ L(do_sigret):
   li   r0,SYS_ify(rt_sigreturn)
   sc
   /* No return.  */
-#else
-  /* If the kernel is not at least 2.4.21 then generate a ENOSYS stub.  */
-  mflr r0
-  std  r0,FRAME_LR_SAVE(r1)
-  cfi_offset (lr, FRAME_LR_SAVE)
-  stdu r1,-128(r1)
-  cfi_adjust_cfa_offset (128)
-  li   r3,ENOSYS
-  bl   JUMPTARGET(__syscall_error)
-  nop
-  li   r3,-1
-  ld   r0,128+FRAME_LR_SAVE(r1)
-  addi r1,r1,128
-  mtlr r0
-  blr
-#endif
 
 PSEUDO_END(__setcontext)
 
index 6b007a59538cb06f90beeba2d45d47a85d22b644..f20e9a9beac32725d267356a6eb30339705c17a6 100644 (file)
@@ -1,6 +1,5 @@
 /* Save current context and install the given one.
-   Copyright (C) 2002, 2004, 2005, 2006, 2008, 2009
-   Free Software Foundation, Inc.
+   Copyright (C) 2002-2012 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
@@ -39,7 +38,6 @@
        .section        ".text"
 ENTRY(__novec_swapcontext)
        CALL_MCOUNT 2
-#ifdef __ASSUME_NEW_RT_SIGRETURN_SYSCALL
   std  r0,(SIGCONTEXT_GP_REGS+(PT_R0*8))(r3)
   std  r1,(SIGCONTEXT_GP_REGS+(PT_R1*8))(r3)
   mflr  r0
@@ -294,21 +292,6 @@ L(nv_do_sigret):
   li   r0,SYS_ify(rt_sigreturn)
   sc
   /* No return.  */
-#else
-  /* If the kernel is not at least 2.4.21 then generate a ENOSYS stub.  */
-  mflr r0
-  std  r0,FRAME_LR_SAVE(r1)
-  cfi_offset(lr,FRAME_LR_SAVE)
-  stdu r1,-128(r1)
-  li   r3,ENOSYS
-  bl   JUMPTARGET(__syscall_error)
-  nop
-  li   r3,-1
-  ld   r0,128+FRAME_LR_SAVE(r1)
-  addi r1,r1,128
-  mtlr r0
-  blr
-#endif
 
 PSEUDO_END(__novec_swapcontext)
 
@@ -320,7 +303,6 @@ compat_symbol (libc, __novec_swapcontext, swapcontext, GLIBC_2_3)
        .machine        "altivec"
 ENTRY(__swapcontext)
        CALL_MCOUNT 2
-#ifdef __ASSUME_NEW_RT_SIGRETURN_SYSCALL
   std  r0,(SIGCONTEXT_GP_REGS+(PT_R0*8))(r3)
   std  r1,(SIGCONTEXT_GP_REGS+(PT_R1*8))(r3)
   mflr  r0
@@ -789,22 +771,6 @@ L(do_sigret):
   li   r0,SYS_ify(rt_sigreturn)
   sc
   /* No return.  */
-#else
-  /* If the kernel is not at least 2.4.21 then generate a ENOSYS stub.  */
-  mflr r0
-  std  r0,FRAME_LR_SAVE(r1)
-  cfi_offset (lr, FRAME_LR_SAVE)
-  stdu r1,-128(r1)
-  cfi_adjust_cfa_offset (128)
-  li   r3,ENOSYS
-  bl   JUMPTARGET(__syscall_error)
-  nop
-  li   r3,-1
-  ld   r0,128+FRAME_LR_SAVE(r1)
-  addi r1,r1,128
-  mtlr r0
-  blr
-#endif
 
 PSEUDO_END(__swapcontext)