I use 'strip -i -s savedSyms.txt my.app/Contents/MacOS/my' to remove
symbols that aren't necessary.
savedSyms.txt used to only contain typeinfo symbols (start with
"__ZTI") that are necessary for cross-library exception catching to
work.
But today, I discovered the need to preserve
".objc_class_name_CalController", or the stripped app would crash at
launch with an attempt to read from $0x0. The crash is inside some
anonymous code, called by
ImageLoaderMachO::doModInitFunctions(ImageLoader::LinkContext const&).
Only the release build crashes, I can strip that symbol from the debug
build and it doesn't care. The crash is on 10.5.6 or 10.5.7, I haven't
checked other versions. I'm building with Xcode 3.1.1.
MyController is referred to by some XIBs, so I thought maybe there's
something going on at NIB loading time, but removing the XIBs from the
project and rebuilding/restripping the .app doesn't remove the crash.
AFAIK, there's no static variable that attempts to construct a
CalController.
Why is this symbol required to launch?
_______________________________________________
Cocoa-dev mailing list ([email protected])
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com
This email sent to [email protected]