mips ptrace.S fix
Neelkanth Natu
neelnatu at yahoo.com
Wed Feb 3 19:31:37 UTC 2010
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 at gmail.com> wrote:
> From: C. Jayachandran <c.jayachandran at gmail.com>
> Subject: Re: mips ptrace.S fix
> To: "Rui Paulo" <rpaulo at freebsd.org>
> Cc: freebsd-mips at freebsd.org
> Date: Wednesday, February 3, 2010, 2:27 AM
> On Wed, Feb 3, 2010 at 3:49 PM, Rui
> Paulo <rpaulo at 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 at freebsd.org
> mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-mips
> To unsubscribe, send any mail to "freebsd-mips-unsubscribe at freebsd.org"
>
More information about the freebsd-mips
mailing list