Date: Wed, 3 Feb 2010 12:51:41 -0800 From: Randall Stewart <rrs@lakerest.net> To: Neelkanth Natu <neelnatu@yahoo.com> Cc: freebsd-mips@freebsd.org Subject: Re: mips ptrace.S fix Message-ID: <E3996838-99C9-476B-B962-ED19C06EB9FC@lakerest.net> In-Reply-To: <296949.49663.qm@web34402.mail.mud.yahoo.com> References: <296949.49663.qm@web34402.mail.mud.yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Neel: Good point.. I will fix these in head since I pushed his patch in ;-) R On Feb 3, 2010, at 11:31 AM, Neelkanth Natu wrote: > Hi JC, > > Your patch looks good. I have a few comments though. See inline: > > Index: lib/libc/mips/sys/ptrace.S > =================================================================== > --- lib/libc/mips/sys/ptrace.S (revision 203379) > +++ lib/libc/mips/sys/ptrace.S (working copy) > @@ -42,14 +42,26 @@ > #endif /* LIBC_SCCS and not lint */ > > LEAF(ptrace) > + .frame sp,40,ra > >>> space missing after the ',' > > + .mask 0x80000000, -8 > #ifdef __ABICALLS__ > .set noreorder > .cpload t9 > .set reorder > #endif > + subu sp, sp, 40 > + sw ra, 32(sp) > +#ifdef __ABICALLS__ > + .cprestore 16 > +#endif > la t9, _C_LABEL(__error) # locate address of errno > - jalr t9 > + jalr t9 > >>> this change is not required - the newly added line has a tab at >>> the end. > > +#ifdef __ABICALLS__ > + lw gp, 16(sp) > +#endif > >>> this is redundant - the assembler will generate exactly the same >>> line of >>> code due to the .cprestore directive above. > > sw zero, 0(v0) > + lw ra, 32(sp) > + addu sp, sp, 40 > li v0, SYS_ptrace > syscall > bne a3, zero, 1f > > best > Neel > > --- On Wed, 2/3/10, C. Jayachandran <c.jayachandran@gmail.com> wrote: > >> From: C. Jayachandran <c.jayachandran@gmail.com> >> Subject: Re: mips ptrace.S fix >> To: "Rui Paulo" <rpaulo@freebsd.org> >> Cc: freebsd-mips@freebsd.org >> Date: Wednesday, February 3, 2010, 2:27 AM >> On Wed, Feb 3, 2010 at 3:49 PM, Rui >> Paulo <rpaulo@freebsd.org> >> wrote: >>> On 3 Feb 2010, at 03:06, C. Jayachandran wrote: >>> >>>> The ptrace system call implementation seems to >> have a bug, we need to >>>> save ra and gp before calling the __error, and >> that will need a stack >>>> frame. >>>> >>>> I've attached a patch that should fix this for o32 >> ABI - but it really >>>> should be written with ABI-independent macros, any >> clue on how to do >>>> this which will take care of n32/64 too will be >> helpful. >>>> >>>> I also have some initial patches for making gdb >> work on MIPS. . That >>>> patch is also attached, but it is work in >> progress, only the static >>>> executables work now. >>> >>> I think you forgot the attachments or they were >> stripped out. >> >> I think the attachments were stripped out, may be by the >> mailing list >> itself. I had them as attachments since I was worried >> that gmail will >> damage white-space if I did it inline. >> >> Is there a standard way of submitting patches to the list? >> For now I >> have the patches at: >> http://sites.google.com/site/cjayachandran/files (the >> files are >> ptrace.S.patch and gdb.patch) >> >> Thanks, >> JC. >> _______________________________________________ >> freebsd-mips@freebsd.org >> mailing list >> http://lists.freebsd.org/mailman/listinfo/freebsd-mips >> To unsubscribe, send any mail to "freebsd-mips-unsubscribe@freebsd.org >> " >> > > > > _______________________________________________ > freebsd-mips@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-mips > To unsubscribe, send any mail to "freebsd-mips- > unsubscribe@freebsd.org" > ------------------------------ Randall Stewart 803-317-4952 (cell) 803-345-0391(direct)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E3996838-99C9-476B-B962-ED19C06EB9FC>