brian.lu wrote:
> Hi, experts,
> 
> When I study the firefox startup performance, I find following line of 
> debugging output:
> 
> 29623: 1: 
> file=/export/home/brian/moz-ws/community/builds/build1108/firefox-opt/nss/softokn/libfreebl_hybrid_3.so;
>   
> dlopen() called from 
> file=/export/home/brian/moz-ws/community/builds/build1108/firefox-opt/dist/bin/libsoftokn3.so
>   
> [ RTLD_NOW  RTLD_LOCAL  RTLD_GROUP  RTLD_WORLD ]
> 
> 
> I don't know why RTLD_NOW is present. Because* no *codes in 
> libsoftokn3.so opens libfreebl_hybrid_3.so with dlopen() and 
> libfreebl_hybrid_3.so is built with *no *-z now option.
> 
> Can anyone explain this for me?

I see libsoftokn3.so loaded in my version of firefox, but I don't see 
libfreebl_hybrid_3.so loaded anywhere.  Nor do I see libsoftokn3.so make
reference to dlopen() either, so your trace does look odd.

Perhaps a strack trace of the dlopen() activity would reveal something.
This DTrace script might be a start:

/*
  * dtrace -x evaltime=exec -32 -qC -c /usr/local/firefox/firefox-bin -s 
dlopen.d
  */
pid$target:ld.so.1:dlmopen:entry,
pid$target:ld.so.1:dlopen:entry
{
         printf("dlopen: %s - mode=%x\n", arg0 ? copyinstr(arg0) : "0", arg1);
         ustack(50,500);
         printf("-------------------------\n");
}

-- 

Rod.

Reply via email to