Commit graph

32 commits

Author SHA1 Message Date
David Edelsohn
223f2ecd9a (STORE_STRUCT_RETURN): Change to handle --enable-64-bit-bfd. 1997-10-15 19:07:30 +00:00
David Edelsohn
048c2f0179 * config/sparc/tm-sparc.h (FIX_CALL_DUMMY): Mask off displacement
to 30 bits in call insn to handle --enable-64-bit-bfd.
1997-10-15 17:31:07 +00:00
Fred Fish
94b4f75666 * rs6000-tdep.c: Fix typo in comment.
* valops.c (call_function_by_hand): Set using_gcc to 2
	for code compiled without -g, per comment in code.
	* config/a29k/tm-a29k.h (STACK_ALIGN): Add comment.
	* config/sparc/tm-sparc.h (STACK_ALIGN): Add comment.
	* config/sparc/tm-sp64.h (STACK_ALIGN): Add comment.
	* config/pyr/tm-pyr.h (STACK_ALIGN): Add comment.
	* config/m88k/tm-m88k.h (STACK_ALIGN): Add comment.
	* config/pa/tm-hppa.h (PUSH_ARGUMENTS): Enclose args in ()'s.
	(STACK_ALIGN): Add comment, move to be with other associated
 	macros, and document.
	* config/mips/tm-mips.h (PUSH_ARGUMENTS): Enclose args in ()'s.
	(STACK_ALIGN): Remove completely, handled by PUSH_ARGUMENTS.
	* config/alpha/tm-alpha.h (PUSH_ARGUMENTS): Enclose args in ()'s.
	* config/rs6000/tm-rs6000.h (STACK_ALIGN): Remove completely,
	handled by PUSH_ARGUMENTS.
	(PUSH_ARGUMENTS): Enclose args in ()'s.
1996-08-25 07:17:22 +00:00
Fred Fish
ed393c169b See the huge ChangeLog entry that has the header:
Thu Jul 25 19:41:31 1996  Fred Fish  <fnf@cygnus.com>

for details about these changes.  I was going to include the complete
entry in the checkin message but it was apparently so large it caused
cvs to dump core.
1996-07-26 04:12:12 +00:00
Stu Grossman
91550191be * defs.h printcmd.c: Create global disassemble_info structure
tm_print_insn_info.
	* gdbtk.c (gdb_disassemble):  Setup di.mach from
	tm_print_insn_info.mach, and set endian from TARGET_BYTE_ORDER.
	* i386-tdep.c (set_assembly_language_command):  set
	tm_print_insn_info.mach to the appropriate value for 386 or 8086
	disassembly.
	* printcmd.c (print_insn):  Move init of disassembler_info to
	_initialize_printcmd.  Set endian for disassembler here.
	* sparc-tdep.c:  Set tm_print_insn_info.mach as appropriate to
	select sparc/sparclite.
	* config/sparc/{tm-sparc.h tm-sparclite.h}:  Get rid of
	TM_PRINT_INSN.  Set TM_PRINT_INSN_MACH to
	bfd_mach_sparc/bfd_mach_sparc_sparclite.
1996-07-15 23:54:39 +00:00
Stu Grossman
89e673a481 * sparcl-tdep.c (_initialize_sparc_tdep) config/sparc/tm-sparc.h,
config/sparc/tm-sparclite.h:  Initialize tm_print_insn from
	TM_PRINT_INSN, which comes from the tm file.

	* Makefile.in (INTERNAL_LDFLAGS):  Add in flags from configure.
	* configure configure.in:  Only make sol-thread.o for native.
	Also, switch to dlopened libthread_db.so.1.
	* sol-thread.c:  Switch to using dlopen to get the thread_db
	library.

	* configure, configure.in:  Change test for libthread_db to only
	work for configs where build/host/target are the same.
1996-07-04 00:49:25 +00:00
Fred Fish
7e2ff10d97 * config/mips/tm-mips.h (COERCE_FLOAT_TO_DOUBLE): Only prefer
non-prototyped case over prototyped case for C.
	* config/pa/tm-hppa.h (COERCE_FLOAT_TO_DOUBLE):  Ditto.
1996-03-27 00:21:02 +00:00
Fred Fish
e7107962d1 * config/alpha/tm-alpha.h (COERCE_FLOAT_TO_DOUBLE): Define to 1.
* config/mips/tm-mips.h: Ditto.
	* config/pa/tm-hppa.h: Ditto.
	* config/rs6000/tm-rs6000.h: Ditto.
	* config/sparc/tm-sparc.h: Ditto.
1996-02-21 03:38:45 +00:00
Stu Grossman
1d6afd7fc1 * config/sparc/tm-sparc.h: Define PS_FLAG_CARRY. Define
RETURN_VALUE_ON_STACK to return long doubles on the stack.
1996-02-18 17:34:09 +00:00
Fred Fish
6c9638b444 Update FSF address. 1995-08-02 03:41:12 +00:00
Stu Grossman
a706069fdb start-sanitize-gdbtk
* Makefile.in (gdbtk.o):  Use X11_CFLAGS to provide alternate
	locations (per-host) for X11 include files.
	* config/pa/hppahpux.mh (XM_CLIBS):  Add -L/usr/lib/X11R5 to force
	the use of R5 libs.  (X11_CFLAGS):  Add this to indicate the locs
	of the R5 include files.
end-sanitize-gdbtk
	* monitor.c monitor.h remote-est.c rom68k-rom.c:  Add start of
	support for interrupting target.
	* monitor.c (monitor_open):  Send stop command before doing
	anything else.
	* (monitor_load_srec):  Fix record size calculation to prevent end
	of segment from getting trashed.
	* rom68k-rom.c:  Update to latest version of struct monitor_ops.
	* config/sparc/tm-sparc.h (FIX_CALL_DUMMY):  Fix byte-order
	problems.  Makes DOS hosted function calling work.
	* sparclite/crt0.s:  Define _start to make COFF happy.
	* testsuite/config/rom68k.exp (gdb_target_rom68k):  Use
	$targetname, $serialport and $baud instead of hardwired variables.
	* testsuite/gdb.base/{sigall.exp signals.exp}:  Skip these if the
	target doesn't support signals.
1995-03-30 01:47:32 +00:00
David Edelsohn
9e3501580c * sparc-tdep.c (NUM_SPARC_FPREGS): Define.
(SPARC_INTREG_SIZE): Define.
	(*): Use SPARC_INTREG_SIZE instead of REGISTER_RAW_SIZE (intreg)
	where appropriate.
	(enum branch_type): New value `done_retry'.
	(isbranch): Renamed from isannulled.  All callers changed.
	Support new sparc64 branch insns.
	(single_step): Handle done_retry.
	(sparc_extract_struct_value_address): Don't assume 4 byte regs.
	(get_saved_register): Likewise.
	(sparc_push_dummy_frame): Likewise.
	(sparc_frame_find_saved_regs): Likewise.
	(sparc_pop_frame): Likewise.  Don't refer to FPS_REGNUM, CPS_REGNUM,
	or PS_REGNUM if not sparc64.  sparc64 has 64 fp regs.
	(sparc64_extract_struct_value_address): New function.
	(dump_ccreg, sparc_print_register_hook): Likewise.
	* sp64-tdep.c: Deleted.
	* sparc/tm-sp64.h (GDB_TARGET_IS_SPARC64): Define.
	(NUM_REGS): Reduce by 2, cle/tle are in the pstate reg.
	(CC_HAS_LONG_LONG): Define.
	(REGISTER_NAMES): Delete cle/tle and reorganize.
	(PS_REGNUM, FPS_REGNUM, CPS_REGNUM): Delete, they're ifdef'd out of
	sparc-tdep.c now.
	(REGISTER_BYTES): Update.
	(REGISTER_CONVERT_TO_VIRTUAL, REGISTER_CONVERT_TO_RAW): Delete.
	(EXTRACT_RETURN_VALUE): Delete.  Use definition in tm-sparc.h.
	(NO_SINGLE_STEP): Likewise.
	* sparc/tm-sparc.h (EXTRACT_VALUE_RETURN): Don't assume 4 byte regs.
	* sparc/sp64.mt: Move simulator support ...
	* sparc/sp64sim.mt: ... to here.
1995-03-02 00:11:22 +00:00
Jim Kingdon
ee7b9e92f6 * tm-sparc.c (EXTRA_FRAME_INFO): New field sp_offset.
* sparc-tdep.c (sparc_init_extra_frame_info): Set it.
	(examine_prologue, sparc_init_extra_frame_info): Use ->frame plus
	->sp_offset to compute the address something is saved at, not
	->bottom.

	* sparc-tdep.c (get_saved_register): New function.
	* tm-sparc.h: Define GET_SAVED_REGISTER; don't define
	FRAME_FIND_SAVED_REGS, HAVE_REGISTER_WINDOWS or REGISTER_IN_WINDOW_P.
	* stack.c (frame_info): Add comment about what to do if
	FRAME_FIND_SAVED_REGS is not defined.

	* sparc-tdep.c (sparc_init_extra_frame_info): Set ->frame field
	here.  Get it right for flat frames.
	* sparc-tdep.c (sparc_frame_chain): Instead of returning
	meaningful value for ->frame field, just return dummy value.
	This change is needed because the old code didn't deal with mixed
	flat and non-flat frames.

	* sparc-tdep.c (sparc_pop_frame): Write SP_REGNUM from
	frame->frame, don't go through saved regs for this.

	* sparc-tdep.c: Move guts of skip_prologue to new function
	examine_prologue.  Check for flat prologue and set is_flat.
	Provide the caller with the information about what is saved where
	if desired.
	(skip_prologue, sparc_frame_find_saved_regs): Call examine_prologue.

	* sparc-tdep.c: Replace union sparc_insn_layout and anonymous
	union in isannulled, which won't work on a little-endian host,
	with X_* macros.

	* sparc-tdep.c (sparc_frame_saved_pc): If addr == 0, the saved PC
	is still in %o7.

	* config/sparc/tm-sparc.h: Define INIT_FRAME_PC and
	INIT_FRAME_PC_FIRST.
	* blockframe.c (get_prev_frame_info): Modify comments regarding
	INIT_FRAME_PC_FIRST and the sparc.

	* sparc-tdep.c (single_step): Use 4 not sizeof (long) for size of
	instruction.
1994-12-18 06:59:12 +00:00
Stan Shebs
eb8910888d Sparc flat register window support.
* sparc-tdep.c (sparc_insn_layout): New union, defines layout of
        instructions symbolically (used to be local to skip_prologue).
	(sparc_init_extra_frame_info): New function.
	(sparc_frame_chain): Add flat cases throughout.
	(skip_prologue): Add recognition of flat prologues.
	(sparc_frame_find_saved_regs): Add flat cases.
	(sparc_pop_frame): Ditto.
	* config/sparc/tm-sparc.h (EXTRA_FRAME_INFO): New slots.
	(INIT_EXTRA_FRAME_INFO): Call sparc_init_extra_frame_info.
	(PRINT_EXTRA_FRAME_INFO): Define.
1994-12-13 01:11:49 +00:00
Stan Shebs
669caa9c19 Replace useless FRAME, FRAME_ADDR types with struct frame_info *
and CORE_ADDR, respectively.
	* frame.h (FRAME, FRAME_INFO_ID, FRAME_ADDR): Remove.
	* blockframe.c (get_frame_info): Remove.
	* a29k-tdep.c, alpha-tdep.c, blockframe.c, breakpoint.c,
	breakpoint.h, energize.c, findvar.c, gdbtk.c, gould-pinsn.c,
	h8300-tdep.c, h8500-tdep.c, hppa-tdep.c, i386-tdep.c, i960-tdep.c,
	infcmd.c, inferior.h, infrun.c, m68k-tdep.c, m88k-tdep.c,
	mips-tdep.c, nindy-tdep.c, printcmd.c, pyr-tdep.c, rs6000-tdep.c,
	sh-tdep.c, sparc-tdep.c, stack.c, valops.c, z8k-tdep.c,
	config/a29k/tm-a29k.h, config/alpha/tm-alpha.h,
	config/gould/tm-pn.h, config/h8300/tm-h8300.h,
	config/h8500/tm-h8500.h, config/mips/tm-mips.h,
	config/ns32k/tm-merlin.h, config/ns32k/tm-umax.h,
	config/pyr/tm-pyr.h, config/sparc/tm-sparc.h): Replace FRAME with
	struct frame_info * everywhere, replace FRAME_ADDR with CORE_ADDR,
	rename variables consistently (using `frame' or `fi'), remove
	calls to get_frame_info and FRAME_INFO_ID, remove comments about
	FRAME and FRAME_ADDR cruftiness.
1994-11-04 01:19:29 +00:00
Peter Schauer
5fc46f6c7e * config/sparc/tm-sparc.h: Add PARAMS declarations to all
function declarations.
1994-10-08 11:55:45 +00:00
Stan Shebs
ac57e5adda * infcmd.c (do_registers_info) [INVALID_FLOAT]: Only use if
defined.
	* values.c (unpack_double) [INVALID_FLOAT]: Ditto.
	* mips-tdep.c (mips_print_register): Don't test float validity.
	* config/a29k/tm-a29k.h, config/alpha/tm-alpha.h,
	config/arm/tm-arm.h, config/convex/tm-convex.h,
	config/h8300/tm-h8300.h, config/h8500/tm-h8500.h,
	config/i386/tm-i386v.h, config/i386/tm-sun386.h,
	config/i960/tm-i960.h, config/m68k/tm-m68k.h,
	config/m88k/tm-m88k.h, config/mips/tm-mips.h,
	config/ns32k/tm-merlin.h, config/ns32k/tm-nbsd.h,
	config/ns32k/tm-ns32km3.h, config/ns32k/tm-umax.h,
	config/pa/tm-hppa.h, config/pyr/tm-pyr.h,
	config/rs6000/tm-rs6000.h, config/sh/tm-sh.h,
	config/sparc/tm-sparc.h, config/z8k/tm-z8k.h (INVALID_FLOAT):
	Remove definition.
1994-09-25 21:13:24 +00:00
Jim Kingdon
649694ea87 * config/sparc/tm-sparc.h: Define USE_REGISTER_NOT_ARG.
* stabsread (define_symbol): If USE_REGISTER_NOT_ARG, go back to
	combining all 'p' and 'r' pairs into a LOC_REGPARM.
1994-03-26 16:00:02 +00:00
Jeff Law
84ad95c118 * stabsread.c (REG_STRUCT_HAS_ADDR): Accept additional argument
for the structure's type.  All callers changed.

        * valops.c (call_function_by_hand): Check REG_STRUCT_HAS_ADDR
        for each structure argument rather than assuming it's either
        true or false for all structure arguments.

        * config/pa/tm-hppa.h (REG_STRUCT_HAS_ADDR): Depend only
        on the length structure passed, not the compiler used.

        * config/sparc/tm-sparc.h (REG_STRUCT_HAS_ADDR): Accept additional
        argument for the structure's type.
1994-03-23 04:14:34 +00:00
Jim Kingdon
f261371068 * stabsread.c (define_symbol): If REG_STRUCT_HAS_ADDR, also
convert a LOC_ARG to a LOC_REF_ARG.  Update code which combines
	'p' and 'r' symbol descriptors into a single symbol to look for a
	LOC_REF_ARG.
	* README, config/sparc/tm-sparc.h: Update comments.
1994-03-10 18:21:02 +00:00
Stu Grossman
8bf94f44bc * sparc-tdep.c, lynx-nat.c, config/sparc/tm-sparc.h,
config/sparc/tm-sparclynx.h:  Move defs of FRAME_SAVED_I0/L0 to
	tm-sparc.h so they can be overridden if necessary.
1994-01-22 08:42:14 +00:00
Jim Kingdon
f4f0d17487 * 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.
1993-12-26 18:10:22 +00:00
Jim Kingdon
56756a5a28 * config/m68k/tm-m68k.h: Clean up CALL_DUMMY comment.
* config/m68k/{tm-hp300bsd.h,tm-hp300hpux.h,tm-m68k-em.h,
	tm-monitor.h,tm-sun3.h,tm-vx68.h}, config/sparc/tm-sparc.h:
	Define BELIEVE_PCC_PROMOTION.
1993-11-10 19:32:22 +00:00
Peter Schauer
ad09cb2bd3 * findvar.c (value_of_register, value_from_register),
hppa-tdep.c (pa_print_fp_reg), infcmd.c (do_registers_info),
	valops.c (value_assign):   Use REGISTER_CONVERT_TO_* only if
	REGISTER_CONVERTIBLE is defined, otherwise just copy the content.
	Pass desired type to REGISTER_CONVERT_TO_*.

	* config/m68k/tm-m68k.h, config/i960/tm-i960.h (REGISTER_CONVERT_*):
	Pass length of desired type to store/extract_floating.
	* config/i386/tm-arm.h, config/i386/tm-i386aix.h,
	config/i386/tm-sun386.h, config/i386/tm-symmetry.h,
	config/m88k/tm-m88k.h config/rs6000/tm-rs6000.h (REGISTER_CONVERT_*):
	Use extract_floating and store_floating with length of desired type.
	* config/m68k/tm-news.h (STORE,EXTRACT_RETURN_VALUE):  Add type
	parameter to REGISTER_CONVERT_*.

	* config/a29k/tm-a29k.h, config/convex/tm-convex.h,
	config/gould/tm-np1.h, config/gould/tm-pn.h, config/h8300/tm-h8300.h,
	config/h8500/tm-h8500.h, config/i386/tm-i386v.h,
	config/mips/tm-mips.h, config/ns32k/tm-merlin.h,
	config/ns32k/tm-umax.h, config/pa/tm-hppa.h, config/pyr/tm-pyr.h,
	config/sh/tm-sh.h, config/sparc/tm-sparc.h, config/tahoe/tm-tahoe.h,
	config/vax/tm-vax.h, config/z8k/tm-z8k.h (REGISTER_CONVERTIBLE,
	REGISTER_CONVERT_TO_RAW, REGISTER_CONVERT_TO_VIRTUAL):  Remove
	versions for which REGISTER_CONVERTIBLE is always false.
	* z8k-tdep.c (register_convert_to_virtual, register_convert_to_raw):
	Remove, no longer used.

	* alpha-tdep.c (alpha_register_convert_to_raw,
	alpha_register_convert_to_virtual):  New routines to handle
	the different raw formats in alpha floating point registers.
	* config/alpha/tm-alpha.h (REGISTER_CONVERTIBLE,
	REGISTER_CONVERT_TO_VIRTUAL, REGISTER_CONVERT_TO_RAW):  Use them.
1993-11-02 21:51:10 +00:00
Jim Kingdon
84d598611e * defs.h (make_cleanup): Change PTR to void * when inside PARAMS.
Some of the following is in #ifdef CALL_DUMMY_BREAKPOINT_OFFSET.
	* breakpoint.h (enum bptype): Add bp_call_dummy.
	(struct bpstat_what): Add call_dummy field.
	* infrun.c (wait_for_inferior): Deal with it.
	* breakpoint.c (bpstat_what): Deal with call dummy breakpoint.
	* infcmd.c (run_stack_dummy): Set the call dummy breakpoint.
	* config/sparc/tm-sparc.h: Define CALL_DUMMY_BREAKPOINT_OFFSET.
1993-09-18 19:15:36 +00:00
Jim Kingdon
b8ec9a798f * hppa-tdep.c: Remove all uses of use_unwind and `set use_unwind'
command.  Now we use unwind info by default if we can find it.

	* config/sparc: Move VARIABLES_INSIDE_BLOCK and SUN_FIXED_LBRAC_BUG
	to tm-sparc.h so they are shared between Solaris and SunOS4.
	* dbxread.c (process_one_symbol): Deal with SunOS4 acc N_STSYM and
	N_GSYM functions.
1993-07-26 22:16:09 +00:00
David Edelsohn
8df6afe63b (PRINT_REGISTER_HOOK): Fix typo, add parens around macro arg. 1993-07-11 19:31:49 +00:00
Jim Kingdon
c4f8f209e7 * config/sparc/tm-sparc.h: Add comment suggesting that removing
ins and locals from the registers array might clean things up.
1993-07-09 21:19:17 +00:00
David Edelsohn
882e8c1583 (REGISTER_CONVERT_TO_VIRTUAL): Use REGISTER_RAW_SIZE to determine bytes to copy.
(REGISTER_CONVERT_TO_RAW): Ditto.
1993-07-08 16:01:52 +00:00
Jim Kingdon
23a8e2915c * frame.h, blockframe.c, stack.c, a29k-tdep.c,
config/gould/tmp-{pn,np1}.h,
	config/{sparc/tm-sparc.h,pyr/tm-pyr.h,vax/tm-vax.h}: Remove field
	next_frame from struct frame_info.  It has no purpose beyond
	->next->frame and is an artifact from GDB 2.8.
1993-07-07 20:29:56 +00:00
Jim Kingdon
5afa2040f4 Thu Apr 22 14:50:05 1993 Jim Kingdon (kingdon@cygnus.com)
* symtab.h: Fix LOC_REF_ARG comment.

Wed Apr 22 20:21:30 1993  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
			  and Jim Kingdon (kingdon@cygnus.com)

	* stabsread.c (define_symbol): Combine a 'p', 'r' arg pair to a
	LOC_REGPARM symbol.
	* config/sparc/tm-sparc.h (REG_STRUCT_HAS_ADDR): Revise comments.
	symfile.c (compare_symbols): Don't check first character; STRCMP
	does that.

	* stabsread.c (define_symbol): Generate a LOC_REGPARM_ADDR for
	structures that are passed by address in a register.
	* symtab.h (enum address_class): Add LOC_REGPARM_ADDR.
	* findvar.c (read_var_value),
	printcmd.c (address_info, print_frame_args),
	stack.c (print_frame_arg_vars), symmisc.c (print_{,partial_}symbol),
	* symtab.c (lookup_block_symbol): Deal with it.
1993-04-22 22:27:25 +00:00
Fred Fish
5076de826c * config/{*.mt, *.mh}: All target and host makefile fragment
config files moved to an appropriate config/<cpu> subdirectory.
	* nm-*, xm-*, tm-*:  All native, host, and target files, which
	get linked to nm.h, xm.h, and tm.h respectively by configure,
	moved to appropriate config/<cpu> subdirectory.
1993-03-23 01:19:58 +00:00