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]

Reply via email to