root/mtcp/NOTES-x86_64/sysdep.S

/* [<][>][^][v][top][bottom][index][help] */
   1 /* Copyright (C) 2001, 2002 Free Software Foundation, Inc.
   2    This file is part of the GNU C Library.
   3 
   4    The GNU C Library is free software; you can redistribute it and/or
   5    modify it under the terms of the GNU Lesser General Public
   6    License as published by the Free Software Foundation; either
   7    version 2.1 of the License, or (at your option) any later version.
   8 
   9    The GNU C Library is distributed in the hope that it will be useful,
  10    but WITHOUT ANY WARRANTY; without even the implied warranty of
  11    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  12    Lesser General Public License for more details.
  13 
  14    You should have received a copy of the GNU Lesser General Public
  15    License along with the GNU C Library; if not, write to the Free
  16    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
  17    02111-1307 USA.  */
  18 
  19 #include <sysdep.h>
  20 
  21 /* The following code is only used in the shared library when we
  22    compile the reentrant version.  Otherwise each system call defines
  23    each own version.  */
  24 
  25 #ifndef PIC
  26 
  27 /* The syscall stubs jump here when they detect an error.
  28    The code for Linux is almost identical to the canonical Unix
  29    code, except that the error number in %rax is negated.  */
  30 
  31 #undef CALL_MCOUNT
  32 #define CALL_MCOUNT /* Don't insert the profiling call, it clobbers %rax.  */
  33 
  34         .text
  35 ENTRY (__syscall_error)
  36         negq %rax
  37 
  38 #define __syscall_error __syscall_error_1
  39 #include <sysdeps/unix/x86_64/sysdep.S>
  40 
  41 #endif  /* !PIC */

/* [<][>][^][v][top][bottom][index][help] */