This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH][SH] CFI directives patch


Hi Thomas, this patch adds CFI directives to epilogues in the SH port
assembly files.

Some of the cancellation point calls were also modified to now use CFI
assembler directives, instead of hard-coding the information.

Thanks,
Chung-Lin

2012-05-04  Chung-Lin Tang  <cltang@codesourcery.com>

        * sysdeps/unix/sysv/linux/sh/sh3/swapcontext.S
        (__swapcontext): Add CFI directives for epilogue.
        * sysdeps/unix/sysv/linux/sh/sh3/setcontext.S
        (__setcontext): Likewise.
        * sysdeps/unix/sysv/linux/sh/sh4/swapcontext.S
        (__swapcontext): Likewise.
        * sysdeps/unix/sysv/linux/sh/sh4/setcontext.S
        (__setcontext): Likewise.
        * sysdeps/sh/_mcount.S (_mount): Add CFI directives for epilogue.
        * sysdeps/unix/sh/sysdep.S (__syscall_error): Likewise.
        * sysdeps/unix/sysv/linux/sh/sysdep.h (SYSCALL_ERROR_HANDLER):
        Modify to avoid using r12 register.
        * nptl/sysdeps/unix/sysv/linux/sh/lowlevelrobustlock.S
        (__lll_robust_lock_wait): Add CFI directives for epilogue.
        (__lll_robust_timedlock_wait): Likewise.
        * nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.S
        (__lll_lock_wait_private): Add CFI directives for epilogue.
        (__lll_lock_wait): Likewise.
        (__lll_timedlock_wait): Likewise.
        * nptl/sysdeps/unix/sysv/linux/sh/sem_wait.S
        (__new_sem_wait): Modify to use CFI directives.
        * nptl/sysdeps/unix/sysv/linux/sh/sem_timedwait.S
        (sem_timedwait): Likewise.
        * nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S
        (__pthread_cond_wait): Likewise.
        * nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S
        (__pthread_cond_timedwait): Likewise.
        * nptl/sysdeps/unix/sysv/linux/sh/sysdep-cancel.h (PSEUDO,
        LOAD_ARGS_1,LOAD_ARGS_2,LOAD_ARGS_3,LOAD_ARGS_4): Add CFI restores.
        * nptl/sysdeps/unix/sysv/linux/sh/pthread_barrier_wait.S
        (pthread_barrier_wait): Add CFI directives.
        * nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_signal.S
        (_pthread_cond_signal): Likewise.
        * nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_unlock.S
        (__pthread_rwlock_unlock): Likewise.
        * nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_wrlock.S
        (__pthread_rwlock_wrlock): Likewise.
        * nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_rdlock.S
        (__pthread_rwlock_rdlock): Likewise.
        * nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedwrlock.S
        (pthread_rwlock_timedwrlock): Likewise.
        * nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedrdlock.S
        (pthread_rwlock_timedrdlock): Likewise.
        * nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_broadcast.S
        (__pthread_cond_broadcast): Likewise.
        * nptl/sysdeps/unix/sysv/linux/sh/sem_post.S
        (__new_sem_post): Likewise.
        * nptl/sysdeps/unix/sysv/linux/sh/sem_trywait.S
        (__new_sem_trywait): Likewise.

Attachment: sh-cfi.patch
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]