Back to index

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

Go to the source code of this file.

Defines

#define PSEUDO_RET
#define PSEUDO(name, syscall_name, args)
#define DOCARGS_0
#define UNDOCARGS_0
#define UNDOC2ARGS_0
#define DOCARGS_1   str r0, [sp, #-4]!;
#define UNDOCARGS_1   ldr r0, [sp], #4;
#define UNDOC2ARGS_1
#define DOCARGS_2   str r1, [sp, #-4]!; str r0, [sp, #-4]!;
#define UNDOCARGS_2   ldr r0, [sp], #4; ldr r1, [sp], #4;
#define UNDOC2ARGS_2
#define DOCARGS_3   str r2, [sp, #-4]!; str r1, [sp, #-4]!; str r0, [sp, #-4]!;
#define UNDOCARGS_3   ldr r0, [sp], #4; ldr r1, [sp], #4; ldr r2, [sp], #4
#define UNDOC2ARGS_3
#define DOCARGS_4   stmfd sp!, {r0-r3}
#define UNDOCARGS_4   ldmfd sp!, {r0-r3}
#define UNDOC2ARGS_4
#define DOCARGS_5   stmfd sp!, {r0-r3}
#define UNDOCARGS_5   ldmfd sp, {r0-r3}; str r4, [sp, #-4]!; ldr r4, [sp, #24]
#define UNDOC2ARGS_5   ldr r4, [sp], #20
#define CENABLE   bl PLTJMP(__libc_enable_asynccancel)
#define CDISABLE   bl PLTJMP(__libc_disable_asynccancel)
#define __local_multiple_threads   __libc_multiple_threads
#define SINGLE_THREAD_P   __builtin_expect (__local_multiple_threads == 0, 1)

Variables

int __local_multiple_threads attribute_hidden

Define Documentation

#define __local_multiple_threads   __libc_multiple_threads

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

#define CDISABLE   bl PLTJMP(__libc_disable_asynccancel)

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

#define CENABLE   bl PLTJMP(__libc_enable_asynccancel)

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

#define DOCARGS_0

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

#define DOCARGS_1   str r0, [sp, #-4]!;

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

#define DOCARGS_2   str r1, [sp, #-4]!; str r0, [sp, #-4]!;

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

#define DOCARGS_3   str r2, [sp, #-4]!; str r1, [sp, #-4]!; str r0, [sp, #-4]!;

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

#define DOCARGS_4   stmfd sp!, {r0-r3}

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

#define DOCARGS_5   stmfd sp!, {r0-r3}

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

#define PSEUDO (   name,
  syscall_name,
  args 
)
Value:
.section ".text";                                              \
    PSEUDO_PROLOGUE;                                           \
  ENTRY (name);                                                       \
    SINGLE_THREAD_P;                                           \
    bne .Lpseudo_cancel;                                       \
    DO_CALL (syscall_name, args);                              \
    cmn r0, $4096;                                             \
    RETINSTR(cc, lr);                                                 \
    b PLTJMP(SYSCALL_ERROR);                                          \
  .Lpseudo_cancel:                                             \
    str lr, [sp, $-4]!;                                               \
    DOCARGS_##args;  /* save syscall args around CENABLE.  */  \
    CENABLE;                                                   \
    mov ip, r0;             /* put mask in safe place.  */                   \
    UNDOCARGS_##args;       /* restore syscall args.  */                     \
    swi SYS_ify (syscall_name);    /* do the call.  */                \
    str r0, [sp, $-4]!; /* save syscall return value.  */             \
    mov r0, ip;             /* get mask back.  */                            \
    CDISABLE;                                                  \
    ldr r0, [sp], $4;       /* retrieve return value.  */                    \
    UNDOC2ARGS_##args;      /* fix register damage.  */               \
    cmn r0, $4096;

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

#define PSEUDO_RET
Value:
ldrcc pc, [sp], $4;                                             \
    ldr       lr, [sp], $4;                                           \
    b PLTJMP(SYSCALL_ERROR)

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

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

#define UNDOC2ARGS_0

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

#define UNDOC2ARGS_1

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

#define UNDOC2ARGS_2

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

#define UNDOC2ARGS_3

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

#define UNDOC2ARGS_4

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

#define UNDOC2ARGS_5   ldr r4, [sp], #20

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

#define UNDOCARGS_0

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

#define UNDOCARGS_1   ldr r0, [sp], #4;

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

#define UNDOCARGS_2   ldr r0, [sp], #4; ldr r1, [sp], #4;

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

#define UNDOCARGS_3   ldr r0, [sp], #4; ldr r1, [sp], #4; ldr r2, [sp], #4

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

#define UNDOCARGS_4   ldmfd sp!, {r0-r3}

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

#define UNDOCARGS_5   ldmfd sp, {r0-r3}; str r4, [sp, #-4]!; ldr r4, [sp, #24]

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


Variable Documentation

Definition at line 25 of file init-first.c.