diff options
author | Andreas Krebbel <krebbel@linux.vnet.ibm.com> | 2012-07-19 15:58:17 +0200 |
---|---|---|
committer | Andreas Krebbel <krebbel@linux.vnet.ibm.com> | 2012-07-19 15:58:17 +0200 |
commit | 46f85fc22637213e4a97b306f40a64ae09f82f18 (patch) | |
tree | 0ffbc10b9faf12886e941bbe1e9e600e94a415ce /sysdeps/unix/sysv/linux/s390/s390-64/makecontext.c | |
parent | 08f43f9bbf97c03ec4d2754c69fd9d7efce6ef96 (diff) | |
download | glibc-46f85fc22637213e4a97b306f40a64ae09f82f18.tar glibc-46f85fc22637213e4a97b306f40a64ae09f82f18.tar.gz glibc-46f85fc22637213e4a97b306f40a64ae09f82f18.tar.bz2 glibc-46f85fc22637213e4a97b306f40a64ae09f82f18.zip |
S/390: Fix uc_link == NULL handling for makecontext
Diffstat (limited to 'sysdeps/unix/sysv/linux/s390/s390-64/makecontext.c')
-rw-r--r-- | sysdeps/unix/sysv/linux/s390/s390-64/makecontext.c | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/makecontext.c b/sysdeps/unix/sysv/linux/s390/s390-64/makecontext.c index dcc63a2354..17e5dba3c2 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/makecontext.c +++ b/sysdeps/unix/sysv/linux/s390/s390-64/makecontext.c @@ -80,10 +80,10 @@ __makecontext (ucontext_t *ucp, void (*func) (void), int argc, ...) sp -= 20; *sp = 0; - /* Pass (*func) to __start_context in %r7. */ + /* Pass (*func) to __makecontext_ret in %r7. */ ucp->uc_mcontext.gregs[7] = (long int) func; - /* Pass ucp->uc_link to __start_context in %r8. */ + /* Pass ucp->uc_link to __makecontext_ret in %r8. */ ucp->uc_mcontext.gregs[8] = (long int) ucp->uc_link; /* Pass address of setcontext in %r9. */ @@ -93,12 +93,4 @@ __makecontext (ucontext_t *ucp, void (*func) (void), int argc, ...) ucp->uc_mcontext.gregs[15] = (long int) sp; } -asm (".text\n" - ".type __makecontext_ret,@function\n" - "__makecontext_ret:\n" - " basr %r14,%r7\n" - " lgr %r2,%r8\n" - " br %r9\n" - ".size __makecontext_ret, .-__makecontext_ret"); - weak_alias (__makecontext, makecontext) |