diff options
author | Rod Evans <Rod.Evans@Sun.COM> | 2009-05-08 10:36:22 -0700 |
---|---|---|
committer | Rod Evans <Rod.Evans@Sun.COM> | 2009-05-08 10:36:22 -0700 |
commit | 2017c9656f884256b400be40fa25d96d630bf02a (patch) | |
tree | 3595b8a5a17d9c3e47ec41e5214458d7a2912efb /usr/src/cmd/sgs/libld/common/ldmain.c | |
parent | b57459abfba36eb3068cfe44c6921168b4c4f774 (diff) | |
download | illumos-gate-2017c9656f884256b400be40fa25d96d630bf02a.tar.gz |
6831308 ld.so.1: symbol rescanning does a little too much work
Diffstat (limited to 'usr/src/cmd/sgs/libld/common/ldmain.c')
-rw-r--r-- | usr/src/cmd/sgs/libld/common/ldmain.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/usr/src/cmd/sgs/libld/common/ldmain.c b/usr/src/cmd/sgs/libld/common/ldmain.c index 19ef992801..4c850ec780 100644 --- a/usr/src/cmd/sgs/libld/common/ldmain.c +++ b/usr/src/cmd/sgs/libld/common/ldmain.c @@ -35,6 +35,7 @@ * ld -- link/editor main program */ #include <sys/types.h> +#include <sys/time.h> #include <sys/mman.h> #include <string.h> #include <stdio.h> @@ -114,6 +115,13 @@ ld_main(int argc, char **argv, Half mach) Ofl_desc *ofl; /* + * Establish a base time. Total time diagnostics are relative to + * entering the link-editor here. + */ + (void) gettimeofday(&DBG_TOTALTIME, NULL); + DBG_DELTATIME = DBG_TOTALTIME; + + /* * Initialize signal handlers, and output file variables. Establish a * default output ELF header to satisfy diagnostic requirements. */ @@ -186,10 +194,10 @@ ld_main(int argc, char **argv, Half mach) do { if (ld_sup_loadso(ofl, lib) == S_ERROR) return (ld_exit(ofl)); + DBG_CALL(Dbg_util_nl(ofl->ofl_lml, DBG_NL_STD)); } while ((lib = strtok_r(NULL, sep, &lasts)) != NULL); } - DBG_CALL(Dbg_util_nl(ofl->ofl_lml, DBG_NL_STD)); } if (lib_support) { Aliste idx; @@ -200,9 +208,9 @@ ld_main(int argc, char **argv, Half mach) DBG_SUP_CMDLINE)); if (ld_sup_loadso(ofl, lib) == S_ERROR) return (ld_exit(ofl)); + DBG_CALL(Dbg_util_nl(ofl->ofl_lml, DBG_NL_STD)); } } - DBG_CALL(Dbg_util_nl(ofl->ofl_lml, DBG_NL_STD)); DBG_CALL(Dbg_ent_print(ofl->ofl_lml, ofl->ofl_dehdr->e_ident[EI_OSABI], ofl->ofl_dehdr->e_machine, @@ -383,6 +391,7 @@ ld_main(int argc, char **argv, Half mach) ld_sup_atexit(ofl, 0); DBG_CALL(Dbg_statistics_ld(ofl)); + DBG_CALL(Dbg_basic_finish(ofl->ofl_lml)); /* * Wrap up debug output file if one is open |