* win32-tdep.h, win32-tdep.c: New files.

* i386-cygwin-tdep.h: Delete.
        * i386-cygwin-tdep.c: Include win32-tdep.h instead of
        i386-cygwin-tdep.h.
        (win32_xfer_shared_library): Delete.  Moved to win32-tdep.c.
        * win32-nat.c: Likewise.
        * configure.tgt: Add win32-tdep.o to the list of target object
        files for i386-cygwin and i386-mingw targets.
This commit is contained in:
Joel Brobecker 2009-01-11 13:10:44 +00:00
parent 7e63b4e466
commit bfb87e33ab
9 changed files with 129 additions and 29 deletions

View File

@ -1,3 +1,14 @@
2009-10-11 Joel Brobecker <brobecker@adacore.com>
* win32-tdep.h, win32-tdep.c: New files.
* i386-cygwin-tdep.h: Delete.
* i386-cygwin-tdep.c: Include win32-tdep.h instead of
i386-cygwin-tdep.h.
(win32_xfer_shared_library): Delete. Moved to win32-tdep.c.
* win32-nat.c: Likewise.
* configure.tgt: Add win32-tdep.o to the list of target object
files for i386-cygwin and i386-mingw targets.
2009-10-11 Joel Brobecker <brobecker@adacore.com>
* win32-nat.h: New file.

View File

@ -201,13 +201,13 @@ i[34567]86-*-gnu*)
i[34567]86-*-cygwin*)
# Target: Intel 386 running win32
gdb_target_obs="i386-tdep.o i386-cygwin-tdep.o i387-tdep.o \
solib-target.o corelow.o"
solib-target.o corelow.o win32-tdep.o"
build_gdbserver=yes
;;
i[34567]86-*-mingw32*)
# Target: Intel 386 running win32
gdb_target_obs="i386-tdep.o i386-cygwin-tdep.o i387-tdep.o \
solib-target.o corelow.o"
solib-target.o corelow.o win32-tdep.o"
build_gdbserver=yes
;;
i[34567]86-*-*)

View File

@ -21,7 +21,7 @@
#include "osabi.h"
#include "gdb_string.h"
#include "i386-tdep.h"
#include "i386-cygwin-tdep.h"
#include "win32-tdep.h"
#include "regset.h"
#include "gdb_obstack.h"
#include "xml-support.h"
@ -111,24 +111,6 @@ i386_win32_regset_from_core_section (struct gdbarch *gdbarch,
return NULL;
}
void
win32_xfer_shared_library (const char* so_name, CORE_ADDR load_addr,
struct obstack *obstack)
{
char *p;
obstack_grow_str (obstack, "<library name=\"");
p = xml_escape_text (so_name);
obstack_grow_str (obstack, p);
xfree (p);
obstack_grow_str (obstack, "\"><segment address=\"0x");
/* The symbols in a dll are offset by 0x1000, which is the the
offset from 0 of the first byte in an image - because of the file
header and the section alignment. */
p = paddr_nz (load_addr + 0x1000);
obstack_grow_str (obstack, p);
obstack_grow_str (obstack, "\"/></library>");
}
struct cpms_data
{
struct obstack *obstack;

View File

@ -60,7 +60,7 @@
#include "i386-tdep.h"
#include "i387-tdep.h"
#include "i386-cygwin-tdep.h"
#include "win32-tdep.h"
#include "win32-nat.h"
static struct target_ops win32_ops;

41
gdb/win32-tdep.c Normal file
View File

@ -0,0 +1,41 @@
/* Copyright (C) 2008, 2009 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 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
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, see <http://www.gnu.org/licenses/>. */
#include "defs.h"
#include "win32-tdep.h"
#include "gdb_obstack.h"
#include "xml-support.h"
void
win32_xfer_shared_library (const char* so_name, CORE_ADDR load_addr,
struct obstack *obstack)
{
char *p;
obstack_grow_str (obstack, "<library name=\"");
p = xml_escape_text (so_name);
obstack_grow_str (obstack, p);
xfree (p);
obstack_grow_str (obstack, "\"><segment address=\"0x");
/* The symbols in a dll are offset by 0x1000, which is the the
offset from 0 of the first byte in an image - because of the file
header and the section alignment. */
p = paddr_nz (load_addr + 0x1000);
obstack_grow_str (obstack, p);
obstack_grow_str (obstack, "\"/></library>");
}

View File

@ -1,6 +1,4 @@
/* Target-dependent code for Cygwin running on i386's, for GDB.
Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
/* Copyright (C) 2008, 2009 Free Software Foundation, Inc.
This file is part of GDB.
@ -17,8 +15,8 @@
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
#ifndef I386_CYGWIN_TDEP_H
#define I386_CYGWIN_TDEP_H
#ifndef WIN32_TDEP_H
#define WIN32_TDEP_H
struct obstack;
@ -26,4 +24,4 @@ extern void win32_xfer_shared_library (const char* so_name,
CORE_ADDR load_addr,
struct obstack *obstack);
#endif /* I386_CYGWIN_TDEP_H */
#endif

View File

@ -60,7 +60,7 @@
#include "i386-tdep.h"
#include "i387-tdep.h"
#include "i386-cygwin-tdep.h"
#include "win32-tdep.h"
#include "win32-nat.h"
static struct target_ops win32_ops;

41
gdb/windows-tdep.c Normal file
View File

@ -0,0 +1,41 @@
/* Copyright (C) 2008, 2009 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 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
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, see <http://www.gnu.org/licenses/>. */
#include "defs.h"
#include "win32-tdep.h"
#include "gdb_obstack.h"
#include "xml-support.h"
void
win32_xfer_shared_library (const char* so_name, CORE_ADDR load_addr,
struct obstack *obstack)
{
char *p;
obstack_grow_str (obstack, "<library name=\"");
p = xml_escape_text (so_name);
obstack_grow_str (obstack, p);
xfree (p);
obstack_grow_str (obstack, "\"><segment address=\"0x");
/* The symbols in a dll are offset by 0x1000, which is the the
offset from 0 of the first byte in an image - because of the file
header and the section alignment. */
p = paddr_nz (load_addr + 0x1000);
obstack_grow_str (obstack, p);
obstack_grow_str (obstack, "\"/></library>");
}

27
gdb/windows-tdep.h Normal file
View File

@ -0,0 +1,27 @@
/* Copyright (C) 2008, 2009 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 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
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, see <http://www.gnu.org/licenses/>. */
#ifndef WIN32_TDEP_H
#define WIN32_TDEP_H
struct obstack;
extern void win32_xfer_shared_library (const char* so_name,
CORE_ADDR load_addr,
struct obstack *obstack);
#endif