Back to index

glibc  2.9
Defines
sysdep.h File Reference
#include <sysdeps/unix/x86_64/sysdep.h>
#include <bp-sym.h>
#include <bp-asm.h>
#include <tls.h>
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define SYS_ify(syscall_name)   __NR_##syscall_name
#define __NR_semtimedop   220
#define INLINE_SYSCALL(name, nr, args...)
#define INTERNAL_SYSCALL_DECL(err)   do { } while (0)
#define INTERNAL_SYSCALL_NCS(name, err, nr, args...)
#define INTERNAL_SYSCALL(name, err, nr, args...)   INTERNAL_SYSCALL_NCS (__NR_##name, err, nr, ##args)
#define INTERNAL_SYSCALL_ERROR_P(val, err)   ((unsigned long int) (long int) (val) >= -4095L)
#define INTERNAL_SYSCALL_ERRNO(val, err)   (-(val))
#define INLINE_VSYSCALL(name, nr, args...)   INLINE_SYSCALL (name, nr, ##args)
#define INTERNAL_VSYSCALL(name, err, nr, args...)   INTERNAL_SYSCALL (name, err, nr, ##args)
#define LOAD_ARGS_0()
#define LOAD_REGS_0
#define ASM_ARGS_0
#define LOAD_ARGS_1(a1)
#define LOAD_REGS_1
#define ASM_ARGS_1   ASM_ARGS_0, "r" (_a1)
#define LOAD_ARGS_2(a1, a2)
#define LOAD_REGS_2
#define ASM_ARGS_2   ASM_ARGS_1, "r" (_a2)
#define LOAD_ARGS_3(a1, a2, a3)
#define LOAD_REGS_3
#define ASM_ARGS_3   ASM_ARGS_2, "r" (_a3)
#define LOAD_ARGS_4(a1, a2, a3, a4)
#define LOAD_REGS_4
#define ASM_ARGS_4   ASM_ARGS_3, "r" (_a4)
#define LOAD_ARGS_5(a1, a2, a3, a4, a5)
#define LOAD_REGS_5
#define ASM_ARGS_5   ASM_ARGS_4, "r" (_a5)
#define LOAD_ARGS_6(a1, a2, a3, a4, a5, a6)
#define LOAD_REGS_6
#define ASM_ARGS_6   ASM_ARGS_5, "r" (_a6)
#define PTR_MANGLE(var)
#define PTR_DEMANGLE(var)

Define Documentation

#define __NR_semtimedop   220

Definition at line 52 of file sysdep.h.

#define ASM_ARGS_0

Definition at line 319 of file sysdep.h.

#define ASM_ARGS_1   ASM_ARGS_0, "r" (_a1)

Definition at line 327 of file sysdep.h.

#define ASM_ARGS_2   ASM_ARGS_1, "r" (_a2)

Definition at line 335 of file sysdep.h.

#define ASM_ARGS_3   ASM_ARGS_2, "r" (_a3)

Definition at line 343 of file sysdep.h.

#define ASM_ARGS_4   ASM_ARGS_3, "r" (_a4)

Definition at line 351 of file sysdep.h.

#define ASM_ARGS_5   ASM_ARGS_4, "r" (_a5)

Definition at line 359 of file sysdep.h.

#define ASM_ARGS_6   ASM_ARGS_5, "r" (_a6)

Definition at line 367 of file sysdep.h.

#define INLINE_SYSCALL (   name,
  nr,
  args... 
)
Value:
({                                                                   \
    unsigned long int resultvar = INTERNAL_SYSCALL (name, , nr, args);             \
    if (__builtin_expect (INTERNAL_SYSCALL_ERROR_P (resultvar, ), 0))       \
      {                                                                     \
       __set_errno (INTERNAL_SYSCALL_ERRNO (resultvar, ));                  \
       resultvar = (unsigned long int) -1;                                  \
      }                                                                     \
    (long int) resultvar; })

Definition at line 225 of file sysdep.h.

#define INLINE_VSYSCALL (   name,
  nr,
  args... 
)    INLINE_SYSCALL (name, nr, ##args)

Definition at line 311 of file sysdep.h.

#define INTERNAL_SYSCALL (   name,
  err,
  nr,
  args... 
)    INTERNAL_SYSCALL_NCS (__NR_##name, err, nr, ##args)

Definition at line 249 of file sysdep.h.

#define INTERNAL_SYSCALL_DECL (   err)    do { } while (0)

Definition at line 236 of file sysdep.h.

#define INTERNAL_SYSCALL_ERRNO (   val,
  err 
)    (-(val))

Definition at line 257 of file sysdep.h.

#define INTERNAL_SYSCALL_ERROR_P (   val,
  err 
)    ((unsigned long int) (long int) (val) >= -4095L)

Definition at line 253 of file sysdep.h.

#define INTERNAL_SYSCALL_NCS (   name,
  err,
  nr,
  args... 
)
Value:
({                                                                   \
    unsigned long int resultvar;                                     \
    LOAD_ARGS_##nr (args)                                            \
    LOAD_REGS_##nr                                                   \
    asm volatile (                                                   \
    "syscall\n\t"                                                    \
    : "=a" (resultvar)                                                      \
    : "0" (name) ASM_ARGS_##nr : "memory", "cc", "r11", "cx");              \
    (long int) resultvar; })

Definition at line 238 of file sysdep.h.

#define INTERNAL_VSYSCALL (   name,
  err,
  nr,
  args... 
)    INTERNAL_SYSCALL (name, err, nr, ##args)

Definition at line 313 of file sysdep.h.

#define LOAD_ARGS_0 ( )

Definition at line 317 of file sysdep.h.

#define LOAD_ARGS_1 (   a1)
Value:
long int __arg1 = (long int) (a1);               \
  LOAD_ARGS_0 ()

Definition at line 321 of file sysdep.h.

#define LOAD_ARGS_2 (   a1,
  a2 
)
Value:
long int __arg2 = (long int) (a2);               \
  LOAD_ARGS_1 (a1)

Definition at line 329 of file sysdep.h.

#define LOAD_ARGS_3 (   a1,
  a2,
  a3 
)
Value:
long int __arg3 = (long int) (a3);               \
  LOAD_ARGS_2 (a1, a2)

Definition at line 337 of file sysdep.h.

#define LOAD_ARGS_4 (   a1,
  a2,
  a3,
  a4 
)
Value:
long int __arg4 = (long int) (a4);               \
  LOAD_ARGS_3 (a1, a2, a3)

Definition at line 345 of file sysdep.h.

#define LOAD_ARGS_5 (   a1,
  a2,
  a3,
  a4,
  a5 
)
Value:
long int __arg5 = (long int) (a5);               \
  LOAD_ARGS_4 (a1, a2, a3, a4)

Definition at line 353 of file sysdep.h.

#define LOAD_ARGS_6 (   a1,
  a2,
  a3,
  a4,
  a5,
  a6 
)
Value:
long int __arg6 = (long int) (a6);               \
  LOAD_ARGS_5 (a1, a2, a3, a4, a5)

Definition at line 361 of file sysdep.h.

#define LOAD_REGS_0

Definition at line 318 of file sysdep.h.

#define LOAD_REGS_1
Value:
register long int _a1 asm ("rdi") = __arg1;             \
  LOAD_REGS_0

Definition at line 324 of file sysdep.h.

#define LOAD_REGS_2
Value:
register long int _a2 asm ("rsi") = __arg2;             \
  LOAD_REGS_1

Definition at line 332 of file sysdep.h.

#define LOAD_REGS_3
Value:
register long int _a3 asm ("rdx") = __arg3;             \
  LOAD_REGS_2

Definition at line 340 of file sysdep.h.

#define LOAD_REGS_4
Value:
register long int _a4 asm ("r10") = __arg4;             \
  LOAD_REGS_3

Definition at line 348 of file sysdep.h.

#define LOAD_REGS_5
Value:
register long int _a5 asm ("r8") = __arg5;              \
  LOAD_REGS_4

Definition at line 356 of file sysdep.h.

#define LOAD_REGS_6
Value:
register long int _a6 asm ("r9") = __arg6;              \
  LOAD_REGS_5

Definition at line 364 of file sysdep.h.

#define PTR_DEMANGLE (   var)
Value:
asm ("rorq $17, %0\n"                           \
                                 "xorq %%fs:%c2, %0"                 \
                                 : "=r" (var)                        \
                                 : "0" (var),                        \
                                   "i" (offsetof (tcbhead_t,         \
                                                pointer_guard)))

Definition at line 402 of file sysdep.h.

#define PTR_MANGLE (   var)
Value:
asm ("xorq %%fs:%c2, %0\n"               \
                                 "rolq $17, %0"                      \
                                 : "=r" (var)                        \
                                 : "0" (var),                        \
                                   "i" (offsetof (tcbhead_t,         \
                                                pointer_guard)))

Definition at line 396 of file sysdep.h.

#define SYS_ify (   syscall_name)    __NR_##syscall_name

Definition at line 37 of file sysdep.h.