X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Fi386-windows-nat.c;h=3091fc362825aa2cac685301f99145f608952139;hb=refs%2Fheads%2Fconcurrent-displaced-stepping-2020-04-01;hp=9efe18465dc39078aa439309a9860a3207fc7249;hpb=e2882c85786571175a0b0bfc3bcd2f14620b1ea3;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/i386-windows-nat.c b/gdb/i386-windows-nat.c index 9efe18465d..3091fc3628 100644 --- a/gdb/i386-windows-nat.c +++ b/gdb/i386-windows-nat.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2018 Free Software Foundation, Inc. +/* Copyright (C) 2008-2020 Free Software Foundation, Inc. This file is part of GDB. @@ -22,8 +22,11 @@ #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,19 +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; } +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); +#ifndef __x86_64__ x86_set_debug_register_length (4); +#endif }