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(name, syscall_name, args)
#define SYSCALL_ERROR_HANDLER2
#define CENABLE   call __libc_enable_asynccancel
#define CDISABLE   call __libc_disable_asynccancel
#define COPY_ARGS_0   /* Nothing */
#define COPY_ARGS_1   COPY_ARGS_0 mov %i0, %o0;
#define COPY_ARGS_2   COPY_ARGS_1 mov %i1, %o1;
#define COPY_ARGS_3   COPY_ARGS_2 mov %i2, %o2;
#define COPY_ARGS_4   COPY_ARGS_3 mov %i3, %o3;
#define COPY_ARGS_5   COPY_ARGS_4 mov %i4, %o4;
#define COPY_ARGS_6   COPY_ARGS_5 mov %i5, %o5;
#define SINGLE_THREAD_P

Define Documentation

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

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

#define COPY_ARGS_0   /* Nothing */

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

#define COPY_ARGS_1   COPY_ARGS_0 mov %i0, %o0;

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

#define COPY_ARGS_2   COPY_ARGS_1 mov %i1, %o1;

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

#define COPY_ARGS_3   COPY_ARGS_2 mov %i2, %o2;

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

#define COPY_ARGS_4   COPY_ARGS_3 mov %i3, %o3;

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

#define COPY_ARGS_5   COPY_ARGS_4 mov %i4, %o4;

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

#define COPY_ARGS_6   COPY_ARGS_5 mov %i5, %o5;

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

#define PSEUDO (   name,
  syscall_name,
  args 
)
Value:
.text;                                                        \
ENTRY(name)                                                          \
       ld [%g7 + MULTIPLE_THREADS_OFFSET], %g1;                      \
       cmp %g1, 0;                                                   \
       bne 1f;                                                              \
        mov SYS_ify(syscall_name), %g1;                              \
       ta 0x10;                                                      \
       bcs __syscall_error_handler;                                         \
        nop;                                                         \
       .subsection 2;                                                       \
1:     save %sp, -96, %sp;                                           \
       CENABLE;                                                      \
        nop;                                                         \
       mov %o0, %l0;                                                 \
       COPY_ARGS_##args                                              \
       mov SYS_ify(syscall_name), %g1;                                      \
       ta 0x10;                                                      \
       bcs __syscall_error_handler2;                                        \
        mov %o0, %l1;                                                       \
       CDISABLE;                                                     \
        mov %l0, %o0;                                                       \
       jmpl %i7 + 8, %g0;                                            \
        restore %g0, %l1, %o0;                                              \
       .previous;                                                    \
       SYSCALL_ERROR_HANDLER                                                \
       SYSCALL_ERROR_HANDLER2

Definition at line 29 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 90 of file sysdep-cancel.h.

Value:
SYSCALL_ERROR_HANDLER_ENTRY(__syscall_error_handler2)                       \
       .global __errno_location;                                     \
        .type   __errno_location,@function;                                 \
       CDISABLE;                                                     \
        mov   %l0, %o0;                                              \
       call   __errno_location;                                      \
        nop;                                                         \
       st     %l1, [%o0];                                            \
       jmpl   %i7 + 8, %g0;                                          \
        restore %g0, -1, %o0;                                               \
       .previous;

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