diff options
author | Geoffrey Noer <noer@cygnus> | 1998-11-13 08:16:08 +0000 |
---|---|---|
committer | Geoffrey Noer <noer@cygnus> | 1998-11-13 08:16:08 +0000 |
commit | d836385e11733f46b1a0b6e7c142e7317488ff36 (patch) | |
tree | 71a8ae722497db31a5864033835d6283232bd1bd /gdb/config/i386/tm-cygwin.h | |
parent | 7c1c728ee2fe1b65446a9210b3040cba54899c5d (diff) | |
download | gdb-d836385e11733f46b1a0b6e7c142e7317488ff36.zip gdb-d836385e11733f46b1a0b6e7c142e7317488ff36.tar.gz gdb-d836385e11733f46b1a0b6e7c142e7317488ff36.tar.bz2 |
Fri Nov 13 00:15:08 1998 Geoffrey Noer <noer@cygnus.com>
Changes to account for name change from cygwin32 to cygwin and
clean up Win32-related ifdefs.
* configure.tgt: check for cygwin* instead of cygwin32.
New cygwin gdb_target variable loses the "32".
* configure.host: check for cygwin* instead of cygwin32.
New cygwin gdb_host variable loses the "32".
* configure.in: test __CYGWIN__ instead of __CYGWIN32__,
rename gdb_cv_os_cygwin32 variable to drop the "32". Call
AM_EXEEXT instead of AC_EXEEXT since that isn't in a released
autoconf yet.
* configure: regenerate.
* main.c: drop "32" from cygwin_ funcs, include sys/cygwin.h
where
cygwin path conv protos live, instead of adding a proto here
for
them here.
* {main.c, ser-tcp.c, ser-unix.c, top.c}: check __CYGWIN__
instead of __CYGWIN32__.
* source.c: thoughout, check _WIN32 instead of WIN32.
* config/i386/cygwin32.mh: delete.
* config/i386/cygwin.mh: new file, was cygwin32.mh.
* config/i386/cygwin32.mt: delete.
* config/i386/cygwin.mt: new file, was cygwin32.mt.
* config/i386/tm-cygwin32.h: delete.
* config/i386/tm-cygwin.h: new file, was tm-cygwin32.h.
* config/i386/xm-cygwin32.h: delete.
* config/i386/xm-cygwin.h: new file, was xm-cygwin32.h.
* config/i386/xm-windows.h: #include xm-cygwin.h now.
* config/powerpc/cygwin32.mh: delete.
* config/powerpc/cygwin.mh: new file, was cygwin32.mh.
* config/powerpc/cygwin32.mt: delete.
* config/powerpc/cygwin.mt: new file, was cygwin32.mt.
* config/powerpc/tm-cygwin32.h: delete.
* config/powerpc/tm-cygwin.h: new file, was tm-cygwin32.h.
* config/powerpc/xm-cygwin32.h: delete.
* config/powerpc/xm-cygwin.h: new file, was xm-cygwin32.h.
* rdi-share/aclocal.m4: regenerate with aclocal.
* rdi-share/configure: regenerate with autoconf.
* rdi-share/{host.h, hostchan.c, hostchan.h, serdrv.c,
* serpardr.c,
unixcomm.c}: check __CYGWIN__ instead of __CYGWIN32__.
Diffstat (limited to 'gdb/config/i386/tm-cygwin.h')
-rw-r--r-- | gdb/config/i386/tm-cygwin.h | 127 |
1 files changed, 127 insertions, 0 deletions
diff --git a/gdb/config/i386/tm-cygwin.h b/gdb/config/i386/tm-cygwin.h new file mode 100644 index 0000000..b1ad894 --- /dev/null +++ b/gdb/config/i386/tm-cygwin.h @@ -0,0 +1,127 @@ +/* Macro definitions for i386 running under the win32 API Unix. + Copyright 1995, 1996 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 + (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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + + +#include "i386/tm-i386v.h" + +#undef MAX_REGISTER_RAW_SIZE +#undef MAX_REGISTER_VIRTUAL_SIZE +#undef NUM_REGS +#undef REGISTER_BYTE +#undef REGISTER_BYTES +#undef REGISTER_CONVERTIBLE +#undef REGISTER_CONVERT_TO_RAW +#undef REGISTER_CONVERT_TO_VIRTUAL +#undef REGISTER_NAMES +#undef REGISTER_RAW_SIZE +#undef REGISTER_VIRTUAL_SIZE +#undef REGISTER_VIRTUAL_TYPE + +/* Number of machine registers */ + +#define NUM_REGS 24 + +/* Initializer for an array of names of registers. + There should be NUM_REGS strings in this initializer. */ + +/* the order of the first 8 registers must match the compiler's + * numbering scheme (which is the same as the 386 scheme) + * also, this table must match regmap in i386-pinsn.c. + */ + +#define REGISTER_NAMES { "eax", "ecx", "edx", "ebx", \ + "esp", "ebp", "esi", "edi", \ + "eip", "ps", "cs", "ss", \ + "ds", "es", "fs", "gs", \ + "st", "st(1)","st(2)","st(3)",\ + "st(4)","st(5)","st(6)","st(7)",} + +#define FP0_REGNUM 16 + +/* Total amount of space needed to store our copies of the machine's + register state, the array `registers'. */ + +#define REGISTER_BYTES (16 * 4 + 8 * 10) + +/* Index within `registers' of the first byte of the space for + register N. */ + +#define REGISTER_BYTE(N) (((N) < 16) ? (N) * 4 : (((N) - 16) * 10) + (16 * 4)) + +/* Number of bytes of storage in the actual machine representation + for register N. */ + +#define REGISTER_RAW_SIZE(N) (((N) < 16) ? 4 : 10) + +/* Number of bytes of storage in the program's representation + for register N. */ + +#define REGISTER_VIRTUAL_SIZE(N) (((N) < 16) ? 4 : 10) + +/* Largest value REGISTER_RAW_SIZE can have. */ + +#define MAX_REGISTER_RAW_SIZE 10 + +/* Largest value REGISTER_VIRTUAL_SIZE can have. */ + +#define MAX_REGISTER_VIRTUAL_SIZE 10 + +/* Nonzero if register N requires conversion + from raw format to virtual format. */ + +#define REGISTER_CONVERTIBLE(N) \ + ((N < FP0_REGNUM) ? 0 : 1) + +/* Convert data from raw format for register REGNUM in buffer FROM + to virtual format with type TYPE in buffer TO. */ +extern void +i387_to_double PARAMS ((char *, char *)); + + +#define REGISTER_CONVERT_TO_VIRTUAL(REGNUM,TYPE,FROM,TO) \ +{ \ + double val; \ + i387_to_double ((FROM), (char *)&val); \ + store_floating ((TO), TYPE_LENGTH (TYPE), val); \ +} + +extern void +double_to_i387 PARAMS ((char *, char *)); + +#define REGISTER_CONVERT_TO_RAW(TYPE,REGNUM,FROM,TO) \ +{ \ + double val = extract_floating ((FROM), TYPE_LENGTH (TYPE)); \ + double_to_i387((char *)&val, (TO)); \ +} + +/* Return the GDB type object for the "standard" data type + of data in register N. */ + +#define REGISTER_VIRTUAL_TYPE(N) \ + ((N < FP0_REGNUM) ? builtin_type_int : \ + builtin_type_double) + +#define NAMES_HAVE_UNDERSCORE + +#define IN_SOLIB_CALL_TRAMPOLINE(pc, name) skip_trampoline_code (pc, name) +#define SKIP_TRAMPOLINE_CODE(pc) skip_trampoline_code (pc, 0) +extern CORE_ADDR skip_trampoline_code PARAMS ((CORE_ADDR pc, char *name)); + +extern char *cygwin_pid_to_str PARAMS ((int pid)); +#define target_pid_to_str(PID) cygwin_pid_to_str (PID) |