diff options
author | Ulrich Drepper <drepper@redhat.com> | 2001-02-02 06:19:24 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2001-02-02 06:19:24 +0000 |
commit | 5d9167133cd1b614e2841eceba5d6c3828059254 (patch) | |
tree | d00e4cedc2f49111343107cad7c53ffc08ad23ef /elf/dl-load.c | |
parent | 70dc5068f8105942b3ffa7ef57fbb88b6d4ce75a (diff) | |
download | glibc-5d9167133cd1b614e2841eceba5d6c3828059254.zip glibc-5d9167133cd1b614e2841eceba5d6c3828059254.tar.gz glibc-5d9167133cd1b614e2841eceba5d6c3828059254.tar.bz2 |
Update.
2001-02-01 Ulrich Drepper <drepper@redhat.com>
* 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.
Diffstat (limited to 'elf/dl-load.c')
-rw-r--r-- | elf/dl-load.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/elf/dl-load.c b/elf/dl-load.c index e8112b1..157d827 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; |