tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: [PATCH] swapcontext vs libpthread
On Sat, Aug 25, 2012 at 12:37:27AM -0400, Christos Zoulas wrote:
> FIX: ./alpha/gen/swapcontext.S: CALL(setcontext) /*
> setcontext(ucp) */
That one seems already fine to me. The CALL macro is here to invoke a function
Am I wrong?
> FIX: ./hppa/gen/swapcontext.S: SYSCALL(setcontext)
If I try to steal from resumecontext, I would do this. Does it make sense?
#ifdef PIC
ldw HPPA_FRAME_EDP(%sp), %r19
addil LT%_C_LABEL(setcontext), %r19
ldw RT%_C_LABEL(setcontext)(%r1), %r1
#else
ldil L%_C_LABEL(setcontext), %r1
ldo R%_C_LABEL(setcontext)(%r1), %r1
#endif
>
> FIX: ./mips/gen/_resumecontext.S: SYSTRAP(setcontext)
> # yes, become it.
> FIX: ./mips/gen/swapcontext.S: SYSTRAP(setcontext)
I would do this:
PIC_TAILCALL(setcontext)
> FIX?: ./sh3/gen/swapcontext.S: mov.l .L_setcontext, r2
> FIX?: ./sh3/gen/swapcontext.S:2: CALL r2 /*
> setcontext(ucp) */
There is this later in the file, therefore I would say it is okay.
.L_setcontext: CALL_DATUM(_C_LABEL(setcontext), 2b)
> FIX: ./sparc/gen/swapcontext.S: mov SYS_setcontext|SYSCALL_G2RFLAG,
> %g1
> FIX: ./sparc64/gen/swapcontext.S: mov
> SYS_setcontext|SYSCALL_G2RFLAG, %g1
I would do this:
call _C_LABEL(setcontext)
> FIX: ./powerpc64/gen/swapcontext.S: bl .setcontext
> # setcontext(ucp)
Here it seems to be:
bl PIC_PLT(_C_LABEL(setcontest))
--
Emmanuel Dreyfus
manu%netbsd.org@localhost
Home |
Main Index |
Thread Index |
Old Index