1 /* Copyright (C) 2013 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.
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.
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.
14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */
24 static int errors = 0;
27 merror (const char *msg)
30 printf ("Error: %s\n", msg);
38 unsigned long pagesize = getpagesize();
43 ret = posix_memalign (&p, sizeof (void *), -1);
46 merror ("posix_memalign (&p, sizeof (void *), -1) succeeded.");
48 if (ret == ENOMEM && p != NULL)
49 merror ("returned an error but pointer was modified");
53 ret = posix_memalign (&p, pagesize, -pagesize);
56 merror ("posix_memalign (&p, pagesize, -pagesize) succeeded.");
60 ret = posix_memalign (&p, sizeof (void *), 0);
62 if (ret != 0 || p == NULL)
63 merror ("posix_memalign (&p, sizeof (void *), 0) failed.");
67 ret = posix_memalign (&p, 0x300, 10);
70 merror ("posix_memalign (&p, 0x300, 10) succeeded.");
72 ret = posix_memalign (&p, 0, 10);
75 merror ("posix_memalign (&p, 0, 10) succeeded.");
79 ret = posix_memalign (&p, 0x100, 10);
82 merror ("posix_memalign (&p, 0x100, 10) failed.");
84 if (ret == 0 && p == NULL)
85 merror ("returned success but pointer is NULL");
87 ptrval = (unsigned long)p;
89 if (ret == 0 && (ptrval & 0xff))
90 merror ("pointer is not aligned to 0x100");
97 #define TEST_FUNCTION do_test ()
98 #include "../test-skeleton.c"