• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag
 

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: what's supposed to get [dead] stripped?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: what's supposed to get [dead] stripped?


  • Subject: Re: what's supposed to get [dead] stripped?
  • From: Steve Christensen <email@hidden>
  • Date: Sat, 1 Apr 2006 23:06:05 -0800

Just wondering if anyone has some insight into this since I haven't made any further progress myself. This is not a symbol stripping issue, but a dead code stripping issue.

For my test case, one unused class method is not being dead-stripped, thus directly and indirectly pulling in other local code plus Carbon API symbols to be runtime linked. For my shipping code, there is a lot of extra dead code plus all those Carbon API calls being referenced. This is causing a huge amount of code bloat.

Help!


Steve Christensen wrote:

I have a bunch of iMovie plug-in projects that I moved from CodeWarrior to Xcode (2.2.1) as part of moving to UB. Since there is a lot of shared code, I first build that as a separate static library that gets linked with all the plug-ins as they are built.

I've been noticing that the plug-in executable size has grown by considerably more than twice the previous PPC-only size. When I say considerable, I mean a 48K PPC-only executable growing to a 196K PPC+Intel executable.

I have dead code stripping turned on as well as symbol stripping (both ld and strip) and even a separate exported symbols file (all I want to export is main). Level of debug symbols is set to full, per Xcode's note that stripping works better that way.

When I run "nm -mg" on a plug-in's executable, I see that there are a lot of extra import symbols when compared with a plug-in built by CodeWarrior. After tracking it down more, it looks like some unreferenced non-virtual class methods are being included and thus dragging along the Mac OS API symbols and any other methods they use.

Am I missing something very basic here, or what? It's frustrating because I can't see anything else to turn on that would strip further.

I have a test project that shows what's happening that I can mail off-list if that will help.


_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


  • Follow-Ups:
    • Re: what's supposed to get [dead] stripped?
      • From: Scott Ribe <email@hidden>
  • Prev by Date: Re: Xcode lets me link a Universal static library against thin static libraries
  • Next by Date: Re: Xcode and ccache
  • Previous by thread: Re: Xcode lets me link a Universal static library against thin static libraries
  • Next by thread: Re: what's supposed to get [dead] stripped?
  • Index(es):
    • Date
    • Thread