]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Update.
authorUlrich Drepper <drepper@redhat.com>
Tue, 8 Jul 2003 21:08:13 +0000 (21:08 +0000)
committerUlrich Drepper <drepper@redhat.com>
Tue, 8 Jul 2003 21:08:13 +0000 (21:08 +0000)
2003-07-08  Jakub Jelinek  <jakub@redhat.com>

* pthreadP.h (__pthread_unwind_next, __pthread_register_cancel,
__pthread_unregister_cancel): Add prototypes and hidden_proto.
* unwind.c (__pthread_unwind_next): Add hidden_def.
* cleanup.c (__pthread_register_cancel, __pthread_unregister_cancel):
Likewise.
* sysdeps/unix/sysv/linux/i386/i486/sem_wait.S (__new_sem_wait):
Use HIDDEN_JUMPTARGET to jump to __pthread_unwind.
* sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S (sem_timedwait):
Likewise.
* sysdeps/unix/sysv/linux/x86_64/sem_wait.S (sem_wait): Likewise.
* sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S (sem_timedwait):
Likewise.
* sysdeps/unix/sysv/linux/i386/pthread_once.S (__pthread_once): Use
HIDDEN_JUMPTARGET to call __pthread_register_cancel,
__pthread_unregister_cancel and __pthread_unwind_next.

nptl/ChangeLog
nptl/cleanup.c
nptl/pthreadP.h
nptl/sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S
nptl/sysdeps/unix/sysv/linux/i386/i486/sem_wait.S
nptl/sysdeps/unix/sysv/linux/i386/pthread_once.S
nptl/sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S
nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S
nptl/unwind.c

index 4cd3cf0846c267af6eb3049133dc0d96e24965ee..93540dfa6680268fbd2ca9bf8d094e9a7623264d 100644 (file)
@@ -1,3 +1,21 @@
+2003-07-08  Jakub Jelinek  <jakub@redhat.com>
+
+       * pthreadP.h (__pthread_unwind_next, __pthread_register_cancel,
+       __pthread_unregister_cancel): Add prototypes and hidden_proto.
+       * unwind.c (__pthread_unwind_next): Add hidden_def.
+       * cleanup.c (__pthread_register_cancel, __pthread_unregister_cancel):
+       Likewise.
+       * sysdeps/unix/sysv/linux/i386/i486/sem_wait.S (__new_sem_wait):
+       Use HIDDEN_JUMPTARGET to jump to __pthread_unwind.
+       * sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S (sem_timedwait):
+       Likewise.
+       * sysdeps/unix/sysv/linux/x86_64/sem_wait.S (sem_wait): Likewise.
+       * sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S (sem_timedwait):
+       Likewise.
+       * sysdeps/unix/sysv/linux/i386/pthread_once.S (__pthread_once): Use
+       HIDDEN_JUMPTARGET to call __pthread_register_cancel,
+       __pthread_unregister_cancel and __pthread_unwind_next.
+
 2003-07-04  Jakub Jelinek  <jakub@redhat.com>
 
        * sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h (PSEUDO): Use
index 5bf85398e41d52ca9ad40a9739459f865de1046c..af828c49fa445876352b3f853728262bb9d4154d 100644 (file)
@@ -35,6 +35,7 @@ __pthread_register_cancel (__pthread_unwind_buf_t *buf)
   /* Store the new cleanup handler info.  */
   THREAD_SETMEM (self, cleanup_jmp_buf, (struct pthread_unwind_buf *) buf);
 }
+hidden_def (__pthread_register_cancel)
 
 
 void
@@ -45,3 +46,4 @@ __pthread_unregister_cancel (__pthread_unwind_buf_t *buf)
 
   THREAD_SETMEM (THREAD_SELF, cleanup_jmp_buf, ibuf->priv.data.prev);
 }
+hidden_def (__pthread_unregister_cancel)
index e33d8281177ab08d0c2719ab8139dc0a495ae045..30983216c8c00375c33412ea4996b1a2faa2ba45 100644 (file)
@@ -114,8 +114,21 @@ extern void __pthread_unwind (__pthread_unwind_buf_t *__buf)
      weak_function
 #endif
      ;
+extern void __pthread_unwind_next (__pthread_unwind_buf_t *__buf)
+     __cleanup_fct_attribute __attribute ((__noreturn__))
+#ifndef SHARED
+     weak_function
+#endif
+     ;
+extern void __pthread_register_cancel (__pthread_unwind_buf_t *__buf)
+     __cleanup_fct_attribute;
+extern void __pthread_unregister_cancel (__pthread_unwind_buf_t *__buf)
+     __cleanup_fct_attribute;
 #if defined NOT_IN_libc && defined IS_IN_libpthread
 hidden_proto (__pthread_unwind)
+hidden_proto (__pthread_unwind_next)
+hidden_proto (__pthread_register_cancel)
+hidden_proto (__pthread_unregister_cancel)
 #endif
 
 
index 9afe85f205f263be1a9bc732f67d6e60c39f2dfc..b48a309f531bed8865067267e9930f8d6a912e07 100644 (file)
@@ -187,6 +187,6 @@ sem_timedwait:
        LOCK
        orl     $0x10, %gs:CANCELHANDLING
        movl    %gs:CLEANUP_JMP_BUF, %eax
-       jmp     __pthread_unwind
+       jmp     HIDDEN_JUMPTARGET (__pthread_unwind)
        cfi_endproc
        .size   sem_timedwait,.-sem_timedwait
index ba4f54cd6460b202256dbaaada9b6d9057447f6b..b7674dc3baf85e0574a7fefd0a1245decd8ad4fb 100644 (file)
@@ -123,7 +123,7 @@ __new_sem_wait:
        LOCK
        orl     $0x10, %gs:CANCELHANDLING
        movl    %gs:CLEANUP_JMP_BUF, %eax
-       jmp     __pthread_unwind
+       jmp     HIDDEN_JUMPTARGET (__pthread_unwind)
        cfi_endproc
        .size   __new_sem_wait,.-__new_sem_wait
        versioned_symbol(libpthread, __new_sem_wait, sem_wait, GLIBC_2_1)
index 3bab92f990b16aa3ad7fd0846f5090ea4ac0aba1..107a9a919e32a80b7b3d962dbed6eb144749f5f0 100644 (file)
@@ -112,14 +112,14 @@ __pthread_once:
        jne     7f
 
        leal    8(%esp), %eax
-       call    __pthread_register_cancel
+       call    HIDDEN_JUMPTARGET(__pthread_register_cancel)
 
        /* Call the user-provided initialization function.  */
        call    *24+UNWINDBUFSIZE(%esp)
 
        /* Pop the cleanup handler.  */
        leal    8(%esp), %eax
-       call    __pthread_unregister_cancel
+       call    HIDDEN_JUMPTARGET(__pthread_unregister_cancel)
        addl    $UNWINDBUFSIZE+8, %esp
        cfi_adjust_cfa_offset (-UNWINDBUFSIZE-8)
 
@@ -156,7 +156,7 @@ __pthread_once:
        ENTER_KERNEL
 
        leal    8(%esp), %eax
-       call    __pthread_unwind_next           /* Note: no @PLT.  */
+       call    HIDDEN_JUMPTARGET (__pthread_unwind_next)
        /* NOTREACHED */
        hlt
        cfi_endproc
index 7626d7b2509c68765f6205b27e541a7eea9a7ea7..d90e03b55b9761d8e5caaa3afb3b6ac1e3bfb11b 100644 (file)
@@ -170,6 +170,6 @@ sem_timedwait:
        LOCK
        orl     $0x10, %fs:CANCELHANDLING
        movq    %fs:CLEANUP_JMP_BUF, %rdi
-       jmp     __pthread_unwind
+       jmp     HIDDEN_JUMPTARGET (__pthread_unwind)
        cfi_endproc
        .size   sem_timedwait,.-sem_timedwait
index 32742309fb0ab563253e044225851528ed950a7c..76957bc13967bcf97dad8d441ef7557c837ee517 100644 (file)
@@ -115,6 +115,6 @@ sem_wait:
        LOCK
        orl     $0x10, %fs:CANCELHANDLING
        movq    %fs:CLEANUP_JMP_BUF, %rdi
-       jmp     __pthread_unwind
+       jmp     HIDDEN_JUMPTARGET (__pthread_unwind)
        cfi_endproc
        .size   sem_wait,.-sem_wait
index e51fd295b5c8de7611f993932338fdfd167b28bd..67e5d6de251843b2bf84a59fca39ed5ed0eabfd7 100644 (file)
@@ -122,3 +122,4 @@ __pthread_unwind_next (__pthread_unwind_buf_t *buf)
 
   __pthread_unwind ((__pthread_unwind_buf_t *) ibuf->priv.data.prev);
 }
+hidden_def (__pthread_unwind_next)