109
edits
Joel Reymont (talk | contribs) |
Joel Reymont (talk | contribs) |
||
| Line 75: | Line 75: | ||
<pre> | <pre> | ||
DYLD_PRINT_LIBRARIES_POST_LAUNCH=1 ./Minefield.app/Contents/MacOS/firefox-bin -no-remote -foreground -P 2 | DYLD_PRINT_LIBRARIES_POST_LAUNCH=1 ./Minefield.app/Contents/MacOS/firefox-bin -no-remote -foreground -P 2 | ||
dyld: loaded: /System/Library/ | dyld: loaded: /System/Library/CoreServices/RawCamera.bundle/Contents/MacOS/RawCamera | ||
dyld: loaded: /System/Library/PrivateFrameworks/Shortcut.framework/Versions/A/Shortcut | dyld: loaded: /System/Library/PrivateFrameworks/Shortcut.framework/Versions/A/Shortcut | ||
dyld: loaded: /System/Library/PrivateFrameworks/HelpData.framework/Versions/A/HelpData | dyld: loaded: /System/Library/PrivateFrameworks/HelpData.framework/Versions/A/HelpData | ||
dyld: loaded: / | dyld: loaded: /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/Resources/libCSync.A.dylib | ||
dyld: loaded: / | dyld: loaded: | ||
dyld: loaded: / | /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/Resources/libCGATS.A.dylib | ||
dyld: loaded: /System/Library/ | dyld: loaded: /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/Resources/libRIP.A.dylib | ||
dyld: loaded: /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/ATSHI.dylib | |||
dyld: loaded: /Library/Internet Plug-Ins/QuickTime Plugin.plugin/Contents/MacOS/QuickTime Plugin | dyld: loaded: /Library/Internet Plug-Ins/QuickTime Plugin.plugin/Contents/MacOS/QuickTime Plugin | ||
dyld: loaded: /System/Library/QuickTime/QuickTimeComponents.component/Contents/MacOS/QuickTimeComponents | dyld: loaded: /System/Library/QuickTime/QuickTimeComponents.component/Contents/MacOS/QuickTimeComponents | ||
dyld: loaded: /System/Library/Frameworks/AGL.framework/Versions/A/AGL | dyld: loaded: /System/Library/Frameworks/AGL.framework/Versions/A/AGL | ||
dyld: loaded: /System/Library/PrivateFrameworks/CoreAUC.framework/Versions/A/CoreAUC | dyld: loaded: /System/Library/PrivateFrameworks/CoreAUC.framework/Versions/A/CoreAUC | ||
dyld: loaded: /Users/joelr/Work/mozilla/startup/Minefield.app/Contents/MacOS/components/libbrowserdirprovider.dylib | |||
dyld: loaded: /Users/joelr/Work/mozilla/startup/Minefield.app/Contents/MacOS/components/libbrowsercomps.dylib | |||
dyld: loaded: /Users/joelr/Work/mozilla/startup/./Minefield.app/Contents/MacOS/libnssdbm3.dylib | |||
dyld: loaded: /Users/joelr/Work/mozilla/startup/./Minefield.app/Contents/MacOS/libfreebl3.dylib | |||
dyld: loaded: /Users/joelr/Work/mozilla/startup/Minefield.app/Contents/MacOS/libnssckbi.dylib | |||
dyld: unloaded: /Users/joelr/Work/mozilla/startup/Minefield.app/Contents/MacOS/libnssckbi.dylib | dyld: unloaded: /Users/joelr/Work/mozilla/startup/Minefield.app/Contents/MacOS/libnssckbi.dylib | ||
</pre> | </pre> | ||
I separated the list of libraries loaded by Firefox into three groups: same libraries as Safari, other system frameworks, custom libraries. | |||
What needs to be done to make Firefox use the dynamic library shared cache as aggressively as Safari? | What needs to be done to make Firefox use the dynamic library shared cache as aggressively as Safari? | ||
Another puzzling bit involves the difference between Safari libraries loaded by dyld (above) and the list of libraries that Safari is linked against, e.g. | |||
<pre> | |||
otool -L /Applications/Safari.app/Contents/MacOS/Safari | |||
/System/Library/PrivateFrameworks/CrashReporterSupport.framework/Versions/A/CrashReporterSupport | |||
/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa | |||
/System/Library/Frameworks/Carbon.framework/Versions/A/Carbon | |||
/System/Library/Frameworks/WebKit.framework/Versions/A/WebKit | |||
/System/Library/Frameworks/AddressBook.framework/Versions/A/AddressBook | |||
/System/Library/Frameworks/Security.framework/Versions/A/Security | |||
/System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration | |||
/System/Library/Frameworks/SecurityFoundation.framework/Versions/A/SecurityFoundation | |||
/System/Library/Frameworks/SecurityInterface.framework/Versions/A/SecurityInterface | |||
/System/Library/PrivateFrameworks/SyndicationUI.framework/Versions/A/SyndicationUI | |||
/System/Library/Frameworks/JavaScriptCore.framework/Versions/A/JavaScriptCore | |||
/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit | |||
/System/Library/Frameworks/Quartz.framework/Versions/A/Quartz | |||
/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL | |||
/usr/lib/libicucore.A.dylib | |||
/usr/lib/libstdc++.6.dylib | |||
/usr/lib/libgcc_s.1.dylib | |||
/usr/lib/libSystem.B.dylib | |||
/System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices | |||
/usr/lib/libobjc.A.dylib | |||
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation | |||
/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit | |||
/System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices | |||
/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation | |||
/System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore | |||
</pre> | |||
Does Safari lazily loading some frameworks? Why do I see OpenGL initializers run when I set ''DYLD_PRINT_INITIALIZERS'' then? The OpenGL framework does not appear to be loaded when Safari starts (dyld output above). | |||
For the sake of comparing, here's the list of libraries that Firefox is linked against | |||
<pre> | |||
otool -L ./Minefield.app/Contents/MacOS/firefox-bin./Minefield.app/Contents/MacOS/firefox-bin: | |||
/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa | |||
@executable_path/XUL | |||
@executable_path/libmozjs.dylib | |||
@executable_path/libxpcom.dylib | |||
@executable_path/libplds4.dylib | |||
@executable_path/libplc4.dylib | |||
@executable_path/libnspr4.dylib | |||
/System/Library/Frameworks/Carbon.framework/Versions/A/Carbon | |||
/System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio | |||
/System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox | |||
/System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit | |||
/System/Library/Frameworks/AddressBook.framework/Versions/A/AddressBook | |||
/usr/lib/libstdc++.6.dylib | |||
/usr/lib/libgcc_s.1.dylib | |||
/usr/lib/libSystem.B.dylib | |||
</pre> | |||
as well as the list of libraries for XUL | |||
<pre> | |||
otool -L ./Minefield.app/Contents/MacOS/XUL | |||
@executable_path/XUL | |||
/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa | |||
@executable_path/libsqlite3.dylib | |||
@executable_path/libmozjs.dylib | |||
@executable_path/libsmime3.dylib | |||
@executable_path/libssl3.dylib | |||
@executable_path/libnss3.dylib | |||
@executable_path/libnssutil3.dylib | |||
@executable_path/libsoftokn3.dylib | |||
/usr/lib/libcups.2.dylib | |||
@executable_path/libplds4.dylib | |||
@executable_path/libplc4.dylib | |||
@executable_path/libnspr4.dylib | |||
/System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration | |||
/System/Library/Frameworks/QuickTime.framework/Versions/A/QuickTime | |||
/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit | |||
/usr/lib/libcrypto.0.9.7.dylib | |||
/System/Library/Frameworks/Carbon.framework/Versions/A/Carbon | |||
/System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio | |||
/System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox | |||
/System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit | |||
/System/Library/Frameworks/AddressBook.framework/Versions/A/AddressBook | |||
/usr/lib/libstdc++.6.dylib | |||
/usr/lib/libgcc_s.1.dylib | |||
/usr/lib/libSystem.B.dylib | |||
/System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices | |||
/usr/lib/libobjc.A.dylib | |||
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation | |||
/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit | |||
/System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices | |||
/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation | |||
</pre> | |||
= Previous statuses = | = Previous statuses = | ||
edits