public inbox for linux-ia64@vger.kernel.org
 help / color / mirror / Atom feed
* [Linux-ia64] A clarification about sys32_execve/ia32_execve
@ 2003-04-04 17:50 Chandra Kapate
  2003-04-07 21:26 ` David Mosberger
  2003-04-08 13:28 ` Chandra Kapate
  0 siblings, 2 replies; 3+ messages in thread
From: Chandra Kapate @ 2003-04-04 17:50 UTC (permalink / raw)
  To: linux-ia64

Hi,
I was looking at how execve syscalls work wrt to 32/64
syscalls. I have a basic question. I appreciate if
some once can clarify. I apologize if I am overlooking
some thing very obvious.

The ia32_execve (in ia32_entry.S) sets up out0, out1,
out2 and out3 before invoking sys32_execve. The out3
is setup for regs. But, in sys32_execve, the regs
is set locally using 9th parameters. I can see how
the regs is set using 9th parameter. I don't 
understand  why is set again in sys32_execve
when it is already set in out3 in ia32_execve and 
could have used as 4th parameter? Does args mis-match 
between ia32_execve and sys32_execve matter? 
OTH, sys_execve does use the regs set in ia64_execve.
Sorry, if i am overlooking something.

Thanks,
Chandra

__________________________________________________
Do you Yahoo!?
Yahoo! Tax Center - File online, calculators, forms, and more
http://tax.yahoo.com


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Linux-ia64] A clarification about sys32_execve/ia32_execve
  2003-04-04 17:50 [Linux-ia64] A clarification about sys32_execve/ia32_execve Chandra Kapate
@ 2003-04-07 21:26 ` David Mosberger
  2003-04-08 13:28 ` Chandra Kapate
  1 sibling, 0 replies; 3+ messages in thread
From: David Mosberger @ 2003-04-07 21:26 UTC (permalink / raw)
  To: linux-ia64

Hi Chandra,

>>>>> On Fri, 4 Apr 2003 09:50:16 -0800 (PST), Chandra Kapate <cs_kapate@yahoo.com> said:

  Chandra> Hi,
  Chandra> I was looking at how execve syscalls work wrt to 32/64
  Chandra> syscalls. I have a basic question. I appreciate if
  Chandra> some once can clarify. I apologize if I am overlooking
  Chandra> some thing very obvious.

  Chandra> The ia32_execve (in ia32_entry.S) sets up out0, out1,
  Chandra> out2 and out3 before invoking sys32_execve. The out3
  Chandra> is setup for regs. But, in sys32_execve, the regs
  Chandra> is set locally using 9th parameters. I can see how
  Chandra> the regs is set using 9th parameter. I don't 
  Chandra> understand  why is set again in sys32_execve
  Chandra> when it is already set in out3 in ia32_execve and 
  Chandra> could have used as 4th parameter? Does args mis-match 
  Chandra> between ia32_execve and sys32_execve matter? 
  Chandra> OTH, sys_execve does use the regs set in ia64_execve.
  Chandra> Sorry, if i am overlooking something.

Looks like you found an inconsistency.  The code should work as it
stands, but it certainly looks confusing.  It looks to me like one end
of the interface was updated at one point but not the other.

The reason sys32_execve() works is because the 9th (scalar) argument
is the first argument that gets passed on the stack.  Taking its
address will give "sp+16", which is exactly what out3 is set to.

Thanks for pointing out this inconsistency (I'll see about fixing it).

	--david


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Linux-ia64] A clarification about sys32_execve/ia32_execve
  2003-04-04 17:50 [Linux-ia64] A clarification about sys32_execve/ia32_execve Chandra Kapate
  2003-04-07 21:26 ` David Mosberger
@ 2003-04-08 13:28 ` Chandra Kapate
  1 sibling, 0 replies; 3+ messages in thread
From: Chandra Kapate @ 2003-04-08 13:28 UTC (permalink / raw)
  To: linux-ia64

Thanks for clarifying.
Chandra
--- David Mosberger <davidm@napali.hpl.hp.com> wrote:
> Hi Chandra,
> 
> >>>>> On Fri, 4 Apr 2003 09:50:16 -0800 (PST),
> Chandra Kapate <cs_kapate@yahoo.com> said:
> 
>   Chandra> Hi,
>   Chandra> I was looking at how execve syscalls work
> wrt to 32/64
>   Chandra> syscalls. I have a basic question. I
> appreciate if
>   Chandra> some once can clarify. I apologize if I
> am overlooking
>   Chandra> some thing very obvious.
> 
>   Chandra> The ia32_execve (in ia32_entry.S) sets up
> out0, out1,
>   Chandra> out2 and out3 before invoking
> sys32_execve. The out3
>   Chandra> is setup for regs. But, in sys32_execve,
> the regs
>   Chandra> is set locally using 9th parameters. I
> can see how
>   Chandra> the regs is set using 9th parameter. I
> don't 
>   Chandra> understand  why is set again in
> sys32_execve
>   Chandra> when it is already set in out3 in
> ia32_execve and 
>   Chandra> could have used as 4th parameter? Does
> args mis-match 
>   Chandra> between ia32_execve and sys32_execve
> matter? 
>   Chandra> OTH, sys_execve does use the regs set in
> ia64_execve.
>   Chandra> Sorry, if i am overlooking something.
> 
> Looks like you found an inconsistency.  The code
> should work as it
> stands, but it certainly looks confusing.  It looks
> to me like one end
> of the interface was updated at one point but not
> the other.
> 
> The reason sys32_execve() works is because the 9th
> (scalar) argument
> is the first argument that gets passed on the stack.
>  Taking its
> address will give "sp+16", which is exactly what
> out3 is set to.
> 
> Thanks for pointing out this inconsistency (I'll see
> about fixing it).
> 
> 	--david


__________________________________________________
Do you Yahoo!?
Yahoo! Tax Center - File online, calculators, forms, and more
http://tax.yahoo.com


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2003-04-08 13:28 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-04-04 17:50 [Linux-ia64] A clarification about sys32_execve/ia32_execve Chandra Kapate
2003-04-07 21:26 ` David Mosberger
2003-04-08 13:28 ` Chandra Kapate

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox