Date: Fri, 19 Jul 2002 18:57:45 +1000 From: Peter Grehan <peterg@ptree32.com.au> To: obrien@FreeBSD.ORG Cc: freebsd-ppc@FreeBSD.ORG Subject: Re: success level with peter g's patch.. Message-ID: <3D37D489.49997C26@ptree32.com.au> References: <1027050508.3d378c0c98e84@www.wantpackets.com> <3D37BB53.D5486D0B@ptree32.com.au> <20020719080635.GA70923@dragon.nuxi.com>
index | next in thread | previous in thread | raw e-mail
Hi David,
> How do other FreeBSD platforms handle this? That is more important.
From a high-level view, it shouldn't matter: there is no non-error return
from execve(), and all arch's handle EJUSTRETURN in syscall() for sigreturn.
i386 doesn't get a register trash because the startup params are on the
stack. For alpha, it looks like the ps_strings param is overwritten:
machdep.c:setreg()
tfp->tf_regs[FRAME_A3] = PS_STRINGS; /* a3 = ps_strings */
trap.c:syscall()
switch (error) {
case 0:
...
framep->tf_regs[FRAME_A3] = 0; <- overwrite PS_STRINGS
sparc64 already uses the td_retval[] trick, and does anyone really understand
ia64 assembler ? :-)
later,
Peter.
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ppc" in the body of the message
home |
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3D37D489.49997C26>
