about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/powerpc
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2012-07-25 21:19:13 +0000
committerJoseph Myers <joseph@codesourcery.com>2012-07-25 21:19:13 +0000
commit89b4b02f421d2a6d24eb632d9c6977dbe786e6ee (patch)
treecfb4d8f06f24847cb5214a0bb2bc476085415706 /sysdeps/unix/sysv/linux/powerpc
parent842a39cd1ad9391af7a63a19c87f66a730e027a9 (diff)
downloadglibc-89b4b02f421d2a6d24eb632d9c6977dbe786e6ee.tar.gz
glibc-89b4b02f421d2a6d24eb632d9c6977dbe786e6ee.tar.xz
glibc-89b4b02f421d2a6d24eb632d9c6977dbe786e6ee.zip
Remove pre-2.4.21 Linux kernel support.
Diffstat (limited to 'sysdeps/unix/sysv/linux/powerpc')
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c34
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S21
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/fe_mask.c35
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/fe_nomask.c35
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/fpu/fe_mask.c7
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/fpu/fe_nomask.c7
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S28
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S19
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S37
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S36
10 files changed, 10 insertions, 249 deletions
diff --git a/sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c b/sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c
index 00595f9ffe..0ff8faa354 100644
--- a/sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c
+++ b/sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c
@@ -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>
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S b/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S
index 57640aa49f..fb16519efa 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S
@@ -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+
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/fe_mask.c b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/fe_mask.c
index 0642e0b407..366c5fe935 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/fe_mask.c
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/fe_mask.c
@@ -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
@@ -24,44 +24,11 @@
 #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;
 }
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/fe_nomask.c b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/fe_nomask.c
index 2097af6548..86738fdd5a 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/fe_nomask.c
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/fe_nomask.c
@@ -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
@@ -24,44 +24,11 @@
 #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;
 }
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/fpu/fe_mask.c b/sysdeps/unix/sysv/linux/powerpc/powerpc64/fpu/fe_mask.c
index 9d41ae7366..e4bcd9800d 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/fpu/fe_mask.c
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/fpu/fe_mask.c
@@ -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
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/fpu/fe_nomask.c b/sysdeps/unix/sysv/linux/powerpc/powerpc64/fpu/fe_nomask.c
index 14cf14d5b9..46b9478980 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/fpu/fe_nomask.c
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/fpu/fe_nomask.c
@@ -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
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S b/sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S
index 533d98bcc8..472b785c1e 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S
@@ -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
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S b/sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S
index 9d5898c058..ded2a35e01 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S
@@ -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)
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S b/sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S
index 988ea3a7b2..a7192a6236 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S
@@ -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)
 
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S b/sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S
index 6b007a5953..f20e9a9bea 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S
@@ -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)