Think like this: a perfectly normal function (without switch_to) can
have this:
f: pushl %ebp
movl %esp,%ebp
pushl %ebx
... do stuff, decrement %esp a lot to call functions etc. etc. ...
movl -4(%ebp),%esp
popl %ebx
popl %ebp
ret
Parity Error wrote:
> in schedule(), switch_to() macro changes esp to
> the new process's stack. But, on exit frm schedule,
> how come it does not get overwritten with ebp-24,
> as the dissasembled code shows. The code was compiled
> without the -fomit-frame-pointer.
>
> pushl 508(%ecx)
> jmp __switch_to
> 1: popl %ebp
> popl %edi
> popl %esi
>
> jmp .L1180
>
> .L1180:
> leal -24(%ebp),%esp
> popl %ebx
> popl %esi
> popl %edi
> movl %ebp,%esp
> popl %ebp
> ret
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/