Back to index

glibc  2.9
Defines
sysdep-cancel.h File Reference
#include <sysdep.h>
#include <tls.h>
#include <linuxthreads/internals.h>

Go to the source code of this file.

Defines

#define PSEUDO_CANCEL(name, syscall_name, args)
#define PSEUDO(name, syscall_name, args)
#define CENABLE   __libc_enable_asynccancel
#define CDISABLE   __libc_disable_asynccancel
#define STM_0   /* Nothing */
#define STM_1   st %r2,8(%r15);
#define STM_2   stm %r2,%r3,8(%r15);
#define STM_3   stm %r2,%r4,8(%r15);
#define STM_4   stm %r2,%r5,8(%r15);
#define STM_5   stm %r2,%r5,8(%r15);
#define LM_0   /* Nothing */
#define LM_1   l %r2,8+96(%r15);
#define LM_2   lm %r2,%r3,8+96(%r15);
#define LM_3   lm %r2,%r4,8+96(%r15);
#define LM_4   lm %r2,%r5,8+96(%r15);
#define LM_5   lm %r2,%r5,8+96(%r15);
#define SINGLE_THREAD_P

Define Documentation

Definition at line 102 of file sysdep-cancel.h.

Definition at line 101 of file sysdep-cancel.h.

#define LM_0   /* Nothing */

Definition at line 115 of file sysdep-cancel.h.

#define LM_1   l %r2,8+96(%r15);

Definition at line 116 of file sysdep-cancel.h.

#define LM_2   lm %r2,%r3,8+96(%r15);

Definition at line 117 of file sysdep-cancel.h.

#define LM_3   lm %r2,%r4,8+96(%r15);

Definition at line 118 of file sysdep-cancel.h.

#define LM_4   lm %r2,%r5,8+96(%r15);

Definition at line 119 of file sysdep-cancel.h.

#define LM_5   lm %r2,%r5,8+96(%r15);

Definition at line 120 of file sysdep-cancel.h.

#define PSEUDO (   name,
  syscall_name,
  args 
)
Value:
.text;                                                        \
PSEUDO_CANCEL(name, syscall_name, args)                                     \
ENTRY(name)                                                          \
       SINGLE_THREAD_P(%r1)                                          \
       jne    L(pseudo_cancel);                                      \
       DO_CALL(syscall_name, args);                                         \
L(pseudo_check):                                                     \
       lhi    %r4,-4095;                                             \
       clr    %r2,%r4;                                               \
       jnl    SYSCALL_ERROR_LABEL;                                   \
L(pseudo_end):

Definition at line 84 of file sysdep-cancel.h.

#define PSEUDO_CANCEL (   name,
  syscall_name,
  args 
)
Value:
L(pseudo_cancel):                                                    \
       STM_##args                                                    \
       stm    %r12,%r15,48(%r15);                                    \
       lr     %r14,%r15;                                             \
       ahi    %r15,-96;                                              \
       st     %r14,0(%r15);                                          \
       basr    %r13,0;                                                      \
0:     l      %r1,1f-0b(%r13);                                       \
       bas    %r14,0(%r1,%r13);                                      \
       lr     %r0,%r2;                                               \
       LM_##args							      \
	DO_CALL(syscall_name, args);                                        \
       l      %r1,2f-0b(%r13);                                       \
       lr     %r12,%r2;                                              \
       lr     %r2,%r0;                                               \
       bas    %r14,0(%r1,%r13);                                      \
       lr     %r2,%r12;                                              \
       lm     %r12,%r15,48+96(%r15);                                        \
       j      L(pseudo_check);                                       \
1:     .long  CENABLE-0b;                                            \
2:     .long  CDISABLE-0b;

Definition at line 30 of file sysdep-cancel.h.

#define SINGLE_THREAD_P
Value:
__builtin_expect (THREAD_GETMEM (THREAD_SELF,                               \
                               p_header.data.multiple_threads) == 0, 1)

Definition at line 123 of file sysdep-cancel.h.

#define STM_0   /* Nothing */

Definition at line 108 of file sysdep-cancel.h.

#define STM_1   st %r2,8(%r15);

Definition at line 109 of file sysdep-cancel.h.

#define STM_2   stm %r2,%r3,8(%r15);

Definition at line 110 of file sysdep-cancel.h.

#define STM_3   stm %r2,%r4,8(%r15);

Definition at line 111 of file sysdep-cancel.h.

#define STM_4   stm %r2,%r5,8(%r15);

Definition at line 112 of file sysdep-cancel.h.

#define STM_5   stm %r2,%r5,8(%r15);

Definition at line 113 of file sysdep-cancel.h.