X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Fi386-windows-nat.c;h=3091fc362825aa2cac685301f99145f608952139;hb=b23b09ad315f311d33d0f36d3ef90af397953d36;hp=caa645a9e50c24b4849910dd8d76b22a208d04d4;hpb=ecd75fc8eed3bde86036141228074a20e55dcfc9;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/i386-windows-nat.c b/gdb/i386-windows-nat.c index caa645a9e5..3091fc3628 100644 --- a/gdb/i386-windows-nat.c +++ b/gdb/i386-windows-nat.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2014 Free Software Foundation, Inc. +/* Copyright (C) 2008-2020 Free Software Foundation, Inc. This file is part of GDB. @@ -17,13 +17,16 @@ #include "defs.h" #include "windows-nat.h" -#include "i386-nat.h" +#include "x86-nat.h" #include "i386-tdep.h" #include -#define context_offset(x) ((int)&(((CONTEXT *)NULL)->x)) -static const int mappings[] = +#ifdef __x86_64__ +#define CONTEXT WOW64_CONTEXT +#endif +#define context_offset(x) ((int)(size_t)&(((CONTEXT *)NULL)->x)) +const int i386_mappings[] = { context_offset (Eax), context_offset (Ecx), @@ -70,22 +73,21 @@ static const int mappings[] = context_offset (ExtendedRegisters[24]) }; #undef context_offset +#undef CONTEXT /* segment_register_p_ftype implementation for x86. */ -static int +int i386_windows_segment_register_p (int regnum) { return regnum >= I386_CS_REGNUM && regnum <= I386_GS_REGNUM; } -/* -Wmissing-prototypes */ -extern initialize_file_ftype _initialize_i386_windows_nat; - +void _initialize_i386_windows_nat (); void -_initialize_i386_windows_nat (void) +_initialize_i386_windows_nat () { - windows_set_context_register_offsets (mappings); - windows_set_segment_register_p (i386_windows_segment_register_p); - i386_set_debug_register_length (4); +#ifndef __x86_64__ + x86_set_debug_register_length (4); +#endif }