Re: Symbols appearing even though tagged as hidden
Re: Symbols appearing even though tagged as hidden
- Subject: Re: Symbols appearing even though tagged as hidden
- From: Eric Albert <email@hidden>
- Date: Fri, 30 Dec 2005 14:07:09 -0800
On Dec 30, 2005, at 1:14 PM, Greg Norz wrote:
I have a test project (Carbon Framework) with "Symbols Hidden by
Default" checked and "Inline Functions Hidden" checked. Despite this,
when I run 'nm' on my output I see the 2 classes I placed in there.
I've
even tried adding __attribute((visibility("hidden"))) to the classes,
but they still appear. Are all classes viewable by 'nm' regardless of
whether they are tagged for export or not? I would prefer that classes
I
use solely inside the Framework not be visible to the outside world. Is
there something I'm missing?
Hiding a symbol doesn't remove it from nm's output. It just makes it
not exported. In nm, external symbols have capital letters, but
internal (non-exported) symbols have lowercase letters. So if your
functions are tagged with 'T' in the nm output they're being exported,
but if they have a 't' they're "hidden".
To keep symbols from showing up in nm altogether, you'll want to turn
on Deployment Postprocessing or build with 'xcodebuild install'. Those
strip symbols from the resulting binary.
Hope this helps,
Eric
_______________________________________________
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