1 #include "config.h"
2 #include <stdio.h>
3 #include <stdlib.h>
4 
5 #ifdef HAVE_INITFINI_ARRAY
6 static int count;
7 
8 static void
init1005()9 init1005 ()
10 {
11   if (count != 0)
12     abort ();
13   count = 1005;
14 }
15 void (*const init_array1005[]) ()
16   __attribute__ ((section (".init_array.01005"), aligned (sizeof (void *))))
17   = { init1005 };
18 static void
fini1005()19 fini1005 ()
20 {
21   if (count != 1005)
22     abort ();
23 }
24 void (*const fini_array1005[]) ()
25   __attribute__ ((section (".fini_array.01005"), aligned (sizeof (void *))))
26   = { fini1005 };
27 
28 static void
ctor1007a()29 ctor1007a ()
30 {
31   if (count != 1005)
32     abort ();
33   count = 1006;
34 }
35 static void
ctor1007b()36 ctor1007b ()
37 {
38   if (count != 1006)
39     abort ();
40   count = 1007;
41 }
42 void (*const ctors1007[]) ()
43   __attribute__ ((section (".ctors.64528"), aligned (sizeof (void *))))
44   = { ctor1007b, ctor1007a };
45 static void
dtor1007a()46 dtor1007a ()
47 {
48   if (count != 1006)
49     abort ();
50   count = 1005;
51 }
52 static void
dtor1007b()53 dtor1007b ()
54 {
55   if (count != 1007)
56     abort ();
57   count = 1006;
58 }
59 void (*const dtors1007[]) ()
60   __attribute__ ((section (".dtors.64528"), aligned (sizeof (void *))))
61   = { dtor1007b, dtor1007a };
62 
63 static void
init65530()64 init65530 ()
65 {
66   if (count != 1007)
67     abort ();
68   count = 65530;
69 }
70 void (*const init_array65530[]) ()
71   __attribute__ ((section (".init_array.65530"), aligned (sizeof (void *))))
72   = { init65530 };
73 static void
fini65530()74 fini65530 ()
75 {
76   if (count != 65530)
77     abort ();
78   count = 1007;
79 }
80 void (*const fini_array65530[]) ()
81   __attribute__ ((section (".fini_array.65530"), aligned (sizeof (void *))))
82   = { fini65530 };
83 
84 static void
ctor65535a()85 ctor65535a ()
86 {
87   if (count != 65530)
88     abort ();
89   count = 65535;
90 }
91 static void
ctor65535b()92 ctor65535b ()
93 {
94   if (count != 65535)
95     abort ();
96   count = 65536;
97 }
98 void (*const ctors65535[]) ()
99   __attribute__ ((section (".ctors"), aligned (sizeof (void *))))
100   = { ctor65535b, ctor65535a };
101 static void
dtor65535b()102 dtor65535b ()
103 {
104   if (count != 65536)
105     abort ();
106   count = 65535;
107 }
108 static void
dtor65535a()109 dtor65535a ()
110 {
111   if (count != 65535)
112     abort ();
113   count = 65530;
114 }
115 void (*const dtors65535[]) ()
116   __attribute__ ((section (".dtors"), aligned (sizeof (void *))))
117   = { dtor65535b, dtor65535a };
118 #endif
119 
120 int
main()121 main ()
122 {
123   printf ("OK\n");
124   return 0;
125 }
126