From b6e2f87a61dd5af7088aab32cd8377c55925354c Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sun, 16 Mar 2003 10:16:43 +0000 Subject: Update. 2003-03-16 Ulrich Drepper * sysdeps/unix/clock_settime.c (HANDLE_REALTIME): Define tv here, not at function level. * sysdeps/unix/clock_gettime.c (HANDLE_REALTIME): Likewise. --- nptl/ChangeLog | 3 +++ nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h | 28 ++++++++++++++++------ 2 files changed, 24 insertions(+), 7 deletions(-) (limited to 'nptl') diff --git a/nptl/ChangeLog b/nptl/ChangeLog index 9219b2753d..1bafd40f2b 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,5 +1,8 @@ 2003-03-16 Ulrich Drepper + * sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Work around red + zone versus inline asm stupidity. Use correct instructions. + * tst-rwlock6.c: Add some more status output. 2003-03-15 Roland McGrath diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h b/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h index cd233bf47a..ef3867bfb9 100644 --- a/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h +++ b/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h @@ -67,7 +67,9 @@ extern int __lll_mutex_unlock_wait (int *__futex) attribute_hidden; "jne 1f\n\t" \ ".subsection 1\n" \ "1:\tleaq %2, %%rsi\n\t" \ - "call __lll_mutex_lock_wait\n\t" \ + "subq $128, %%rsp\n\t" \ + "callq __lll_mutex_lock_wait\n\t" \ + "addq $128, %%rsp\n\t" \ "jmp 2f\n\t" \ ".previous\n" \ "2:" \ @@ -84,7 +86,9 @@ extern int __lll_mutex_unlock_wait (int *__futex) attribute_hidden; ".subsection 1\n" \ "1:\tleaq %4, %%rdi\n\t" \ "movq %7, %%rdx\n\t" \ - "call __lll_mutex_timedlock_wait\n\t" \ + "subq $128, %%rsp\n\t" \ + "callq __lll_mutex_timedlock_wait\n\t" \ + "addq $128, %%rsp\n\t" \ "jmp 2f\n\t" \ ".previous\n" \ "2:" \ @@ -101,7 +105,9 @@ extern int __lll_mutex_unlock_wait (int *__futex) attribute_hidden; "jne 1f\n\t" \ ".subsection 1\n" \ "1:\tleaq %0, %%rdi\n\t" \ - "call __lll_mutex_unlock_wake\n\t" \ + "subq $128, %%rsp\n\t" \ + "callq __lll_mutex_unlock_wake\n\t" \ + "addq $128, %%rsp\n\t" \ "jmp 2f\n\t" \ ".previous\n" \ "2:" \ @@ -152,7 +158,9 @@ extern int lll_unlock_wake_cb (int *__futex) attribute_hidden; "jne 1f\n\t" \ ".subsection 1\n" \ "1:\tleaq %2, %%rsi\n\t" \ - "call __lll_lock_wait\n\t" \ + "subq $128, %%rsp\n\t" \ + "callq __lll_lock_wait\n\t" \ + "addq $128, %%rsp\n\t" \ "jmp 2f\n\t" \ ".previous\n" \ "2:" \ @@ -167,7 +175,9 @@ extern int lll_unlock_wake_cb (int *__futex) attribute_hidden; "jng 1f\n\t" \ ".subsection 1\n" \ "1:\tleaq %0, %%rdi\n\t" \ - "call __lll_unlock_wake\n\t" \ + "subq $128, %%rsp\n\t" \ + "callq __lll_unlock_wake\n\t" \ + "addq $128, %%rsp\n\t" \ "jmp 2f\n\t" \ ".previous\n" \ "2:" \ @@ -201,7 +211,9 @@ extern int lll_unlock_wake_cb (int *__futex) attribute_hidden; "jne 1f\n\t" \ ".subsection 1\n" \ "1:\tleaq %2, %%rsi\n\t" \ - "call __lll_lock_wait\n\t" \ + "subq $128, %%rsp\n\t" \ + "callq __lll_lock_wait\n\t" \ + "addq $128, %%rsp\n\t" \ "jmp 2f\n\t" \ ".previous\n" \ "2:" \ @@ -219,7 +231,9 @@ extern int lll_unlock_wake_cb (int *__futex) attribute_hidden; "jng 1f\n\t" \ ".subsection 1\n" \ "1:\tleaq %0, %%rdi\n\t" \ - "call __lll_unlock_wake\n\t" \ + "subq $128, %%rsp\n\t" \ + "callq __lll_unlock_wake\n\t" \ + "addq $128, %%rsp\n\t" \ "jmp 2f\n\t" \ ".previous\n" \ "2:" \ -- cgit 1.4.1