[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070209170005.GA8500@osiris.ibm.com>
Date: Fri, 9 Feb 2007 18:00:05 +0100
From: Heiko Carstens <heiko.carstens@...ibm.com>
To: Alon Bar-Lev <alon.barlev@...il.com>
Cc: linux-kernel@...r.kernel.org, akpm@...l.org, bwalle@...e.de,
rmk+lkml@....linux.org.uk, spyro@....com, davej@...emonkey.org.uk,
hpa@...or.com, Riley@...liams.name, tony.luck@...el.com,
geert@...ux-m68k.org, zippel@...ux-m68k.org, ralf@...ux-mips.org,
matthew@....cx, grundler@...isc-linux.org, kyle@...isc-linux.org,
paulus@...ba.org, schwidefsky@...ibm.com, lethal@...ux-sh.org,
davem@...emloft.net, uclinux-v850@....nec.co.jp, ak@....de,
vojtech@...e.cz, chris@...kel.net, len.brown@...el.com,
lenb@...nel.org, herbert@...dor.apana.org.au,
viro@...iv.linux.org.uk, bzolnier@...il.com,
dmitry.torokhov@...il.com, dtor@...l.ru, jgarzik@...ox.com,
linux-mm@...ck.org, dwmw2@...radead.org, patrick@...epenguin.com,
kuznet@....inr.ac.ru, pekkas@...core.fi, jmorris@...ei.org,
philb@....org, tim@...erelk.net, andrea@...e.de, ambx1@....rr.com,
James.Bottomley@...eleye.com, linux-serial@...r.kernel.org
Subject: Re: [PATCH 00/34] __initdata cleanup
On Fri, Feb 09, 2007 at 05:11:32PM +0200, Alon Bar-Lev wrote:
>
> Follow-up Russell King comment at http://lkml.org/lkml/2007/1/22/267
>
> All __initdata variables should be initialized so they won't end up
> in BSS.
>
> There is no dependency between patches or even hunks.
>
> Some architecture patches are untested, this is documented as "UNTESTED"
>
> Against 2.6.20-rc6-mm3.
To quote parts of that:
Anyway, here's what the GCC manual has to say about use of
__attribute__((section)) on variables:
`section ("SECTION-NAME")'
Use the `section' attribute with an _initialized_ definition of a
_global_ variable, as shown in the example. GCC issues a warning
and otherwise ignores the `section' attribute in uninitialized
variable declarations.
You may only use the `section' attribute with a fully initialized
global definition because of the way linkers work. The linker
requires each object be defined once, with the exception that
uninitialized variables tentatively go in the `common' (or `bss')
section and can be multiply "defined". You can force a variable
to be initialized with the `-fno-common' flag or the `nocommon'
attribute.
And the top-level Makefile has:
CFLAGS := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \
-fno-strict-aliasing -fno-common
Note the -fno-common.
And indeed all the __initdata annotated local and global variables on
s390 are in the init.data section. So I'm wondering what this patch
series is about. Or I must have missed something.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists