mips ptrace.S fix
Randall Stewart
rrs at lakerest.net
Wed Feb 3 20:51:45 UTC 2010
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 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
>> "
>>
>
>
>
> _______________________________________________
> 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"
>
------------------------------
Randall Stewart
803-317-4952 (cell)
803-345-0391(direct)
More information about the freebsd-mips
mailing list