Messages in this thread | | | Date | Tue, 24 Jun 2014 22:41:32 +0200 | Subject | Re: [RFC PATCH 0/3] Mark literal strings in __init / __exit code | From | Mathias Krause <> |
| |
On 24 June 2014 22:30, Joe Perches <joe@perches.com> wrote: > On Tue, 2014-06-24 at 22:10 +0200, Mathias Krause wrote: >> I would like to handle the easy ones, too. E.g. strings used in >> parameter parsing, i.e. strcmp()s. > > Sure, but that change is separable from printk conversions.
Yes. Those need to be marked manually, based on auditing the code for reuses of those strings in non-init code.
> > Any idea how much would be changed treewide and whether > or not those strings are not already in rodata?
No, sorry. I haven't looked for those specifically yet. There is even more to look for: calls to panic() in __init code, or the name of kmem_cache_create() -- it get's copied. So there is more to optimize if one is patient enough ;) And all of those strings should be in the .rodata section, now. But why you're asking?
> > Looking at it, I see generic strings like "on", "off", > "device", "high", "low". All these are likely to be > duplications of strings in rodata.
Yes. My vanilla vmlinux build has quite a lot of copies of "off" in it. But I doubt any linker would merge those. Does LTO do so?
Mathias
| |