From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: Pascal Calling Convention
Date: Mon, 28 Mar 2011 21:32:54 -0500
Date: 2011-03-28T21:32:54-05:00 [thread overview]
Message-ID: <imrgcv$22m$1@munin.nbi.dk> (raw)
In-Reply-To: wcck4fjc99j.fsf@shell01.TheWorld.com
"Robert A Duff" <bobduff@shell01.TheWorld.com> wrote in message
news:wcck4fjc99j.fsf@shell01.TheWorld.com...
> "Randy Brukardt" <randy@rrsoftware.com> writes:
>
>> I can't speak for Keith, but most of the hardware architectures that I've
>> worked on have had at least some architectual support for a "hardware"
>> stack. Not only the Push/Pop instructions of the X86 for instance, but
>> also
>> the special SS stack segment register.
>
> True, but nobody uses the SS register in any nontrivial way, anymore.
> The segmentation stuff of 8086 is pretty much vestigial at this point.
Not relevant to this discussion, but I think that's sad, as a lot of the
security problems inherent in buffer overflows would have been avoided by
simply keeping separate code and data segments. That would prevent code on
the stack from being executed. (We found a lot of problems in Janus/Ada by
keeping the code and data segments in our DOS Extender compilers completely
separate; it's been quite a bit harder to find those problems on Windows or
Unix systems that don't properly separate them.) The problem with segments
is segments that are too small, not the basic idea.
...
> "Stack" is a pretty well-understood term in computer science,
Yes, of course.
> and I think if an x86-centric person insists that "the stack"
> must be a certain way based on the hardware/architecture,
> they're the one inventing confusing terminology.
Right again. But it seems to me that is a straw man.
> Keith is trying to clarify, by calling that contiguous thing
> a "hardware stack", but I'm saying the word "hardware" doesn't
> capture the intended meaning.
It does on most architectures. I don't believe I've ever seen a modern
architecture without some sort of Call/Return instructions. Some of them
allow use of any register, so there isn't a dedicated stack register.
In any case, I read your reply as saying that it didn't make sense to ever
refer to a "hardware stack", which makes no sense to me. As soon as you are
talking about hardware or implementations, you are talking in a
target-specific way, so it doesn't make much sense to make any
generalizations. It makes perfect sense to talk about a hardware stack on an
X86; if you are talking about some other target, maybe not.
Randy.
next prev parent reply other threads:[~2011-03-29 2:32 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-23 21:37 Pascal Calling Convention Shark8
2011-03-23 23:25 ` Yannick Duchêne (Hibou57)
2011-03-24 0:24 ` Randy Brukardt
2011-03-24 0:43 ` Yannick Duchêne (Hibou57)
2011-03-24 2:04 ` Shark8
2011-03-25 15:40 ` Yannick Duchêne (Hibou57)
[not found] ` <F8mdnYCca6tRJBfQnZ2dnUVZ_s-dnZ2d@earthlink.com>
2011-03-24 19:20 ` Keith Thompson
2011-03-25 16:04 ` Robert A Duff
2011-03-25 17:02 ` Hyman Rosen
2011-03-25 17:09 ` Robert A Duff
2011-03-25 17:35 ` Hyman Rosen
2011-03-26 19:51 ` Robert A Duff
2011-03-25 17:51 ` Keith Thompson
2011-03-26 20:46 ` Robert A Duff
2011-03-27 2:24 ` Randy Brukardt
2011-03-28 15:41 ` Adam Beneschan
2011-03-28 19:52 ` Robert A Duff
2011-03-29 2:32 ` Randy Brukardt [this message]
2011-03-29 6:06 ` Shark8
2011-03-29 23:45 ` Randy Brukardt
2011-03-29 19:19 ` Robert A Duff
2011-03-30 0:02 ` Randy Brukardt
2011-03-30 12:40 ` Robert A Duff
2011-03-30 19:40 ` Randy Brukardt
2011-03-30 20:56 ` tmoran
2011-03-30 22:34 ` Robert A Duff
2011-03-31 21:00 ` Randy Brukardt
2011-03-28 20:29 ` Hyman Rosen
2011-03-28 21:16 ` Adam Beneschan
2011-03-28 21:26 ` Hyman Rosen
2011-03-28 22:08 ` Adam Beneschan
2011-03-28 23:47 ` Georg Bauhaus
2011-03-29 12:23 ` stefan-lucks
2011-03-29 13:10 ` Hyman Rosen
2011-03-30 13:42 ` Phil Clayton
2011-03-31 7:40 ` Phil Clayton
2011-03-29 2:48 ` Hyman Rosen
2011-03-29 18:30 ` Robert A Duff
2011-03-29 23:25 ` Adam Beneschan
2011-03-30 12:50 ` Robert A Duff
2011-03-30 14:47 ` Adam Beneschan
2011-03-30 18:10 ` Robert A Duff
2011-03-29 3:01 ` Hyman Rosen
2011-03-29 18:22 ` Robert A Duff
2011-03-26 21:30 ` Florian Weimer
2011-03-27 16:18 ` Robert A Duff
2011-03-27 16:38 ` Florian Weimer
2011-03-27 16:56 ` Robert A Duff
2011-03-24 2:15 ` Shark8
2011-03-24 0:38 ` ytomino
2011-03-24 2:23 ` Shark8
2011-03-24 21:29 ` Gautier write-only
2011-03-25 12:47 ` Marco
2011-03-25 15:38 ` Yannick Duchêne (Hibou57)
2011-03-26 8:39 ` ObjectAda [was: Pascal Calling Convention] Gautier write-only
2011-03-26 14:05 ` Marco
2011-03-26 21:58 ` Gautier write-only
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox