Re: Can an NSString literal's bytes be moved to a different section of the executable?
Re: Can an NSString literal's bytes be moved to a different section of the executable?
- Subject: Re: Can an NSString literal's bytes be moved to a different section of the executable?
- From: Jens Alfke <email@hidden>
- Date: Thu, 25 Feb 2016 09:39:02 -0800
On Feb 24, 2016, at 6:15 PM, Wim Lewis < email@hidden> wrote:
You can place a C string into a specific section using syntax like this:
static __attribute__((section("__TEXT,foo"))) const char foo_var[] = "Foo, forsooth.”;
I did try using that instead. The problem is that these strings are used at the call-site as format strings (for the logged message), and I run into trouble with the `format` attribute on the logging function — I can’t use the `__NSString__` style because the parameter isn’t an NSString anymore, but I can’t use the `__printf__` style because that doesn’t allow `%@`. :( There's also an __attribute__((cold)), which is documented to be useful for situations like this, including basic-block reordering, but I don't know if the Xcode toolchain does anything with it.
It’s not in Clang’s list of attributes, although it is in GCC’s, so I assume Clang doesn’t support it.
—Jens |
_______________________________________________
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