]> git.ipfire.org Git - thirdparty/glibc.git/blame - stdlib/tst-makecontext.c
isnan implementation for Power6x 64-bit
[thirdparty/glibc.git] / stdlib / tst-makecontext.c
CommitLineData
6c30d38f 1/* Copyright (C) 2006, 2007, 2008 Free Software Foundation, Inc.
a12dcecc
UD
2 This file is part of the GNU C Library.
3
4 The GNU C Library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Lesser General Public
6 License as published by the Free Software Foundation; either
7 version 2.1 of the License, or (at your option) any later version.
8
9 The GNU C Library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Lesser General Public License for more details.
13
14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, write to the Free
16 Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
17 02111-1307 USA. */
18
d6220e9e 19#include <errno.h>
a12dcecc
UD
20#include <stdlib.h>
21#include <stdio.h>
22#include <ucontext.h>
23
24ucontext_t ucp;
25char st1[8192];
26__thread int thr;
27
3b32d8a2
UD
28int somevar = -76;
29
a12dcecc
UD
30void
31cf (int i)
32{
6c30d38f 33 if (i != -78 || thr != 94)
a12dcecc
UD
34 {
35 printf ("i %d thr %d\n", i, thr);
36 exit (1);
37 }
38 exit (0);
39}
40
41int
d6220e9e 42do_test (void)
a12dcecc
UD
43{
44 if (getcontext (&ucp) != 0)
45 {
d6220e9e
UD
46 if (errno == ENOSYS)
47 {
48 puts ("context handling not supported");
49 return 0;
50 }
51
a12dcecc
UD
52 puts ("getcontext failed");
53 return 1;
54 }
55 thr = 94;
56 ucp.uc_link = NULL;
57 ucp.uc_stack.ss_sp = st1;
58 ucp.uc_stack.ss_size = sizeof st1;
3b32d8a2 59 makecontext (&ucp, (void (*) (void)) cf, 1, somevar - 2);
a12dcecc
UD
60 if (setcontext (&ucp) != 0)
61 {
62 puts ("setcontext failed");
63 return 1;
64 }
65 return 2;
66}
d6220e9e
UD
67
68#define TEST_FUNCTION do_test ()
69#include "../test-skeleton.c"