3 #include <tst-stack-align.h>
5 struct big
{ char c
[4 * 1024]; };
10 static int align_check
;
13 compare (void const *a1
, void const *b1
)
15 struct big
const *a
= a1
;
16 struct big
const *b
= b1
;
19 align_check
= TEST_STACK_ALIGN () ? -1 : 1;
21 if (! (array
<= a
&& a
< array_end
22 && array
<= b
&& b
< array_end
))
26 return b
->c
[0] - a
->c
[0];
30 main (int argc
, char **argv
)
33 size_t array_members
= argv
[1] ? atoi (argv
[1]) : 50;
34 array
= (struct big
*) malloc (array_members
* sizeof *array
);
41 array_end
= array
+ array_members
;
42 for (i
= 0; i
< array_members
; i
++)
43 array
[i
].c
[0] = i
% 128;
45 qsort (array
, array_members
, sizeof *array
, compare
);
47 if (align_check
== -1)
49 puts ("stack not sufficiently aligned");