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.