lkml.org 
[lkml]   [2008]   [Feb]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [git pull] x86 updates
On Tue, Feb 05, 2008 at 10:05:08PM +0100, Ingo Molnar wrote:
>
> * Sam Ravnborg <sam@ravnborg.org> wrote:
>
> > On Tue, Feb 05, 2008 at 10:47:07AM -0800, Linus Torvalds wrote:
> > >
> > >
> > > Ingo, Thomas,
> > > should we not do this?
> > >
> > > Otherwise, it seems we generate a section that isn't allocated?
> > >
> > > I think toolchain should add the right flags automatically for
> > > sections that start with ".[ro]data" and ".text", but not for the
> > > kernel-specific ".init.*" sections.
> >
> > With a bit of help from the bin-utils people (Alan Modra) I recently
> > discovered that the linker generate sections with different names when
> > the flags differs, so fogetting "aw" casues the linekr to generate a
> > section named .init.data.1 (or some other number). But I nevet got to
> > investigate if ld does something magically with these autogenerated
> > section names. But I added a check in modpost and it should warn about
> > the code below.
> >
> > I would prefer the use of
> > __CPUINITDATA
> > __FINITDATA
> >
> > as defined in linux/init.h but otherwise - yes it should be fixed.
> > With the use of __CPUINITDATA we can kill the ifdef too.
>
> ok, i've queued up your patch.
>
> btw., __CPUINITDATA/__FINITDATA is nice, except that the small patch
> below is needed to make the fun complete ;-)
>
> or, we could use __FINIT all the time.

I have no strong preference - I do not like the naming of
__FINIT but maybe thats just me and I have no better name right now.

>
> btw., what's the practical consequence of getting these section flags
> wrong - for example writable data can end up in executable section
> accidentally and be marked readonly by RODATA? Or can anything more
> serious happen? (they cannot get into any of the discarded sections, we
> filter for them explicitly in the linker scripts)
I have not investigated this. My attention were due to section mismatch
warnings pointing to section names I could not find in the code.
When I did an objdump of vmlinux the funny section names were gone
so I expected ld had recognized them and merged them somehow - but I
did not look closer as my focus was to get rid of them anyway.

I also did a quick skimming of info ld - but no luck.

Sam


\
 
 \ /
  Last update: 2008-02-05 22:19    [from the cache]
©2003-2011 Jasper Spaans