Re: [PATCH 2/2] x86 : relocate uninitialized variable in init DATAsection into init BSS section

From: Matt Mackall
Date: Thu Feb 21 2008 - 07:21:53 EST



On Thu, 2008-02-21 at 10:53 +0100, Ingo Molnar wrote:
> * Huang, Ying <ying.huang@xxxxxxxxx> wrote:
>
> > > > -int __initdata early_ioremap_debug;
> > > > +int __initbss early_ioremap_debug;
> > >
> > > will we get some sort of build error if we accidentally do:
> > >
> > > int __initbss early_ioremap_debug = 1;
> > >
> > > ?
> >
> > I tested it just now, and there is no build error.
>
> well, that's bad. We'd silently ignore the " = 1" and boot up with that
> value at 0, right? At minimum we need some really prominent build-time
> _errors_ (i.e. aborted builds) if this ever happens. But ideally,
> shouldnt this whole thing be done at link time? Couldnt the linker sort
> the variables that are zero initialized into the right section, and move
> this constant maintenance pressure off the programmer's shoulder?

I'm not sure if it's possible currently. But it might be possible to
instead tag objects as "init" with an attribute other than section and
then move such objects into init sections "by hand" late in the build.

--
Mathematics is the supreme nostalgia of our time.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/