aboutsummaryrefslogtreecommitdiff
path: root/ld/testsuite/ld-elf/init-mixed.c
diff options
context:
space:
mode:
Diffstat (limited to 'ld/testsuite/ld-elf/init-mixed.c')
-rw-r--r--ld/testsuite/ld-elf/init-mixed.c46
1 files changed, 37 insertions, 9 deletions
diff --git a/ld/testsuite/ld-elf/init-mixed.c b/ld/testsuite/ld-elf/init-mixed.c
index 1d0c727..770a4b5 100644
--- a/ld/testsuite/ld-elf/init-mixed.c
+++ b/ld/testsuite/ld-elf/init-mixed.c
@@ -27,25 +27,39 @@ void (*const fini_array1005[]) ()
= { fini1005 };
static void
-ctor1007 ()
+ctor1007a ()
{
if (count != 1005)
abort ();
+ count = 1006;
+}
+static void
+ctor1007b ()
+{
+ if (count != 1006)
+ abort ();
count = 1007;
}
void (*const ctors1007[]) ()
__attribute__ ((section (".ctors.64528"), aligned (sizeof (void *))))
- = { ctor1007 };
+ = { ctor1007b, ctor1007a };
static void
-dtor1007 ()
+dtor1007a ()
{
- if (count != 1007)
+ if (count != 1006)
abort ();
count = 1005;
}
+static void
+dtor1007b ()
+{
+ if (count != 1007)
+ abort ();
+ count = 1006;
+}
void (*const dtors1007[]) ()
__attribute__ ((section (".dtors.64528"), aligned (sizeof (void *))))
- = { dtor1007 };
+ = { dtor1007b, dtor1007a };
static void
init65530 ()
@@ -69,17 +83,31 @@ void (*const fini_array65530[]) ()
= { fini65530 };
static void
-ctor65535 ()
+ctor65535a ()
{
if (count != 65530)
abort ();
count = 65535;
}
+static void
+ctor65535b ()
+{
+ if (count != 65535)
+ abort ();
+ count = 65536;
+}
void (*const ctors65535[]) ()
__attribute__ ((section (".ctors"), aligned (sizeof (void *))))
- = { ctor65535 };
+ = { ctor65535b, ctor65535a };
+static void
+dtor65535b ()
+{
+ if (count != 65536)
+ abort ();
+ count = 65535;
+}
static void
-dtor65535 ()
+dtor65535a ()
{
if (count != 65535)
abort ();
@@ -87,7 +115,7 @@ dtor65535 ()
}
void (*const dtors65535[]) ()
__attribute__ ((section (".dtors"), aligned (sizeof (void *))))
- = { dtor65535 };
+ = { dtor65535b, dtor65535a };
#endif
int