aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--elf/nodel2mod1.c19
-rw-r--r--elf/nodel2mod2.c7
-rw-r--r--elf/nodel2mod3.c1
3 files changed, 27 insertions, 0 deletions
diff --git a/elf/nodel2mod1.c b/elf/nodel2mod1.c
new file mode 100644
index 0000000..acddc4c
--- /dev/null
+++ b/elf/nodel2mod1.c
@@ -0,0 +1,19 @@
+#include <stdlib.h>
+void
+foo (void)
+{
+ exit (0);
+}
+
+void
+__attribute__((destructor))
+bar (void)
+{
+ static int i;
+ foo ();
+ ++i;
+}
+void
+baz (void)
+{
+}
diff --git a/elf/nodel2mod2.c b/elf/nodel2mod2.c
new file mode 100644
index 0000000..d002024
--- /dev/null
+++ b/elf/nodel2mod2.c
@@ -0,0 +1,7 @@
+void
+__attribute__((constructor))
+xxx (void)
+{
+ extern void baz (void);
+ baz ();
+}
diff --git a/elf/nodel2mod3.c b/elf/nodel2mod3.c
new file mode 100644
index 0000000..6d1a0d4
--- /dev/null
+++ b/elf/nodel2mod3.c
@@ -0,0 +1 @@
+int x;