Re: [patch 03/26] Dynamic kernel command-line - arm

Bernhard Walle
2007-01-22T22:14:04Z

* Russell King <rmk+lkml@arm.linux.org.uk> [2007-01-18 16:23]:
> On Thu, Jan 18, 2007 at 04:31:51PM +0100, Tomas Carnecky wrote:
> > Russell King wrote:
> > > On Thu, Jan 18, 2007 at 01:58:52PM +0100, Bernhard Walle wrote:
> > >> -static char command_line[COMMAND_LINE_SIZE];
> > >> +static char __initdata command_line[COMMAND_LINE_SIZE];
> > >
> > > Uninitialised data is placed in the BSS. Adding __initdata to BSS
> > > data causes grief.
> > >
> >
> > Static variables are implicitly initialized to zero. Does that also
> > count as initialization?
>
> No. As I say, they're placed in the BSS. The BSS is zeroed as part of
> the C runtime initialisation.
>
> If you want to place a variable in a specific section, it must be
> explicitly initialised. Eg,
>
> static char __initdata command_line[COMMAND_LINE_SIZE] = "";

Why? It must be initialised if you rely on a initialised value in the
code. But I don't think that this in in case here. Can you tell me the
code where you read from command_line before writing to it?

Thanks.

Regards,
Bernhard