initialize data not at file scope - WTF?

From: Ian Pilcher
Date: Mon Jan 12 2004 - 16:36:40 EST


In include/linux/init.h, it says:

For initialized data:
You should insert __initdata between the variable name and equal
sign followed by value, e.g.:

static int init_variable __initdata = 0;
static char linux_logo[] __initdata = { 0x32, 0x36, ... };

Don't forget to initialize data not at file scope, i.e. within a
function, as gcc otherwise puts the data into the bss section and not
into the init section.

Does this mean that __initdata can't be used for file scope variables,
that it can only be used for file scope variables, or something else?

Thanks!

--
========================================================================
Ian Pilcher i.pilcher@xxxxxxxxxxx
========================================================================

-
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/