gdb/gdbserver/i386-linux.c - gdb

Global variables defined

Functions defined

Source code

  1. /* *INDENT-OFF* */ /* THIS FILE IS GENERATED */

  2. /* A register protocol for GDB, the GNU debugger.
  3.    Copyright (C) 2001-2013 Free Software Foundation, Inc.

  4.    This file is part of GDB.

  5.    This program is free software; you can redistribute it and/or modify
  6.    it under the terms of the GNU General Public License as published by
  7.    the Free Software Foundation; either version 3 of the License, or
  8.    (at your option) any later version.

  9.    This program 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
  12.    GNU General Public License for more details.

  13.    You should have received a copy of the GNU General Public License
  14.    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */

  15. /* This file was created with the aid of ``regdat.sh'' and ``./../regformats/i386/i386-linux.dat''.  */

  16. #include "server.h"
  17. #include "regdef.h"
  18. #include "tdesc.h"

  19. static struct reg regs_i386_linux[] = {
  20.   { "eax", 0, 32 },
  21.   { "ecx", 32, 32 },
  22.   { "edx", 64, 32 },
  23.   { "ebx", 96, 32 },
  24.   { "esp", 128, 32 },
  25.   { "ebp", 160, 32 },
  26.   { "esi", 192, 32 },
  27.   { "edi", 224, 32 },
  28.   { "eip", 256, 32 },
  29.   { "eflags", 288, 32 },
  30.   { "cs", 320, 32 },
  31.   { "ss", 352, 32 },
  32.   { "ds", 384, 32 },
  33.   { "es", 416, 32 },
  34.   { "fs", 448, 32 },
  35.   { "gs", 480, 32 },
  36.   { "st0", 512, 80 },
  37.   { "st1", 592, 80 },
  38.   { "st2", 672, 80 },
  39.   { "st3", 752, 80 },
  40.   { "st4", 832, 80 },
  41.   { "st5", 912, 80 },
  42.   { "st6", 992, 80 },
  43.   { "st7", 1072, 80 },
  44.   { "fctrl", 1152, 32 },
  45.   { "fstat", 1184, 32 },
  46.   { "ftag", 1216, 32 },
  47.   { "fiseg", 1248, 32 },
  48.   { "fioff", 1280, 32 },
  49.   { "foseg", 1312, 32 },
  50.   { "fooff", 1344, 32 },
  51.   { "fop", 1376, 32 },
  52.   { "xmm0", 1408, 128 },
  53.   { "xmm1", 1536, 128 },
  54.   { "xmm2", 1664, 128 },
  55.   { "xmm3", 1792, 128 },
  56.   { "xmm4", 1920, 128 },
  57.   { "xmm5", 2048, 128 },
  58.   { "xmm6", 2176, 128 },
  59.   { "xmm7", 2304, 128 },
  60.   { "mxcsr", 2432, 32 },
  61.   { "orig_eax", 2464, 32 },
  62. };

  63. static const char *expedite_regs_i386_linux[] = { "ebp", "esp", "eip", 0 };
  64. static const char *xmltarget_i386_linux = "i386-linux.xml";

  65. const struct target_desc *tdesc_i386_linux;

  66. void
  67. init_registers_i386_linux (void)
  68. {
  69.   static struct target_desc tdesc_i386_linux_s;
  70.   struct target_desc *result = &tdesc_i386_linux_s;

  71.   result->reg_defs = regs_i386_linux;
  72.   result->num_registers = sizeof (regs_i386_linux) / sizeof (regs_i386_linux[0]);
  73.   result->expedite_regs = expedite_regs_i386_linux;
  74.   result->xmltarget = xmltarget_i386_linux;

  75.   init_target_desc (result);

  76.   tdesc_i386_linux = result;
  77. }