[lkml]   [2009]   [Jul]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [RFC] move __devinit or __init printk constant format strings to __devinitconst or __initdata?
On Tue, 2009-07-21 at 16:50 -0700, David Daney wrote:
> Joe Perches wrote:
> > On Tue, 2009-07-21 at 17:57 -0500, Matt Mackall wrote:
> >> On Tue, 2009-07-21 at 14:56 -0700, Joe Perches wrote:
> >>> On Tue, 2009-07-21 at 16:48 -0500, Matt Mackall wrote:
> >>>> On Tue, 2009-07-21 at 14:20 -0700, Joe Perches wrote:
> >>>>> Is moving constant string formats to __devinitconst or __initdata
> >>>>> useful for embedded environments?
> >>>> Interesting notion, but not worth the trouble in my mind. I think it's
> >>>> more worthwhile to look into automatic such stuff in the build somehow.
> >>> I think it's not possible today to get gcc to mark
> >>> the format strings without source modification.
> >> Yep, that's why I specifically said 'build'. It can probably be done in
> >> a post-processing step with some ELF wizardry.
> >
> > Know any elven wizards?
> >
> It would be tricky, the string data from the entire compilation unit is
> intermingled. You would have to separate out only those strings
> referenced from __init sections into their own section and fix up all
> symbols and relocations that were affected.

Exactly. Annoying but not impossible.

> Probably easier would be to use the plug-in feature that will be part of
> GCC-4.5 (or will that be called GCC-5.0??), and create a special Linux
> kernel GCC plug-in that just emits the __init literal strings to the
> proper section to begin with. This wouldn't be unprecedented, the
> Mozilla people already use their own extensions to GCC, and will
> probably migrate to GCC plug-ins. We don't want the kernel to get left
> behind in the GCC plug-in race.

There are no doubt a number of things we could be doing with such

-- : development and support for Mercurial and Linux

 \ /
  Last update: 2009-07-22 03:33    [W:0.058 / U:2.460 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site