diff options
author | Jim Kingdon <jkingdon@engr.sgi.com> | 1993-12-26 18:10:22 +0000 |
---|---|---|
committer | Jim Kingdon <jkingdon@engr.sgi.com> | 1993-12-26 18:10:22 +0000 |
commit | f4f0d174871fc68497aebc705f78bbd09fe3e498 (patch) | |
tree | e9eed18f76859d5a4f0e2d4f3aa7293cc5972272 | |
parent | 192c3eeb94e19460aee7561b3db2ce01cef83666 (diff) | |
download | gdb-f4f0d174871fc68497aebc705f78bbd09fe3e498.zip gdb-f4f0d174871fc68497aebc705f78bbd09fe3e498.tar.gz gdb-f4f0d174871fc68497aebc705f78bbd09fe3e498.tar.bz2 |
* valops.c (call_function_by_hand, push_word), defs.h (push_word),
convex-xdep.c, m88k-nat.c, i386m3-nat.c, mips-tdep.c, mipsm3-nat.c,
ns32km3-nat.c, remote-bug.c, m88k-tdep.c, remote-hms.c, remote-mips.c,
config/gould/tm-np1.h, hppa-tdep.c (hppa_fix_call_dummy), remote-vx.c:
Use REGISTER_SIZE, unsigned LONGEST, and
{store,extract}_unsigned_integer, instead of sizeof
(REGISTER_TYPE) and REGISTER_TYPE.
* All tm.h files: Change REGISTER_TYPE to REGISTER_SIZE.
* hppa-tdep.c (pa_print_fp_reg): Remove unused variable val.
* Makefile.in (ALLDEPFILES): Remove i386ly-nat.c and m68kly-nat.c.
Add lynx-nat.c.
31 files changed, 185 insertions, 105 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 4356233..8c3cd86 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,18 @@ +Sun Dec 26 09:18:10 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * valops.c (call_function_by_hand, push_word), defs.h (push_word), + convex-xdep.c, m88k-nat.c, i386m3-nat.c, mips-tdep.c, mipsm3-nat.c, + ns32km3-nat.c, remote-bug.c, m88k-tdep.c, remote-hms.c, remote-mips.c, + config/gould/tm-np1.h, hppa-tdep.c (hppa_fix_call_dummy), remote-vx.c: + Use REGISTER_SIZE, unsigned LONGEST, and + {store,extract}_unsigned_integer, instead of sizeof + (REGISTER_TYPE) and REGISTER_TYPE. + * All tm.h files: Change REGISTER_TYPE to REGISTER_SIZE. + * hppa-tdep.c (pa_print_fp_reg): Remove unused variable val. + + * Makefile.in (ALLDEPFILES): Remove i386ly-nat.c and m68kly-nat.c. + Add lynx-nat.c. + Sat Dec 25 20:05:41 1993 Jeffrey A. Law (law@snake.cs.utah.edu) * hppa-tdep.c (init_extra_frame_info): Correctly adjust the base diff --git a/gdb/Makefile.in b/gdb/Makefile.in index ac3ee3f..e47de42 100644 --- a/gdb/Makefile.in +++ b/gdb/Makefile.in @@ -310,7 +310,7 @@ SFILES = blockframe.c breakpoint.c buildsym.c c-exp.y c-lang.c \ mem-break.c minsyms.c mipsread.c nlmread.c objfiles.c parse.c \ printcmd.c remote.c source.c stabsread.c stack.c symfile.c symmisc.c \ symtab.c target.c thread.c typeprint.c utils.c valarith.c valops.c \ - valprint.c values.c serial.c ser-unix.c + valprint.c values.c serial.c ser-unix.c mdebugread.c # Files that are not source code, but need to go into # gdb-$(VERSION).tar.Z. @@ -375,10 +375,10 @@ defs_h = defs.h xm.h tm.h nm.h config.status inferior_h = inferior.h $(breakpoint_h) -# Header files that are not named in config/*/* Makefile fragments go -# into HFILES. +# Header files that need to have srcdir added. -HFILES = buildsym.h call-cmds.h coff-solib.h defs.h environ.h $(gdbcmd_h) \ +HFILES_NO_SRCDIR = buildsym.h call-cmds.h coff-solib.h defs.h environ.h \ + $(gdbcmd_h) \ $(gdbcore_h) gdb-stabs.h $(inferior_h) language.h minimon.h monitor.h \ objfiles.h parser-defs.h partial-stab.h serial.h signals.h solib.h \ symfile.h stabsread.h target.h terminal.h typeprint.h xcoffsolib.h \ @@ -386,7 +386,7 @@ HFILES = buildsym.h call-cmds.h coff-solib.h defs.h environ.h $(gdbcmd_h) \ config/m68k/tm-m68k.h config/pa/tm-hppa.h config/i960/tm-i960.h \ config/sparc/tm-sparc.h config/tm-sunos.h config/tm-sysv4.h \ config/m68k/xm-m68k.h config/sparc/xm-sparc.h config/xm-sysv4.h \ - config/vax/xm-vax.h config/nm-m3.h config/nm-trash.h $(udiheaders) \ + config/vax/xm-vax.h config/nm-m3.h config/nm-trash.h \ 29k-share/udi/udiids.h 29k-share/udi_soc nindy-share/b.out.h \ nindy-share/block_io.h nindy-share/coff.h \ nindy-share/env.h nindy-share/stop.h \ @@ -395,6 +395,11 @@ HFILES = buildsym.h call-cmds.h coff-solib.h defs.h environ.h $(gdbcmd_h) \ vx-share/xdr_ptrace.h vx-share/xdr_rdb.h thread.h \ $(remote_utils_h) +# Header files that already have srcdir in them. + +HFILES_WITH_SRCDIR = $(udiheaders) + + # GDB "info" files, which should be included in their entirety INFOFILES = gdb.info* @@ -417,9 +422,12 @@ DEPFILES = $(TDEPFILES) $(XDEPFILES) $(SER_HARDWIRE) $(NATDEPFILES) $(REMOTE_O) SOURCES = $(SFILES) $(ALLDEPFILES) $(YYFILES) # Don't include YYFILES (*.tab.c) because we already include *.y in SFILES, # and it's more useful to see it in the .y file. -TAGFILES = $(SFILES) $(HFILES) $(ALLDEPFILES) $(ALLPARAM) $(POSSLIBS) +TAGFILES_NO_SRCDIR = $(SFILES) $(HFILES_NO_SRCDIR) $(ALLDEPFILES) \ + $(ALLPARAM) $(POSSLIBS) +TAGFILES_WITH_SRCDIR = $(HFILES_WITH_SRCDIR) -TARFILES = $(SFILES) $(HFILES) $(NONSRC) $(ALLDEPFILES) $(ALLCONFIG) \ +TARFILES = $(SFILES) $(HFILES_NO_SRCDIR) $(HFILES_WITH_SRCDIR) \ + $(NONSRC) $(ALLDEPFILES) $(ALLCONFIG) \ $(ALLPARAM) $(INFOFILES) $(POSSLIBS) $(REMOTE_EXAMPLES) @@ -432,7 +440,7 @@ OBS = version.o main.o blockframe.o breakpoint.o findvar.o stack.o thread.o \ dwarfread.o mipsread.o stabsread.o core.o c-lang.o ch-lang.o m2-lang.o \ complaints.o typeprint.o c-typeprint.o ch-typeprint.o m2-typeprint.o \ c-valprint.o cp-valprint.o ch-valprint.o m2-valprint.o nlmread.o \ - serial.o + serial.o mdebugread.o RAPP_OBS = rgdb.o rudp.o rserial.o serial.o udp.o $(XDEPFILES) @@ -459,8 +467,16 @@ all: gdb @$(MAKE) $(FLAGS_TO_PASS) DO=all "DODIRS=`echo $(SUBDIRS) | sed 's/testsuite//'`" subdir_do installcheck: + +# The check target can not use subdir_do, because subdir_do does not +# use TARGET_FLAGS_TO_PASS. check: force - @rootme=`pwd`; export rootme; $(MAKE) $(TARGET_FLAGS_TO_PASS) DO=check DODIRS=testsuite subdir_do + @if [ -f testsuite/Makefile ]; then \ + rootme=`pwd`; export rootme; \ + cd testsuite; \ + $(MAKE) $(TARGET_FLAGS_TO_PASS) check; \ + else true; fi + info dvi install-info clean-info: force @$(MAKE) $(FLAGS_TO_PASS) DO=$@ "DODIRS=$(SUBDIRS)" subdir_do @@ -601,14 +617,21 @@ kdb: $(NTSSTART) $(OBS) $(NTSOBS) $(ADD_DEPS) $(CDEPS) -lc $(CLIBS) # Put the proper machine-specific files first, so M-. on a machine -# specific routine gets the one for the correct machine. -TAGS: +# specific routine gets the one for the correct machine. (FIXME: those +# files go in twice; we should be removing them from the main list). + +# TAGS depends on all the files that go into it so you can rebuild TAGS +# with `make TAGS' and not have to say `rm TAGS' first. + +TAGS: $(TAGFILES_NO_SRCDIR) $(TAGFILES_WITH_SRCDIR) etags `find $(srcdir)/config \( -name $(TM_FILE) \ -o -name $(XM_FILE) \ -o -name $(NAT_FILE) \) -print` \ - `(for i in $(DEPFILES) $(TAGFILES); do \ + `(for i in $(DEPFILES) $(TAGFILES_NO_SRCDIR); do \ echo $(srcdir)/$$i ; \ - done) | sed -e 's/\.o$$/\.c/'` \ + done ; for i in $(TAGFILES_WITH_SRCDIR); do \ + echo $$i ; \ + done) | sed -e 's/\.o$$/\.c/'` tags: TAGS @@ -851,11 +874,12 @@ ALLDEPFILES = 29k-share/udi/udip2soc.c 29k-share/udi/udr.c \ go32-xdep.c gould-pinsn.c gould-xdep.c h8300-tdep.c h8500-tdep.c \ hp300ux-nat.c hppa-pinsn.c hppa-tdep.c hppab-nat.c hppah-nat.c \ i386-pinsn.c i386-tdep.c i386b-nat.c i386mach-nat.c i386v-nat.c \ - i386aix-nat.c i386m3-nat.c i386v4-nat.c i386ly-nat.c i386ly-tdep.c \ + i386aix-nat.c i386m3-nat.c i386v4-nat.c i386ly-tdep.c \ i387-tdep.c \ i960-pinsn.c i960-tdep.c \ - infptrace.c inftarg.c irix4-nat.c isi-xdep.c m3-nat.c \ - m68k-pinsn.c m68k-tdep.c m68kly-nat.c \ + infptrace.c inftarg.c irix4-nat.c isi-xdep.c \ + lynx-nat.c m3-nat.c \ + m68k-pinsn.c m68k-tdep.c \ m88k-nat.c m88k-pinsn.c m88k-tdep.c mips-nat.c mips-pinsn.c \ mips-tdep.c mipsm3-nat.c news-xdep.c \ nindy-share/Onindy.c nindy-share/nindy.c \ @@ -1223,6 +1247,10 @@ main.o: main.c $(bfd_h) $(getopt_h) $(readline_headers) call-cmds.h \ maint.o: maint.c $(defs_h) $(gdbcmd_h) $(gdbtypes_h) $(symtab_h) language.h \ $(expression_h) +mdebugread.o: mdebugread.c buildsym.h complaints.h $(bfd_h) $(defs_h) \ + $(expression_h) gdb-stabs.h $(gdbcore_h) $(gdbtypes_h) language.h \ + objfiles.h partial-stab.h stabsread.h symfile.h $(symtab_h) + mem-break.o: mem-break.c $(defs_h) minsyms.o: minsyms.c $(bfd_h) $(defs_h) objfiles.h symfile.h \ diff --git a/gdb/config/a29k/tm-a29k.h b/gdb/config/a29k/tm-a29k.h index 7d24044..cf5fbca 100644 --- a/gdb/config/a29k/tm-a29k.h +++ b/gdb/config/a29k/tm-a29k.h @@ -100,9 +100,11 @@ CORE_ADDR skip_prologue (); #define INVALID_FLOAT(p, len) 0 /* Just a first guess; not checked */ -/* Say how long (ordinary) registers are. */ +/* Say how long (ordinary) registers are. This is a piece of bogosity + used in push_word and a few other places; REGISTER_RAW_SIZE is the + real way to know how big a register is. */ -#define REGISTER_TYPE long +#define REGISTER_SIZE 4 /* Allow the register declarations here to be overridden for remote kernel debugging. */ diff --git a/gdb/config/h8300/tm-h8300.h b/gdb/config/h8300/tm-h8300.h index e3de3d5..a0f60c4 100644 --- a/gdb/config/h8300/tm-h8300.h +++ b/gdb/config/h8300/tm-h8300.h @@ -93,9 +93,11 @@ extern CORE_ADDR h8300_skip_prologue (); #define INVALID_FLOAT(p, len) 0 /* Just a first guess; not checked */ -/* Say how long registers are. */ +/* Say how long (ordinary) registers are. This is a piece of bogosity + used in push_word and a few other places; REGISTER_RAW_SIZE is the + real way to know how big a register is. */ -#define REGISTER_TYPE unsigned short +#define REGISTER_SIZE 2 #define NUM_REGS 13 diff --git a/gdb/config/h8500/tm-h8500.h b/gdb/config/h8500/tm-h8500.h index 14d476f..0e4494b 100644 --- a/gdb/config/h8500/tm-h8500.h +++ b/gdb/config/h8500/tm-h8500.h @@ -75,9 +75,11 @@ extern CORE_ADDR h8500_skip_prologue (); #define INVALID_FLOAT(p, len) 0 /* Just a first guess; not checked */ -/* Say how long registers are. */ +/* Say how long (ordinary) registers are. This is a piece of bogosity + used in push_word and a few other places; REGISTER_RAW_SIZE is the + real way to know how big a register is. */ -#define REGISTER_TYPE unsigned long +#define REGISTER_SIZE 4 /* Say how much memory is needed to store a copy of the register set */ diff --git a/gdb/config/i386/tm-i386v.h b/gdb/config/i386/tm-i386v.h index 89c1c61..3f7d650 100644 --- a/gdb/config/i386/tm-i386v.h +++ b/gdb/config/i386/tm-i386v.h @@ -84,9 +84,11 @@ i386_skip_prologue PARAMS ((int)); #define INVALID_FLOAT(p, len) (0) -/* Say how long (ordinary) registers are. */ +/* Say how long (ordinary) registers are. This is a piece of bogosity + used in push_word and a few other places; REGISTER_RAW_SIZE is the + real way to know how big a register is. */ -#define REGISTER_TYPE long +#define REGISTER_SIZE 4 /* Number of machine registers */ diff --git a/gdb/config/i386/tm-sun386.h b/gdb/config/i386/tm-sun386.h index 9c1f6a8..29a1201 100644 --- a/gdb/config/i386/tm-sun386.h +++ b/gdb/config/i386/tm-sun386.h @@ -92,9 +92,11 @@ i386_skip_prologue PARAMS ((int)); /* Name of the builtin type for the LONGEST type above. */ #define BUILTIN_TYPE_LONGEST builtin_type_long -/* Say how long (ordinary) registers are. */ +/* Say how long (ordinary) registers are. This is a piece of bogosity + used in push_word and a few other places; REGISTER_RAW_SIZE is the + real way to know how big a register is. */ -#define REGISTER_TYPE long +#define REGISTER_SIZE 4 /* Number of machine registers */ diff --git a/gdb/config/i960/tm-i960.h b/gdb/config/i960/tm-i960.h index 12f844e..d1513f7 100644 --- a/gdb/config/i960/tm-i960.h +++ b/gdb/config/i960/tm-i960.h @@ -73,9 +73,11 @@ extern CORE_ADDR saved_pc_after_call (); #define INVALID_FLOAT(p, len) (0) -/* How long (ordinary) registers are */ +/* Say how long (ordinary) registers are. This is a piece of bogosity + used in push_word and a few other places; REGISTER_RAW_SIZE is the + real way to know how big a register is. */ -#define REGISTER_TYPE long +#define REGISTER_SIZE 4 /* Number of machine registers */ #define NUM_REGS 40 diff --git a/gdb/config/m68k/tm-m68k.h b/gdb/config/m68k/tm-m68k.h index 14b71cf..c7f64e0 100644 --- a/gdb/config/m68k/tm-m68k.h +++ b/gdb/config/m68k/tm-m68k.h @@ -95,9 +95,11 @@ extern CORE_ADDR m68k_saved_pc_after_call PARAMS ((struct frame_info *)); #define INVALID_FLOAT(p, len) 0 /* Just a first guess; not checked */ -/* Say how long registers are. */ +/* Say how long (ordinary) registers are. This is a piece of bogosity + used in push_word and a few other places; REGISTER_RAW_SIZE is the + real way to know how big a register is. */ -#define REGISTER_TYPE long +#define REGISTER_SIZE 4 #define REGISTER_BYTES_FP (16*4 + 8 + 8*12 + 3*4) #define REGISTER_BYTES_NOFP (16*4 + 8) diff --git a/gdb/config/m68k/tm-vx68.h b/gdb/config/m68k/tm-vx68.h index 092045e..23ace23 100644 --- a/gdb/config/m68k/tm-vx68.h +++ b/gdb/config/m68k/tm-vx68.h @@ -88,4 +88,4 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ /* Number of registers in a ptrace_getfpregs call. */ #define VX_SIZE_FPREGS (8 * REGISTER_RAW_SIZE (FP0_REGNUM) \ - + (3 * sizeof (REGISTER_TYPE))) + + (3 * REGISTER_SIZE)) diff --git a/gdb/config/m88k/tm-m88k.h b/gdb/config/m88k/tm-m88k.h index 77b902b..9b50dcf 100644 --- a/gdb/config/m88k/tm-m88k.h +++ b/gdb/config/m88k/tm-m88k.h @@ -102,9 +102,11 @@ extern CORE_ADDR skip_prologue (); #define INVALID_FLOAT(p,len) 0 -/* Say how long (ordinary) registers are. */ +/* Say how long (ordinary) registers are. This is a piece of bogosity + used in push_word and a few other places; REGISTER_RAW_SIZE is the + real way to know how big a register is. */ -#define REGISTER_TYPE long +#define REGISTER_SIZE 4 /* Number of machine registers */ diff --git a/gdb/config/mips/tm-mips.h b/gdb/config/mips/tm-mips.h index 916dba3..5bc947f 100644 --- a/gdb/config/mips/tm-mips.h +++ b/gdb/config/mips/tm-mips.h @@ -83,9 +83,11 @@ extern int in_sigtramp PARAMS ((CORE_ADDR, char *)); #define INVALID_FLOAT(p,l) 0 -/* Say how long (all) registers are. */ +/* Say how long (ordinary) registers are. This is a piece of bogosity + used in push_word and a few other places; REGISTER_RAW_SIZE is the + real way to know how big a register is. */ -#define REGISTER_TYPE long +#define REGISTER_SIZE 4 /* Number of machine registers */ diff --git a/gdb/config/ns32k/tm-merlin.h b/gdb/config/ns32k/tm-merlin.h index b6d29c1..ec3505c 100644 --- a/gdb/config/ns32k/tm-merlin.h +++ b/gdb/config/ns32k/tm-merlin.h @@ -75,9 +75,11 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #define NS32K_SVC_IMMED_OPERANDS -/* Say how long (ordinary) registers are. */ +/* Say how long (ordinary) registers are. This is a piece of bogosity + used in push_word and a few other places; REGISTER_RAW_SIZE is the + real way to know how big a register is. */ -#define REGISTER_TYPE long +#define REGISTER_SIZE 4 /* Number of machine registers */ diff --git a/gdb/config/ns32k/tm-umax.h b/gdb/config/ns32k/tm-umax.h index 3e33d25..7847041 100644 --- a/gdb/config/ns32k/tm-umax.h +++ b/gdb/config/ns32k/tm-umax.h @@ -87,9 +87,11 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ NaD (*(double *) p)) #endif /* INVALID_FLOAT */ -/* Say how long (ordinary) registers are. */ +/* Say how long (ordinary) registers are. This is a piece of bogosity + used in push_word and a few other places; REGISTER_RAW_SIZE is the + real way to know how big a register is. */ -#define REGISTER_TYPE long +#define REGISTER_SIZE 4 /* Number of machine registers */ diff --git a/gdb/config/pa/tm-hppa.h b/gdb/config/pa/tm-hppa.h index 3dd646d..23d9fe5 100644 --- a/gdb/config/pa/tm-hppa.h +++ b/gdb/config/pa/tm-hppa.h @@ -120,9 +120,11 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ /* Name of the builtin type for the LONGEST type above. */ #define BUILTIN_TYPE_LONGEST builtin_type_long -/* Say how long (ordinary) registers are. */ +/* Say how long (ordinary) registers are. This is a piece of bogosity + used in push_word and a few other places; REGISTER_RAW_SIZE is the + real way to know how big a register is. */ -#define REGISTER_TYPE long +#define REGISTER_SIZE 4 /* Number of machine registers */ @@ -217,23 +219,6 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #define MAX_REGISTER_VIRTUAL_SIZE 8 -/* Nonzero if register N requires conversion - from raw format to virtual format. */ - -#define REGISTER_CONVERTIBLE(N) 0 - -/* Convert data from raw format for register REGNUM - to virtual format for register REGNUM. */ - -#define REGISTER_CONVERT_TO_VIRTUAL(REGNUM, FROM, TO) \ -{ memcpy ((TO), (FROM), (REGNUM) < FP4_REGNUM ? 4 : 8); } - -/* Convert data from virtual format for register REGNUM - to raw format for register REGNUM. */ - -#define REGISTER_CONVERT_TO_RAW(REGNUM, FROM, TO) \ -{ memcpy ((TO), (FROM), (REGNUM) < FP4_REGNUM ? 4 : 8); } - /* Return the GDB type object for the "standard" data type of data in register N. */ @@ -257,8 +242,10 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ of type TYPE, given in virtual format. */ #define STORE_RETURN_VALUE(TYPE,VALBUF) \ - write_register_bytes (TYPE_LENGTH(TYPE) > 4 ? FP4_REGNUM :28, \ - VALBUF, TYPE_LENGTH (TYPE)) + write_register_bytes ((TYPE_LENGTH(TYPE) > 4 \ + ? REGISTER_BYTE (FP4_REGNUM) \ + : REGISTER_BYTE (28)), \ + (VALBUF), TYPE_LENGTH (TYPE)) /* Extract from an array REGBUF containing the (raw) register state the address in which a function should return its structure value, @@ -565,5 +552,8 @@ struct obj_unwind_info { #define OBJ_UNWIND_INFO(obj) ((struct obj_unwind_info *)obj->obj_private) +extern CORE_ADDR target_read_pc PARAMS ((void)); +extern void target_write_pc PARAMS ((CORE_ADDR)); + #define TARGET_READ_PC() target_read_pc () #define TARGET_WRITE_PC(v) target_write_pc (v) diff --git a/gdb/config/sh/tm-sh.h b/gdb/config/sh/tm-sh.h index 21d7a4a..b5987e1 100644 --- a/gdb/config/sh/tm-sh.h +++ b/gdb/config/sh/tm-sh.h @@ -72,8 +72,11 @@ extern CORE_ADDR sh_skip_prologue (); #define INVALID_FLOAT(p, len) 0 /* Just a first guess; not checked */ -/* Say how long registers are. */ -#define REGISTER_TYPE long +/* Say how long (ordinary) registers are. This is a piece of bogosity + used in push_word and a few other places; REGISTER_RAW_SIZE is the + real way to know how big a register is. */ + +#define REGISTER_SIZE 4 /* Say how much memory is needed to store a copy of the register set */ #define REGISTER_BYTES (NUM_REGS*4) diff --git a/gdb/config/sparc/tm-sparc.h b/gdb/config/sparc/tm-sparc.h index 960ab75..b71f7f2 100644 --- a/gdb/config/sparc/tm-sparc.h +++ b/gdb/config/sparc/tm-sparc.h @@ -126,9 +126,11 @@ extern CORE_ADDR sparc_pc_adjust(); #define INVALID_FLOAT(p, len) 0 /* Just a first guess; not checked */ -/* Say how long (ordinary) registers are. */ +/* Say how long (ordinary) registers are. This is a piece of bogosity + used in push_word and a few other places; REGISTER_RAW_SIZE is the + real way to know how big a register is. */ -#define REGISTER_TYPE long +#define REGISTER_SIZE 4 /* Number of machine registers */ diff --git a/gdb/config/vax/tm-vax.h b/gdb/config/vax/tm-vax.h index 6d39f75..1671870 100644 --- a/gdb/config/vax/tm-vax.h +++ b/gdb/config/vax/tm-vax.h @@ -89,9 +89,11 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #define INVALID_FLOAT(p, len) ((*(short *) p & 0xff80) == 0x8000) -/* Say how long (ordinary) registers are. */ +/* Say how long (ordinary) registers are. This is a piece of bogosity + used in push_word and a few other places; REGISTER_RAW_SIZE is the + real way to know how big a register is. */ -#define REGISTER_TYPE long +#define REGISTER_SIZE 4 /* Number of machine registers */ diff --git a/gdb/config/z8k/tm-z8k.h b/gdb/config/z8k/tm-z8k.h index b735973..722c1af 100644 --- a/gdb/config/z8k/tm-z8k.h +++ b/gdb/config/z8k/tm-z8k.h @@ -69,9 +69,11 @@ extern CORE_ADDR mz8k_skip_prologue PARAMS ((CORE_ADDR ip)); #define INVALID_FLOAT(p, len) 0 /* Just a first guess; not checked */ -/* Say how long registers are. */ +/* Say how long (ordinary) registers are. This is a piece of bogosity + used in push_word and a few other places; REGISTER_RAW_SIZE is the + real way to know how big a register is. */ -#define REGISTER_TYPE unsigned int +#define REGISTER_SIZE 4 #define NUM_REGS 23 /* 16 registers + 1 ccr + 1 pc + 3 debug regs + fake fp + fake sp*/ diff --git a/gdb/convex-xdep.c b/gdb/convex-xdep.c index 794a934..7dbac6f 100644 --- a/gdb/convex-xdep.c +++ b/gdb/convex-xdep.c @@ -193,7 +193,7 @@ static struct type *vector_type (); static long *read_vector_register (); static long *read_vector_register_1 (); static void write_vector_register (); -static REGISTER_TYPE read_comm_register (); +static unsigned LONGEST read_comm_register (); static void write_comm_register (); static void convex_cont_command (); static void thread_continue (); @@ -442,7 +442,7 @@ read_vector_register_1 (reg) static void write_vector_register (reg, element, val) int reg, element; - REGISTER_TYPE val; + unsigned LONGEST val; { if (have_inferior_p ()) { @@ -481,7 +481,7 @@ write_vector_register (reg, element, val) /* Return the contents of communication register NUM. */ -static REGISTER_TYPE +static unsigned LONGEST read_comm_register (num) int num; { @@ -503,7 +503,7 @@ read_comm_register (num) static void write_comm_register (num, val) int num; - REGISTER_TYPE val; + unsigned LONGEST val; { if (have_inferior_p ()) { @@ -893,13 +893,8 @@ void store_floating PARAMS ((void *, int, double)); extern CORE_ADDR push_bytes PARAMS ((CORE_ADDR, char *, int)); -/* In some modules, we don't have a definition of REGISTER_TYPE yet, so we - must avoid prototyping this function for now. FIXME. Should be: extern CORE_ADDR -push_word PARAMS ((CORE_ADDR, REGISTER_TYPE)); - */ -extern CORE_ADDR -push_word (); +push_word PARAMS ((CORE_ADDR, unsigned LONGEST)); /* Some parts of gdb might be considered optional, in the sense that they are not essential for being able to build a working, usable debugger diff --git a/gdb/hppa-tdep.c b/gdb/hppa-tdep.c index e8ee10d..93509b6 100644 --- a/gdb/hppa-tdep.c +++ b/gdb/hppa-tdep.c @@ -961,7 +961,7 @@ hppa_push_arguments (nargs, args, sp, struct_return, struct_addr) CORE_ADDR hppa_fix_call_dummy (dummy, pc, fun, nargs, args, type, gcc_p) - REGISTER_TYPE *dummy; + char *dummy; CORE_ADDR pc; CORE_ADDR fun; int nargs; @@ -985,10 +985,30 @@ hppa_fix_call_dummy (dummy, pc, fun, nargs, args, type, gcc_p) sr4export_addr = SYMBOL_VALUE_ADDRESS (msymbol); - dummy[9] = deposit_21 (fun >> 11, dummy[9]); - dummy[10] = deposit_14 (fun & MASK_11, dummy[10]); - dummy[12] = deposit_21 (sr4export_addr >> 11, dummy[12]); - dummy[13] = deposit_14 (sr4export_addr & MASK_11, dummy[13]); + store_unsigned_integer + (&dummy[9*REGISTER_SIZE], + REGISTER_SIZE, + deposit_21 (fun >> 11, + extract_unsigned_integer (&dummy[9*REGISTER_SIZE], + REGISTER_SIZE))); + store_unsigned_integer + (&dummy[10*REGISTER_SIZE], + REGISTER_SIZE, + deposit_14 (fun & MASK_11, + extract_unsigned_integer (&dummy[10*REGISTER_SIZE], + REGISTER_SIZE))); + store_unsigned_integer + (&dummy[12*REGISTER_SIZE], + REGISTER_SIZE, + deposit_21 (sr4export_addr >> 11, + extract_unsigned_integer (&dummy[12*REGISTER_SIZE], + REGISTER_SIZE))); + store_unsigned_integer + (&dummy[13*REGISTER_SIZE], + REGISTER_SIZE, + deposit_14 (sr4export_addr & MASK_11, + extract_unsigned_integer (&dummy[13*REGISTER_SIZE], + REGISTER_SIZE))); write_register (22, pc); @@ -1115,7 +1135,6 @@ pa_print_fp_reg (i) { unsigned char raw_buffer[MAX_REGISTER_RAW_SIZE]; unsigned char virtual_buffer[MAX_REGISTER_VIRTUAL_SIZE]; - REGISTER_TYPE val; /* Get the data in raw format. */ read_relative_register_raw_bytes (i, raw_buffer); diff --git a/gdb/i386m3-nat.c b/gdb/i386m3-nat.c index 2ab37c5..7f1d47b 100644 --- a/gdb/i386m3-nat.c +++ b/gdb/i386m3-nat.c @@ -87,13 +87,13 @@ static int reg_offset[] = #define FETCH_REGS(state, regnum, count) \ memcpy (®isters[REGISTER_BYTE (regnum)], \ REG_ADDRESS (state, regnum), \ - count*sizeof (REGISTER_TYPE)) + count*REGISTER_SIZE) /* Store COUNT contiguous registers to thread STATE starting from REGNUM */ #define STORE_REGS(state, regnum, count) \ memcpy (REG_ADDRESS (state, regnum), \ ®isters[REGISTER_BYTE (regnum)], \ - count*sizeof (REGISTER_TYPE)) + count*REGISTER_SIZE) /* * Fetch inferiors registers for gdb. diff --git a/gdb/m88k-nat.c b/gdb/m88k-nat.c index b574651..b16c523 100644 --- a/gdb/m88k-nat.c +++ b/gdb/m88k-nat.c @@ -211,7 +211,8 @@ m88k_register_u_addr (blockend, regnum) case 28: case 29: case 30: - case 31: return (ustart + ((int) &u.pt_r0 - (int) &u) + sizeof(REGISTER_TYPE) * regnum); + case 31: + return (ustart + ((int) &u.pt_r0 - (int) &u) + REGISTER_SIZE * regnum); case PSR_REGNUM: return (ustart + ((int) &u.pt_psr - (int) &u)); case FPSR_REGNUM: return (ustart + ((int) &u.pt_fpsr - (int) &u)); case FPCR_REGNUM: return (ustart + ((int) &u.pt_fpcr - (int) &u)); @@ -224,7 +225,7 @@ m88k_register_u_addr (blockend, regnum) give it zero */ return (ustart + ((int) &u.pt_r0 - (int) &u)); else - return (blockend + sizeof (REGISTER_TYPE) * regnum); + return (blockend + REGISTER_SIZE * regnum); } } diff --git a/gdb/m88k-tdep.c b/gdb/m88k-tdep.c index 0ef524c..a932e4c 100644 --- a/gdb/m88k-tdep.c +++ b/gdb/m88k-tdep.c @@ -768,9 +768,9 @@ collect_returned_value (rval, value_type, struct_return, nargs, args) static void write_word (sp, word) CORE_ADDR sp; - REGISTER_TYPE word; + unsigned LONGEST word; { - register int len = sizeof (REGISTER_TYPE); + register int len = REGISTER_SIZE; char buffer[MAX_REGISTER_RAW_SIZE]; store_unsigned_integer (buffer, len, word); diff --git a/gdb/mipsm3-nat.c b/gdb/mipsm3-nat.c index 34434a6..04f8139 100644 --- a/gdb/mipsm3-nat.c +++ b/gdb/mipsm3-nat.c @@ -122,13 +122,13 @@ static int reg_offset[] = #define FETCH_REGS(state, regnum, count) \ memcpy (®isters[REGISTER_BYTE (regnum)], \ (char *)state+reg_offset[ regnum ], \ - count*sizeof (REGISTER_TYPE)) + count*REGISTER_SIZE) /* Store COUNT contiguous registers to thread STATE starting from REGNUM */ #define STORE_REGS(state, regnum, count) \ memcpy ((char *)state+reg_offset[ regnum ], \ ®isters[REGISTER_BYTE (regnum)], \ - count*sizeof (REGISTER_TYPE)) + count*REGISTER_SIZE) #define REGS_ALL -1 #define REGS_NORMAL 1 diff --git a/gdb/ns32km3-nat.c b/gdb/ns32km3-nat.c index 4002e45..e652402 100644 --- a/gdb/ns32km3-nat.c +++ b/gdb/ns32km3-nat.c @@ -60,13 +60,13 @@ static int reg_offset[] = #define FETCH_REGS(state, regnum, count) \ memcpy (®isters[REGISTER_BYTE (regnum)], \ (char *)state+reg_offset[ regnum ], \ - count*sizeof (REGISTER_TYPE)) + count*REGISTER_SIZE) /* Store COUNT contiguous registers to thread STATE starting from REGNUM */ #define STORE_REGS(state, regnum, count) \ memcpy ((char *)state+reg_offset[ regnum ], \ ®isters[REGISTER_BYTE (regnum)], \ - count*sizeof (REGISTER_TYPE)) + count*REGISTER_SIZE) /* 4.4 bfd support function */ /* jtv@hut.fi: UNIMPLEMENTED!!!!! */ diff --git a/gdb/remote-bug.c b/gdb/remote-bug.c index e1f3603..a1806fc 100644 --- a/gdb/remote-bug.c +++ b/gdb/remote-bug.c @@ -425,8 +425,6 @@ static void bug_fetch_register(regno) int regno; { - REGISTER_TYPE regval; - sr_check_open(); if (regno == -1) @@ -444,12 +442,15 @@ bug_fetch_register(regno) } else if (regno < XFP_REGNUM) { - sr_write("rs ", 3); - sr_write_cr(get_reg_name(regno)); - sr_expect("="); - regval = sr_get_hex_word(); - gr_expect_prompt(); - supply_register(regno, (char *) ®val); + char buffer[MAX_REGISTER_RAW_SIZE]; + + sr_write ("rs ", 3); + sr_write_cr (get_reg_name(regno)); + sr_expect ("="); + store_unsigned_integer (buffer, REGISTER_RAW_SIZE (regno), + sr_get_hex_word()); + gr_expect_prompt (); + supply_register (regno, buffer); } else { diff --git a/gdb/remote-hms.c b/gdb/remote-hms.c index 2761104..4a76d3d 100644 --- a/gdb/remote-hms.c +++ b/gdb/remote-hms.c @@ -868,7 +868,7 @@ hms_fetch_register (dummy) int s; int gottok; - REGISTER_TYPE reg[NUM_REGS]; + unsigned LONGEST reg[NUM_REGS]; int foo[8]; check_open (); diff --git a/gdb/remote-mips.c b/gdb/remote-mips.c index 5322e76..7425eaf 100644 --- a/gdb/remote-mips.c +++ b/gdb/remote-mips.c @@ -1045,7 +1045,7 @@ static void mips_fetch_registers (regno) int regno; { - REGISTER_TYPE val; + unsigned LONGEST val; int err; if (regno == -1) diff --git a/gdb/remote-vx.c b/gdb/remote-vx.c index e49d0ed..a45f24f 100644 --- a/gdb/remote-vx.c +++ b/gdb/remote-vx.c @@ -459,7 +459,7 @@ vx_write_register (regno) in_data.bytes = registers; - in_data.len = VX_NUM_REGS * sizeof (REGISTER_TYPE); + in_data.len = VX_NUM_REGS * REGISTER_SIZE; /* XXX change second param to be a proc number */ status = net_ptrace_clnt_call (PTRACE_SETREGS, &ptrace_in, &ptrace_out); |