summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2012-11-16 06:49:38 -0800
committerH.J. Lu <hjl.tools@gmail.com>2012-11-16 06:49:38 -0800
commit224cb1349151189a864e6b64be01966da1164374 (patch)
tree88f6955b6c5977454d84d4f93cfd2f69b6f1bec8
parentd14fbb177ac9a604b38d51034c6c61271d0df0db (diff)
downloadglibc-hjl/init.tar.gz
Set constructor/destructor priority to 1000hjl/init
-rw-r--r--ChangeLog.hjl5
-rw-r--r--elf/tst-array1.c6
-rw-r--r--elf/tst-array2dep.c6
3 files changed, 13 insertions, 4 deletions
diff --git a/ChangeLog.hjl b/ChangeLog.hjl
new file mode 100644
index 0000000000..f7a55a3db6
--- /dev/null
+++ b/ChangeLog.hjl
@@ -0,0 +1,5 @@
+2012-11-16 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf/tst-array1.c (init): Set constructor priority to 1000.
+ (fini): Set destructor priority to 1000.
+ * elf/tst-array2dep.c: Likewise.
diff --git a/elf/tst-array1.c b/elf/tst-array1.c
index ca9bdf4079..e998932b36 100644
--- a/elf/tst-array1.c
+++ b/elf/tst-array1.c
@@ -1,6 +1,7 @@
#include <unistd.h>
-static void init (void) __attribute__ ((constructor));
+/* Give init non-default priority so that it runs before init_array. */
+static void init (void) __attribute__ ((constructor (1000)));
static void
init (void)
@@ -8,7 +9,8 @@ init (void)
write (STDOUT_FILENO, "init\n", 5);
}
-static void fini (void) __attribute__ ((destructor));
+/* Give fini the same priority as init. */
+static void fini (void) __attribute__ ((destructor (1000)));
static void
fini (void)
diff --git a/elf/tst-array2dep.c b/elf/tst-array2dep.c
index 2812761a09..2f920cdc8d 100644
--- a/elf/tst-array2dep.c
+++ b/elf/tst-array2dep.c
@@ -1,6 +1,7 @@
#include <unistd.h>
-static void init (void) __attribute__ ((constructor));
+/* Give init non-default priority so that it runs before init_array. */
+static void init (void) __attribute__ ((constructor (1000)));
static void
init (void)
@@ -8,7 +9,8 @@ init (void)
write (STDOUT_FILENO, "DSO init\n", 9);
}
-static void fini (void) __attribute__ ((destructor));
+/* Give fini the same priority as init. */
+static void fini (void) __attribute__ ((destructor (1000)));
static void
fini (void)