about summary refs log tree commit diff
path: root/dlfcn
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2005-02-11 09:01:54 +0000
committerJakub Jelinek <jakub@redhat.com>2005-02-11 09:01:54 +0000
commitbf8419b987d24394676108127af8a599f7f7a9fa (patch)
treefdb3f9da34d5c942f223afc6736cd67b433cdf36 /dlfcn
parentd4f7a4c095da67f295204513c4be90f602daa7b4 (diff)
downloadglibc-bf8419b987d24394676108127af8a599f7f7a9fa.tar.gz
glibc-bf8419b987d24394676108127af8a599f7f7a9fa.tar.xz
glibc-bf8419b987d24394676108127af8a599f7f7a9fa.zip
Updated to fedora-glibc-20050211T0853
Diffstat (limited to 'dlfcn')
-rw-r--r--dlfcn/dlfcn.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/dlfcn/dlfcn.c b/dlfcn/dlfcn.c
index 9c0a84afb8..8047150763 100644
--- a/dlfcn/dlfcn.c
+++ b/dlfcn/dlfcn.c
@@ -23,11 +23,17 @@
 int __dlfcn_argc attribute_hidden;
 char **__dlfcn_argv attribute_hidden;
 
-
-void
-__attribute__ ((constructor))
+#ifdef HAVE_INITFINI_ARRAY
+static void
 init (int argc, char *argv[])
 {
   __dlfcn_argc = argc;
   __dlfcn_argv = argv;
 }
+
+static void (*const init_array []) (int argc, char *argv[])
+     __attribute__ ((section (".init_array"), aligned (sizeof (void *))))
+     __attribute_used__ = { init };
+#else
+# error "Need linker with .init_array support."
+#endif