diff options
author | Dale Rahn <drahn@cvs.openbsd.org> | 2010-07-01 19:25:45 +0000 |
---|---|---|
committer | Dale Rahn <drahn@cvs.openbsd.org> | 2010-07-01 19:25:45 +0000 |
commit | 5c18e9dfe10ac1d1ea0983ddea83330dd0d14041 (patch) | |
tree | ca2491ef38df06955329c0a88c1c1621792f4e1a /libexec/ld.so/loader.c | |
parent | 49984b2fd4aaec1b1f239db0b01cbc3fd1a66109 (diff) |
When generating grpsym lists, avoid duplicates without searching the
already generated list. Speeds up startup on deeply nested dlopen binaries.
ok guenther@, tested by ckuethe@ and ajacoutot@
Diffstat (limited to 'libexec/ld.so/loader.c')
-rw-r--r-- | libexec/ld.so/loader.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/libexec/ld.so/loader.c b/libexec/ld.so/loader.c index 1b577effa47..2fa77a8804a 100644 --- a/libexec/ld.so/loader.c +++ b/libexec/ld.so/loader.c @@ -1,4 +1,4 @@ -/* $OpenBSD: loader.c,v 1.118 2010/01/02 12:16:35 kettenis Exp $ */ +/* $OpenBSD: loader.c,v 1.119 2010/07/01 19:25:44 drahn Exp $ */ /* * Copyright (c) 1998 Per Fogelstrom, Opsycon AB @@ -337,8 +337,8 @@ _dl_load_dep_libs(elf_object_t *object, int flags, int booting) } /* add first object manually */ - _dl_link_grpsym(object); - _dl_cache_grpsym_list(object); + _dl_link_grpsym(object, 1); + _dl_cache_grpsym_list_setup(object); return(0); } @@ -498,7 +498,7 @@ _dl_boot(const char **argv, char **envp, const long dyn_loff, long *dl_data) _dl_add_object(dyn_obj); dyn_obj->refcount++; - _dl_link_grpsym(dyn_obj); + _dl_link_grpsym(dyn_obj, 1); dyn_obj->status |= STAT_RELOC_DONE; |