about summary refs log tree commit diff
path: root/stdlib/tst-makecontext.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2007-01-11 21:51:00 +0000
committerUlrich Drepper <drepper@redhat.com>2007-01-11 21:51:00 +0000
commitd6220e9ee38c1c9285221b023346201ec5f511b3 (patch)
treec524b0893dad62896e9c35dd8701cfdf7f5c8328 /stdlib/tst-makecontext.c
parent43b9d657408fbf47a47934f9e7c84ed87f7f5a18 (diff)
downloadglibc-d6220e9ee38c1c9285221b023346201ec5f511b3.tar.gz
glibc-d6220e9ee38c1c9285221b023346201ec5f511b3.tar.xz
glibc-d6220e9ee38c1c9285221b023346201ec5f511b3.zip
Include errno.h. Change main() to do_test(). Define TEST_FUNCTION. Include test-skeleton.c. (do_test): Check errno and exit(0) if ENOSYS.
Diffstat (limited to 'stdlib/tst-makecontext.c')
-rw-r--r--stdlib/tst-makecontext.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/stdlib/tst-makecontext.c b/stdlib/tst-makecontext.c
index cbce71fb92..1451efa56e 100644
--- a/stdlib/tst-makecontext.c
+++ b/stdlib/tst-makecontext.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2006 Free Software Foundation, Inc.
+/* Copyright (C) 2006, 2007 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
@@ -16,6 +16,7 @@
    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>
@@ -36,10 +37,16 @@ cf (int i)
 }
 
 int
-main (void)
+do_test (void)
 {
   if (getcontext (&ucp) != 0)
     {
+      if (errno == ENOSYS)
+	{
+	  puts ("context handling not supported");
+	  return 0;
+	}
+
       puts ("getcontext failed");
       return 1;
     }
@@ -47,7 +54,7 @@ main (void)
   ucp.uc_link = NULL;
   ucp.uc_stack.ss_sp = st1;
   ucp.uc_stack.ss_size = sizeof st1;
-  makecontext (&ucp, (void (*) ()) cf, 1, 78);
+  makecontext (&ucp, (void (*) (void)) cf, 1, 78);
   if (setcontext (&ucp) != 0)
     {
       puts ("setcontext failed");
@@ -55,3 +62,6 @@ main (void)
     }
   return 2;
 }
+
+#define TEST_FUNCTION do_test ()
+#include "../test-skeleton.c"