public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "acahalan at gmail dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug inline-asm/11807] GCC should error out when clobbering the stack pointer and frame pointer
Date: Fri, 21 Apr 2006 02:11:00 -0000	[thread overview]
Message-ID: <20060421021117.14556.qmail@sourceware.org> (raw)
In-Reply-To: <bug-11807-6667@http.gcc.gnu.org/bugzilla/>



------- Comment #24 from acahalan at gmail dot com  2006-04-21 02:11 -------
PIC register: while the user could save and restore this, the whole point of
this fancy assembly notation is so that gcc can do nice scheduling and register
allocation. The save and restore should thus be done by gcc. Perhaps the PIC
register won't soon be needed, so gcc could use it for something else until it
gets reloaded with the normal content. At the very least, gcc could pick a good
location for the save/restore operations.

Frame pointer register: this is the same as the PIC register. It's good to
schedule the save/restore nicely.

Stack pointer register: this one is special. For app code, signals may arrive.
For kernel code, interrupts might be delivered without a stack change. Not
supporting a clobbered stack pointer is definitely tolerable. Ideally this case
could be handled (making the code non-reentrant), but the resulting mess is
probably of very limited use. I could imagine abusing push/pop to iterate over
arrays, but that's insane.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11807


       reply	other threads:[~2006-04-21  2:11 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <bug-11807-6667@http.gcc.gnu.org/bugzilla/>
2006-04-21  2:11 ` acahalan at gmail dot com [this message]
2006-08-10 21:48 ` Martin dot vGagern at gmx dot net
2007-01-25  1:02 ` pinskia at gcc dot gnu dot org
2007-01-30 18:20 ` dpm at danger dot com
2003-08-05 12:45 [Bug c++/11807] New: Wrong usage of registers on ARM aw11 at os dot inf dot tu-dresden dot de
2005-08-10 10:46 ` [Bug inline-asm/11807] GCC should error out when clobbering the stack pointer and frame pointer pinskia at gcc dot gnu dot org
2005-08-10 10:47 ` pinskia at gcc dot gnu dot org
2005-08-10 11:25 ` giovannibajo at libero dot it
2005-08-10 11:29 ` pinskia at gcc dot gnu dot org
2005-08-23 11:31 ` nigel at suspend2 dot net
2005-08-23 11:41 ` pinskia at gcc dot gnu dot org
2005-08-23 11:42 ` ncunningham at cyclades dot com
2005-08-26  9:34 ` aw11 at os dot inf dot tu-dresden dot de

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=20060421021117.14556.qmail@sourceware.org \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@gcc.gnu.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).