about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/tile/makecontext.c
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/sysv/linux/tile/makecontext.c')
-rw-r--r--sysdeps/unix/sysv/linux/tile/makecontext.c67
1 files changed, 0 insertions, 67 deletions
diff --git a/sysdeps/unix/sysv/linux/tile/makecontext.c b/sysdeps/unix/sysv/linux/tile/makecontext.c
deleted file mode 100644
index 26e4d426ef..0000000000
--- a/sysdeps/unix/sysv/linux/tile/makecontext.c
+++ /dev/null
@@ -1,67 +0,0 @@
-/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
-   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, see
-   <http://www.gnu.org/licenses/>.  */
-
-#include <stdarg.h>
-#include <stdio.h>
-#include <stdint.h>
-#include <stdlib.h>
-#include <ucontext.h>
-#include <arch/abi.h>
-
-void
-__makecontext (ucontext_t *ucp, void (*func) (void), int argc, ...)
-{
-  extern void __startcontext (void);
-  uint_reg_t *sp, *args;
-  va_list ap;
-  int i;
-
-  /* Initialize the top of stack. */
-  sp = (uint_reg_t *) ((((intptr_t) ucp->uc_stack.ss_sp
-                         + ucp->uc_stack.ss_size) & -16L) - 16);
-
-  /* Allow room for memory-passed arguments if necessary. */
-  if (argc > 10)
-    sp -= 2 + (argc - 10);
-
-  sp[0] = sp[1] = 0;
-
-  /* Set parameters.  */
-  va_start (ap, argc);
-  args = &ucp->uc_mcontext.gregs[0];
-  for (i = 0; i < argc; i++)
-    {
-      if (i == 10)
-        args = &sp[2];
-      *args++ = va_arg (ap, long);
-    }
-  va_end (ap);
-
-  /* Start in the trampoline.  */
-  ucp->uc_mcontext.pc = (long) __startcontext;
-
-  /* Set stack pointer.  */
-  ucp->uc_mcontext.sp = (long) sp;
-
-  /* Pass FUNC to __startcontext in r31.  */
-  ucp->uc_mcontext.gregs[31] = (long) func;
-
-  /* Pass ucp->uc_link to __startcontext in r30.  */
-  ucp->uc_mcontext.gregs[30] = (long) ucp->uc_link;
-}
-weak_alias (__makecontext, makecontext)