aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorJim Kingdon <jkingdon@engr.sgi.com>1993-06-21 23:14:07 +0000
committerJim Kingdon <jkingdon@engr.sgi.com>1993-06-21 23:14:07 +0000
commitc96d68c2816a12da93e457d54e58edee6dbde151 (patch)
tree29aaaf9c834c7e413d197b584c11f726e5d07834 /gdb
parentcfb702c1e09892ec45094e0976596f4961fd8df7 (diff)
downloadgdb-c96d68c2816a12da93e457d54e58edee6dbde151.zip
gdb-c96d68c2816a12da93e457d54e58edee6dbde151.tar.gz
gdb-c96d68c2816a12da93e457d54e58edee6dbde151.tar.bz2
* config/i386/*aix*: New files.
* alldeps.mak: List them.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/alldeps.mak5
-rw-r--r--gdb/config/i386/.Sanitize5
-rw-r--r--gdb/config/i386/i386aix.mh12
-rw-r--r--gdb/config/i386/i386aix.mt3
-rw-r--r--gdb/config/i386/nm-i386aix.h42
-rw-r--r--gdb/config/i386/tm-i386aix.h155
-rw-r--r--gdb/config/i386/xm-i386aix.h29
8 files changed, 256 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index a769264..7b42aac 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+Mon Jun 21 16:09:46 1993 Jim Kingdon (kingdon@cygnus.com)
+
+ * config/i386/*aix*: New files.
+ * alldeps.mak: List them.
+
Mon Jun 21 15:10:07 1993 Fred Fish (fnf@cygnus.com)
* Makefile.in (BFD_INCLUDES): Bfd.h is now back in bfd build dir.
diff --git a/gdb/alldeps.mak b/gdb/alldeps.mak
index 20057b9..6d61d2a 100644
--- a/gdb/alldeps.mak
+++ b/gdb/alldeps.mak
@@ -116,6 +116,7 @@ ${srcdir}/config/gould/xm-np1.h\
${srcdir}/config/gould/xm-pn.h\
${srcdir}/config/h8300/tm-h8300.h\
${srcdir}/config/h8500/tm-h8500.h\
+${srcdir}/config/i386/nm-i386aix.h\
${srcdir}/config/i386/nm-i386bsd.h\
${srcdir}/config/i386/nm-i386lynx.h\
${srcdir}/config/i386/nm-i386mach.h\
@@ -125,6 +126,7 @@ ${srcdir}/config/i386/nm-i386v.h\
${srcdir}/config/i386/nm-i386v4.h\
${srcdir}/config/i386/nm-linux.h\
${srcdir}/config/i386/nm-sun386.h\
+${srcdir}/config/i386/tm-i386aix.h\
${srcdir}/config/i386/tm-i386bsd.h\
${srcdir}/config/i386/tm-i386lynx.h\
${srcdir}/config/i386/tm-i386v.h\
@@ -133,6 +135,7 @@ ${srcdir}/config/i386/tm-linux.h\
${srcdir}/config/i386/tm-sun386.h\
${srcdir}/config/i386/tm-symmetry.h\
${srcdir}/config/i386/xm-go32.h\
+${srcdir}/config/i386/xm-i386aix.h\
${srcdir}/config/i386/xm-i386bsd.h\
${srcdir}/config/i386/xm-i386lynx.h\
${srcdir}/config/i386/xm-i386mach.h\
@@ -254,6 +257,8 @@ ${srcdir}/config/gould/pn.mt\
${srcdir}/config/h8300/h8300hms.mt\
${srcdir}/config/h8500/h8500hms.mt\
${srcdir}/config/i386/go32.mh\
+${srcdir}/config/i386/i386aix.mh\
+${srcdir}/config/i386/i386aix.mt\
${srcdir}/config/i386/i386aout.mt\
${srcdir}/config/i386/i386bsd.mh\
${srcdir}/config/i386/i386bsd.mt\
diff --git a/gdb/config/i386/.Sanitize b/gdb/config/i386/.Sanitize
index 852ee46..426d4ce 100644
--- a/gdb/config/i386/.Sanitize
+++ b/gdb/config/i386/.Sanitize
@@ -22,6 +22,8 @@ Do-first:
Things-to-keep:
go32.mh
+i386aix.mh
+i386aix.mt
i386aout.mt
i386bsd.mh
i386bsd.mt
@@ -41,6 +43,7 @@ linux.mh
linux.mt
ncr3000.mh
ncr3000.mt
+nm-i386aix.h
nm-i386bsd.h
nm-i386lynx.h
nm-i386mach.h
@@ -54,6 +57,7 @@ sun386.mh
sun386.mt
symmetry.mh
symmetry.mt
+tm-i386aix.h
tm-i386bsd.h
tm-i386lynx.h
tm-i386v.h
@@ -62,6 +66,7 @@ tm-linux.h
tm-sun386.h
tm-symmetry.h
xm-go32.h
+xm-i386aix.h
xm-i386bsd.h
xm-i386lynx.h
xm-i386mach.h
diff --git a/gdb/config/i386/i386aix.mh b/gdb/config/i386/i386aix.mh
new file mode 100644
index 0000000..178cd73
--- /dev/null
+++ b/gdb/config/i386/i386aix.mh
@@ -0,0 +1,12 @@
+# Host: IBM PS/2 (i386) running AIX PS/2
+XDEPFILES=
+XM_FILE= xm-i386aix.h
+NAT_FILE= nm-i386v.h
+NATDEPFILES= infptrace.o inftarg.o fork-child.o corelow.o i386v-nat.o
+XM_CLIBS=
+SYSV_DEFINE=-DSYSV -D_AIX -D_I386
+REGEX=regex.o
+REGEX1=regex.o
+TERMCAP=-lcurses
+# Use gcc. Only coff output can be debugged
+CC=gcc
diff --git a/gdb/config/i386/i386aix.mt b/gdb/config/i386/i386aix.mt
new file mode 100644
index 0000000..ae7abb0
--- /dev/null
+++ b/gdb/config/i386/i386aix.mt
@@ -0,0 +1,3 @@
+# Target: IBM PS/2 (i386) running AIX PS/2
+TDEPFILES= exec.o i386-tdep.o i386-pinsn.o i387-tdep.o
+TM_FILE= tm-i386aix.h
diff --git a/gdb/config/i386/nm-i386aix.h b/gdb/config/i386/nm-i386aix.h
new file mode 100644
index 0000000..49bf31b
--- /dev/null
+++ b/gdb/config/i386/nm-i386aix.h
@@ -0,0 +1,42 @@
+/* Native support for i386 aix ps/2.
+ Copyright 1986, 1987, 1989, 1992, 1993 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
+
+/*
+ * Changes for IBM AIX PS/2 by Minh Tran-Le (tranle@intellicorp.com)
+ * Revision: 5-May-93 00:11:35
+ */
+
+#ifndef NM_I386AIX_H
+#define NM_I386AIX_H 1
+
+/* code to execute to print interesting information about the
+ * floating point processor (if any)
+ * No need to define if there is nothing to do.
+ */
+#define FLOAT_INFO { i386_float_info (); }
+
+/* This is the amount to subtract from u.u_ar0
+ to get the offset in the core file of the register values. */
+#undef KERNEL_U_ADDR
+#define KERNEL_U_ADDR 0xf03fd000
+
+/* Override copies of {fetch,store}_inferior_registers in infptrace.c. */
+#define FETCH_INFERIOR_REGISTERS
+
+#endif /* NM_I386AIX_H */
diff --git a/gdb/config/i386/tm-i386aix.h b/gdb/config/i386/tm-i386aix.h
new file mode 100644
index 0000000..9294e62
--- /dev/null
+++ b/gdb/config/i386/tm-i386aix.h
@@ -0,0 +1,155 @@
+/* Macro defintions for IBM AIX PS/2 (i386).
+ Copyright 1986, 1987, 1989, 1992, 1993 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
+
+/*
+ * Changes for IBM AIX PS/2 by Minh Tran-Le (tranle@intellicorp.com)
+ * Revision: 5-May-93 00:11:35
+ */
+
+#ifndef TM_I386AIX_H
+#define TM_I386AIX_H 1
+
+#include "i386/tm-i386v.h"
+#include <sys/reg.h>
+
+#ifndef I386
+# define I386 1
+#endif
+#ifndef I386_AIX_TARGET
+# define I386_AIX_TARGET 1
+#endif
+
+/* number of traps that happen between exec'ing the shell
+ * to run an inferior, and when we finally get to
+ * the inferior code. This is 2 on most implementations.
+ */
+#undef START_INFERIOR_TRAPS_EXPECTED
+#define START_INFERIOR_TRAPS_EXPECTED 2
+
+/* Number of machine registers */
+#undef NUM_REGS
+#define NUM_REGS 24 /* 16+8 */
+
+/* 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.
+ */
+#undef REGISTER_NAMES
+#define REGISTER_NAMES { "eax", "ecx", "edx", "ebx", \
+ "esp", "ebp", "esi", "edi", \
+ "eip", "eflags", "cs", "ss", \
+ "ds", "es", "fs", "gs", \
+ "st0", "st1", "st2", "st3", \
+ "st4", "st5", "st6", "st7", \
+ }
+
+/* Register numbers of various important registers.
+ Note that some of these values are "real" register numbers,
+ and correspond to the general registers of the machine,
+ and some are "phony" register numbers which are too large
+ to be actual register numbers as far as the user is concerned
+ but do serve to get the desired values when passed to read_register. */
+
+#undef FP_REGNUM
+#define FP_REGNUM 5 /* (ebp) Contains address of executing stack frame */
+#undef SP_REGNUM
+#define SP_REGNUM 4 /* (usp) Contains address of top of stack */
+
+#undef PC_REGNUM
+#define PC_REGNUM 8 /* (eip) Contains program counter */
+#undef PS_REGNUM
+#define PS_REGNUM 9 /* (eflags) Contains processor status */
+
+#define FP0_REGNUM 16 /* (st0) 387 register */
+
+/* Total amount of space needed to store our copies of the machine's
+ register state, the array `registers'. */
+/* 16 i386 registers and 8 i387 registers */
+#undef REGISTER_BYTES
+#define REGISTER_BYTES (16*4 + 8*10)
+
+/* Index within `registers' of the first byte of the space for
+ register N. */
+#undef REGISTER_BYTE
+#define REGISTER_BYTE(N) \
+ ((N < FP0_REGNUM) ? (N * 4) : \
+ (((N - FP0_REGNUM) * 10) + 64))
+
+/* Number of bytes of storage in the actual machine representation
+ * for register N. All registers are 4 bytes, except 387 st(0) - st(7),
+ * which are 80 bits each.
+ */
+#undef REGISTER_RAW_SIZE
+#define REGISTER_RAW_SIZE(N) \
+ ((N < FP0_REGNUM) ? 4 : 10)
+
+/* Largest value REGISTER_RAW_SIZE can have. */
+#undef MAX_REGISTER_RAW_SIZE
+#define MAX_REGISTER_RAW_SIZE 10
+
+/* Nonzero if register N requires conversion
+ from raw format to virtual format. */
+#undef REGISTER_CONVERTIBLE
+#define REGISTER_CONVERTIBLE(N) \
+ ((N < FP0_REGNUM) ? 0 : 1)
+
+/* Convert data from raw format for register REGNUM
+ to virtual format for register REGNUM. */
+#undef REGISTER_CONVERT_TO_VIRTUAL
+#define REGISTER_CONVERT_TO_VIRTUAL(REGNUM,FROM,TO) \
+ ((REGNUM < FP0_REGNUM) ? bcopy ((FROM), (TO), 4) : \
+ i387_to_double((FROM), (TO)))
+
+/* Convert data from virtual format for register REGNUM
+ to raw format for register REGNUM. */
+#undef REGISTER_CONVERT_TO_RAW
+#define REGISTER_CONVERT_TO_RAW(REGNUM,FROM,TO) \
+ ((REGNUM < FP0_REGNUM) ? bcopy ((FROM), (TO), 4) : \
+ double_to_i387((FROM), (TO)))
+
+/* Return the GDB type object for the "standard" data type
+ of data in register N. */
+#undef REGISTER_VIRTUAL_TYPE
+#define REGISTER_VIRTUAL_TYPE(N) \
+ ((N < FP0_REGNUM) ? builtin_type_int : \
+ builtin_type_double)
+
+/* Extract from an array REGBUF containing the (raw) register state
+ a function return value of type TYPE, and copy that, in virtual format,
+ into VALBUF. */
+#undef EXTRACT_RETURN_VALUE
+#define EXTRACT_RETURN_VALUE(TYPE,REGBUF,VALBUF) \
+ i386_extract_return_value (TYPE,REGBUF,VALBUF)
+
+/* Write into appropriate registers a function return value
+ of type TYPE, given in virtual format. */
+#undef STORE_RETURN_VALUE
+#define STORE_RETURN_VALUE(TYPE,VALBUF) \
+ { \
+ if (TYPE_CODE (TYPE) == TYPE_CODE_FLT) \
+ write_register_bytes (REGISTER_BYTE (FP0_REGNUM), (VALBUF), \
+ TYPE_LENGTH (TYPE)); \
+ else \
+ write_register_bytes (0, (VALBUF), TYPE_LENGTH (TYPE)); \
+ }
+
+#endif /* TM_I386AIX_H */
diff --git a/gdb/config/i386/xm-i386aix.h b/gdb/config/i386/xm-i386aix.h
new file mode 100644
index 0000000..ec50adb
--- /dev/null
+++ b/gdb/config/i386/xm-i386aix.h
@@ -0,0 +1,29 @@
+/* Macro defintions for AIX PS/2 (i386)
+ Copyright 1986, 1987, 1989, 1992, 1993 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
+
+/*
+ * Changed for IBM AIX ps/2 by Minh Tran Le (tranle@intellicorp.com)
+ * Revision: 23-Oct-92 17:42:49
+ */
+
+#include "i386/xm-i386v.h"
+#include <limits.h>
+
+/* Use setpgid instead of setpgrp on AIX */
+#define NEED_POSIX_SETPGID