lkml.org 
[lkml]   [2008]   [Feb]   [21]   [last100]   RSS Feed
Views: [more markup]   [less markup]   [headers]   [forward]  
 
Messages in this thread
/
DateThu, 21 Feb 2008 10:34:39 -0800
From"H. Peter Anvin" <>
SubjectRe: [PATCH 2/2] x86 : relocate uninitialized variable in init DATA section into init BSS section
Ingo Molnar wrote:
> 
> 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?
> 

Not the linker (unless each variable is put in its own section)... the 
compiler could (should!) do it... unfortunately gcc failed to provide a 
way to specify rodata, data and bss sections for a single data item (on 
the assumption that if you specified a section, you already knew were it 
should be going.)

What we really need is a new gcc extension:

__attribute__((sections("data", "rodata", "bss")))

... where gcc stuffs it into the appropriate section depending on where 
it belongs, just as it does with undecorated data items.

	-hpa


\
 
 \ /
  Last update: 2008-02-21 19:39    [from the cache]
©2003-2008