diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2012-11-16 06:49:38 -0800 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2012-11-16 06:49:38 -0800 |
commit | 224cb1349151189a864e6b64be01966da1164374 (patch) | |
tree | 88f6955b6c5977454d84d4f93cfd2f69b6f1bec8 | |
parent | d14fbb177ac9a604b38d51034c6c61271d0df0db (diff) | |
download | glibc-hjl/init.zip glibc-hjl/init.tar.gz glibc-hjl/init.tar.bz2 |
Set constructor/destructor priority to 1000hjl/init
-rw-r--r-- | ChangeLog.hjl | 5 | ||||
-rw-r--r-- | elf/tst-array1.c | 6 | ||||
-rw-r--r-- | elf/tst-array2dep.c | 6 |
3 files changed, 13 insertions, 4 deletions
diff --git a/ChangeLog.hjl b/ChangeLog.hjl new file mode 100644 index 0000000..f7a55a3 --- /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 ca9bdf4..e998932 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 2812761..2f920cd 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) |