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, see 16 <http://www.gnu.org/licenses/>. */ 17 18 #ifndef _SYS_REG_H 19 #define _SYS_REG_H 1 20 21 #include <bits/wordsize.h> 22 23 #if __WORDSIZE == 64 24 /* Index into an array of 8 byte longs returned from ptrace for 25 location of the users' stored general purpose registers. */ 26 27 # define R15 0 28 # define R14 1 29 # define R13 2 30 # define R12 3 31 # define RBP 4 32 # define RBX 5 33 # define R11 6 34 # define R10 7 35 # define R9 8 36 # define R8 9 37 # define RAX 10 38 # define RCX 11 39 # define RDX 12 40 # define RSI 13 41 # define RDI 14 42 # define ORIG_RAX 15 43 # define RIP 16 44 # define CS 17 45 # define EFLAGS 18 46 # define RSP 19 47 # define SS 20 48 # define FS_BASE 21 49 # define GS_BASE 22 50 # define DS 23 51 # define ES 24 52 # define FS 25 53 # define GS 26 54 #else 55 56 /* Index into an array of 4 byte integers returned from ptrace for 57 * location of the users' stored general purpose registers. */ 58 59 # define EBX 0 60 # define ECX 1 61 # define EDX 2 62 # define ESI 3 63 # define EDI 4 64 # define EBP 5 65 # define EAX 6 66 # define DS 7 67 # define ES 8 68 # define FS 9 69 # define GS 10 70 # define ORIG_EAX 11 71 # define EIP 12 72 # define CS 13 73 # define EFL 14 74 # define UESP 15 75 # define SS 16 76 #endif 77 78 #endif 79