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>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3D37D489.49997C26>