tst-xpg-basename tst-random tst-random2 tst-bsearch \
tst-limits tst-rand48 bug-strtod tst-setcontext \
test-a64l tst-qsort tst-system testmb2 bug-strtod2 \
- tst-rand48-2
+ tst-rand48-2 tst-makecontext
include ../Makeconfig
-/* Copyright (C) 2006, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 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
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
-#include <errno.h>
#include <stdlib.h>
#include <stdio.h>
#include <ucontext.h>
}
int
-do_test (void)
+main (void)
{
if (getcontext (&ucp) != 0)
{
- if (errno == ENOSYS)
- {
- puts ("context handling not supported");
- return 0;
- }
-
puts ("getcontext failed");
return 1;
}
ucp.uc_link = NULL;
ucp.uc_stack.ss_sp = st1;
ucp.uc_stack.ss_size = sizeof st1;
- makecontext (&ucp, (void (*) (void)) cf, 1, 78);
+ makecontext (&ucp, (void (*) ()) cf, 1, 78);
if (setcontext (&ucp) != 0)
{
puts ("setcontext failed");
}
return 2;
}
-
-#define TEST_FUNCTION do_test ()
-#include "../test-skeleton.c"
ENTRY(__makecontext)
/* Set up the first 7 args to the function in its registers */
- addi r11,r3,_UC_REG_SPACE+12
- clrrwi r11,r11,4
- stw r11,_UC_REGS_PTR(r3)
+ lwz r11,_UC_REGS_PTR(r3)
stw r6,_UC_GREGS+(PT_R3*4)(r11)
stw r7,_UC_GREGS+(PT_R4*4)(r11)
stw r8,_UC_GREGS+(PT_R5*4)(r11)
/* Jump to a new context.
- Copyright (C) 2002, 2004, 2005 Free Software Foundation, Inc.
+ Copyright (C) 2002, 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
#include <sysdep.h>
#include <rtld-global-offsets.h>
#include <shlib-compat.h>
+#include <kernel-features.h>
#define __ASSEMBLY__
#include <asm/ptrace.h>