diff options
| author | root <root> | 2010-04-02 19:18:01 +0000 | 
|---|---|---|
| committer | root <root> | 2010-04-02 19:18:01 +0000 | 
| commit | bd27a6a2c6fa93b10d3ee6484ad5b8da56a8bff4 (patch) | |
| tree | a2427675e13f067c27ed1ad44a3f133a7304c25f | |
| parent | fdccfac35034766ea186c65f019a30bc867e0c6f (diff) | |
*** empty log message ***
| -rw-r--r-- | coro.c | 23 | 
1 files changed, 12 insertions, 11 deletions
| @@ -126,16 +126,16 @@ trampoline (int sig)           "\tpush %r14\n"           "\tpush %r15\n"           #if CORO_WIN_TIB -           "\tpush %fs:0xc\n" -           "\tpush %fs:0x8\n"             "\tpush %fs:0x0\n" +           "\tpush %fs:0x8\n" +           "\tpush %fs:0xc\n"           #endif           "\tmov  %rsp, (%rdi)\n"           "\tmov  (%rsi), %rsp\n"           #if CORO_WIN_TIB -           "\tpop  %fs:0x0\n" -           "\tpop  %fs:0x8\n"             "\tpop  %fs:0xc\n" +           "\tpop  %fs:0x8\n" +           "\tpop  %fs:0x0\n"           #endif           "\tpop  %r15\n"           "\tpop  %r14\n" @@ -150,16 +150,16 @@ trampoline (int sig)           "\tpush %esi\n"           "\tpush %edi\n"           #if CORO_WIN_TIB -           "\tpush %fs:8\n" -           "\tpush %fs:4\n"             "\tpush %fs:0\n" +           "\tpush %fs:4\n" +           "\tpush %fs:8\n"           #endif           "\tmov  %esp, (%eax)\n"           "\tmov  (%edx), %esp\n"           #if CORO_WIN_TIB -           "\tpop  %fs:0\n" -           "\tpop  %fs:4\n"             "\tpop  %fs:8\n" +           "\tpop  %fs:4\n" +           "\tpop  %fs:0\n"           #endif           "\tpop  %edi\n"           "\tpop  %esi\n" @@ -297,14 +297,15 @@ coro_create (coro_context *ctx, coro_func coro, void *arg, void *sptr, long ssiz    ctx->sp = (void **)(ssize + (char *)sptr);    *--ctx->sp = (void *)abort; /* needed for alignment only */    *--ctx->sp = (void *)coro_init; -  ctx->sp -= NUM_SAVED;    #if CORO_WIN_TIB -  *--ctx->sp = sptr;                 /* StackLimit */ -  *--ctx->sp = (char *)sptr + ssize; /* StackBase */    *--ctx->sp = 0;                    /* ExceptionList */ +  *--ctx->sp = (char *)sptr + ssize; /* StackBase */ +  *--ctx->sp = sptr;                 /* StackLimit */    #endif +  ctx->sp -= NUM_SAVED; +  # elif CORO_UCONTEXT    getcontext (&(ctx->uc)); | 
