From 5d9167133cd1b614e2841eceba5d6c3828059254 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Fri, 2 Feb 2001 06:19:24 +0000 Subject: Update. 2001-02-01 Ulrich Drepper * Makerules (build-shlib): Add $(extra-B-$(@F:lib%.so=%).so). * configure.in: Test for -z initfirst linker option. * config.make.in: Add have-z-initfirst. * elf/dl-init.c (_dl_init): Split out actual initialization code in new function call_init. If _dl_initfirst is non-NULL initialize first. * elf/dl-load.c (_dl_map_from_fd): If DF_1_INITFIRST flag is set remember object in _dl_initfirst. * elf/soinit.c: Remove special support for calling __pthread_initialize_minimal. * conform/conformtest.pl: Add missing $prepend in type test. * elf/elf.h (SHT_CHECKSUM): New definition. * posix/tst-fnmatch.input: Add tests for [. .] in locales. --- elf/dl-load.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'elf/dl-load.c') diff --git a/elf/dl-load.c b/elf/dl-load.c index e8112b10bb..157d827419 100644 --- a/elf/dl-load.c +++ b/elf/dl-load.c @@ -117,6 +117,9 @@ int _dl_clktck; extern const char *_dl_platform; extern size_t _dl_platformlen; +/* The object to be initialized first. */ +struct link_map *_dl_initfirst; + /* This is the decomposed LD_LIBRARY_PATH search path. */ static struct r_search_path_struct env_path_list; @@ -1150,6 +1153,10 @@ _dl_map_object_from_fd (const char *name, int fd, struct filebuf *fbp, l->l_scope[0] = &l->l_symbolic_searchlist; } + /* Remember whether this object must be initialized first. */ + if (l->l_flags_1 & DF_1_INITFIRST) + _dl_initfirst = l; + /* Finally the file information. */ l->l_dev = st.st_dev; l->l_ino = st.st_ino; -- cgit v1.2.3