Hi, playing with ltrace, trying to see what functions are called by firefox, it works fine in many situations:
ltrace -i -ulibnspr4 /usr/local/bin/firefox ltrace -i -u:NSS* /usr/local/bin/firefox *but* for some reason it doesnt seem to work with libxul.so, which is where most of the symbols of the engine lies. At the beginning i thought it was an issue as libxul.so is dlopen()'ed by firefox binary (and not linked in the binary) but in some trunk builds i have around, libnss3 & libnspr4 are also dlopen()'ed by firefox binary and ltrace still shows symbols from those libs, so that doesnt seem an issue with dlopen(). /usr/local/bin/firefox: Start End Type Open Ref GrpRef Name 000013c3e0300000 000013c3e0353000 exe 2 0 0 /usr/local/bin/firefox 000013c68ce1b000 000013c68cef7000 rlib 0 1 0 /usr/lib/libc++.so.3.0 000013c6451ec000 000013c64522e000 rlib 0 2 0 /usr/lib/libc++abi.so.1.0 000013c6a1986000 000013c6a1993000 rlib 0 1 0 /usr/lib/libpthread.so.26.1 000013c6d5491000 000013c6d54c0000 rlib 0 1 0 /usr/lib/libm.so.10.1 000013c6987e5000 000013c6988d9000 rlib 0 1 0 /usr/lib/libc.so.96.0 000013c696dba000 000013c696dba000 ld.so 0 1 0 /usr/libexec/ld.so objdump -p /usr/local/lib/firefox/libxul.so.85.0 |grep NEED lists all the dependencies of libxul, and i have no issue showing called symbols from those via ltrace, ie ltrace -i -ulibcairo /usr/local/bin/firefox yields many things. So, what could be the issue here ? the symbols i expect being called by the code are not all exported in libxul.so ? The library is too large (250mb)? I find it strange that ltrace -i -ulibxul /usr/local/bin/firefox yields nothing while most of the actual code is there. Thanks for any pointers. Landry