All of lore.kernel.org
 help / color / mirror / Atom feed
From: "H. Peter Anvin" <hpa@zytor.com>
To: Ingo Molnar <mingo@elte.hu>
Cc: "Huang, Ying" <ying.huang@intel.com>,
	Ingo Molnar <mingo@redhat.com>,
	Thomas Gleixner <tglx@linutronix.de>, Andi Kleen <ak@suse.de>,
	Ian Campbell <ijc@hellion.org.uk>, Matt Mackall <mpm@selenic.com>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/2] x86 : relocate uninitialized variable in init DATA section into init BSS section
Date: Thu, 21 Feb 2008 10:34:39 -0800	[thread overview]
Message-ID: <47BDC43F.4070106@zytor.com> (raw)
In-Reply-To: <20080221095301.GA29361@elte.hu>

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

  parent reply	other threads:[~2008-02-21 18:36 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-02-21  8:15 [PATCH 2/2] x86 : relocate uninitialized variable in init DATA section into init BSS section Huang, Ying
2008-02-21  9:05 ` Ingo Molnar
2008-02-21  9:28   ` Huang, Ying
2008-02-21  9:53     ` Ingo Molnar
2008-02-21 12:18       ` Matt Mackall
2008-02-21 18:34       ` H. Peter Anvin [this message]
2008-02-22  2:38       ` Huang, Ying
2008-02-22  2:42         ` H. Peter Anvin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=47BDC43F.4070106@zytor.com \
    --to=hpa@zytor.com \
    --cc=ak@suse.de \
    --cc=ijc@hellion.org.uk \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=mingo@redhat.com \
    --cc=mpm@selenic.com \
    --cc=tglx@linutronix.de \
    --cc=ying.huang@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.