X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=gdb%2Fi386gnu-tdep.c;h=878287b6ead8bd0f77b05d44f1bfeae27d8a947d;hb=4a8a7965f233f571b78f7992292a31c990c15a5e;hp=297d566abcbdc77cfb763b3ca5058e88881c074f;hpb=4be87837a23001df36ca5a4171eb01dec22856e1;p=external%2Fbinutils.git
diff --git a/gdb/i386gnu-tdep.c b/gdb/i386gnu-tdep.c
index 297d566..878287b 100644
--- a/gdb/i386gnu-tdep.c
+++ b/gdb/i386gnu-tdep.c
@@ -1,11 +1,11 @@
/* Target-dependent code for the GNU Hurd.
- Copyright 2002, 2003 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
This file is part of GDB.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
+ the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
@@ -14,15 +14,35 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
+ along with this program. If not, see . */
#include "defs.h"
#include "osabi.h"
+#include "solib-svr4.h"
#include "i386-tdep.h"
+/* From . */
+static int i386gnu_gregset_reg_offset[] =
+{
+ 11 * 4, /* %eax */
+ 10 * 4, /* %ecx */
+ 9 * 4, /* %edx */
+ 8 * 4, /* %ebx */
+ 17 * 4, /* %uesp */
+ 6 * 4, /* %ebp */
+ 5 * 4, /* %esi */
+ 4 * 4, /* %edi */
+ 14 * 4, /* %eip */
+ 16 * 4, /* %efl */
+ 15 * 4, /* %cs */
+ 18 * 4, /* %ss */
+ 3 * 4, /* %ds */
+ 2 * 4, /* %es */
+ 1 * 4, /* %fs */
+ 0 * 4, /* %gs */
+};
+
static void
i386gnu_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
{
@@ -31,6 +51,13 @@ i386gnu_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
/* GNU uses ELF. */
i386_elf_init_abi (info, gdbarch);
+ set_solib_svr4_fetch_link_map_offsets
+ (gdbarch, svr4_ilp32_fetch_link_map_offsets);
+
+ tdep->gregset_reg_offset = i386gnu_gregset_reg_offset;
+ tdep->gregset_num_regs = ARRAY_SIZE (i386gnu_gregset_reg_offset);
+ tdep->sizeof_gregset = 19 * 4;
+
tdep->jb_pc_offset = 20; /* From . */
}