Commit graph

11 commits

Author SHA1 Message Date
Kevin Buettner
a14ed312fd PARAMS removal. 2000-05-28 01:12:42 +00:00
Michael Snyder
5af923b0f0 2000-05-10 Michael Snyder <msnyder@seadog.cygnus.com>
Make Sparc a Multi-Arch target.  Discard PARAMS macro (require ANSI).
	* sparc-tdep.c: include arch-utils.h.
	(SPARC_HAS_FPU, FP_REGISTER_BYTES, FP_MAX_REG NUM, SPARC_INTREG_SIZE,
	DUMMY_REG_SAVE_OFFSET): provide multi-arch-compatible definitions.
	(GDB_TARGET_IS_SPARC64): make into a runtime test.
	(struct frame_extra_info): Define, use instead of the macro.
	(Many places): Use alloca instead of statically allocated buffers
	that depend on a multi-arch variable such as MAX_REGISTER_RAW_SIZE.
	(sparc_extract_struct_value_address): Accept a pointer arg instead
	of an array sized by REGISTER_BYTES.
	(examine_prologue): Accept a pointer to an array of CORE_ADDR,
	instead of the defunct struct frame_saved_regs.  Recognize new
	Sparc64 store instructions as part of the prologue.  Ignore the
	destination of a frame store when parsing the prologue (so long
	as it's on the stack).
	(sparc_push_dummy_frame): Fix incorrect buffer offset for PSTATE.
	(sparc_frame_find_saved_regs): Accept a ptr to an array of CORE_ADDR
	instead of the defunct struct frame_saved_regs.
	(supply_gregset): Discard unnecessary 'zerobuf': just send NULL to
	supply_register.  Provide 4-byte offset to compensate for diff
	between size of the prgreg_t elements on a 64-bit host and size
	of the registers for a 32-bit target.  Fill all inaccessible regs
	with zero so they won't keep being requested again and again.
	(fill_gregset): Handle 32/64 size difference between registers
	and prgreg_t.  Handle as many new 64-bit regs as possible.
	(supply_fpregset, fill_fpregset): Attempt to handle 64-bit world.
	(sparc_push_arguments): Rename to sparc32_push_arguments.
	Copy arguments into registers as well as onto stack, so that the
	CALL_DUMMY (code pushed onto the target stack) is not required.
	(sparc_extract_return_value): Rename to sparc32_extract_return_value.
	(sparc_store_return_value): Use memset instead of bzero.
	Use write_register_gen instead of write_register_bytes.
	(sparclet_store_return_value): New function.
	(_initialize_sparc_tdep): Call register_gdbarch_init to activate
	the gdbarch multi-architecture system.
	(sp64_push_arguments): Rename to sparc64_push_arguments.
	Extend to store arguments in general registers as well as on stack.
	(sparc64_extract_return_value): Rename to sp64_extract_return_value.
	Use as a private function, to be called by the new external function
	sparc64_extract_return_value.
	(sparclet_extract_return_value): New function.
	(sparc32_stack_align, sparc64_stack_align, sparc32_register_name,
	sparc64_register_name, sparc_print_extra_frame_info,
	sparclite_register_name, sparclet_register_name,
	sparc_push_return_address, sparc64_use_struct_convention,
	sparc32_store_struct_return, sparc64_store_struct_return,
	sparc32_register_virtual_type, sparc64_register_virtual_type,
	sparc32_register_size, sparc64_register_size,
	sparc32_register_byte, sparc64_register_byte,
	sparc_gdbarch_skip_prologue, sparc_convert_to_virtual,
	sparc_convert_to_raw, sparc_frame_init_saved_regs,
	sparc_frame_address, sparc_gdbarch_fix_call_dummy,
	sparc_coerce_float_to_double, sparc_call_dummy_address,
	sparc_y_regnum, sparc_reg_struct_has_addr, sparc_intreg_size,
	sparc_return_value_on_stack): New functions supporting multi-arch.
	(sparc_gdbarch_init): New function; initialize multi-arch.
	(struct gdbarch_tdep): Define, use for private multi-arch data.
	* config/sparc/tm-sparc.h: Move definitions around, enclose with
	#ifdef GDB_MULTI_ARCH tests, provide some multi-arch alternate
	definitions.  Add enums for register names, to help debugging gdb.
	This header file must work for non-multi-arch and for multi-arch.
	* config/sparc/tm-sp64.h: Add GDB_MULTI_ARCH configuration.  Also add
	AT_ENTRY_POINT definitions for CALL_DUMMY, for non-multi-arch case.
	Define GDB_MULTI_ARCH.
	* config/sparc/tm-sparclet.h: Add GDB_MULTI_ARCH configuration.
	Do not define GDB_MULTI_ARCH (bfd does not correctly identify target).
	* config/sparc/tm-sparclite.h: Ditto.
	* config/sparc/tm-sun4sol2.h: Define GDB_MULTI_ARCH.
	* sparclet-rom.c (sparclet_regnames): Initialize explicitly, to
	avoid using deprecated REGISTER_NAMES macro.
	* Makefile.in: Let sparc-tdep.c depend on arch-utils.h.
2000-05-10 20:07:25 +00:00
Jason Molenda
c5aa993b1f import gdb-1999-07-07 post reformat 1999-07-07 20:19:36 +00:00
Stan Shebs
c906108c21 Initial creation of sourceware repository 1999-04-16 01:35:26 +00:00
Stan Shebs
071ea11e85 Initial creation of sourceware repository 1999-04-16 01:34:07 +00:00
Stu Grossman
4ce7ba5188 * Makefile.in (SUBDIRS): Add mswin so that make cleanup cleans up
that directory.
	* defs.h utils.c (error warning):  Make message be const.
	* main.c (fputs_unfiltered):  Only send gdb_stdout and gdb_stderr
	to hook.  Otherwise send it to fputs.
	* monitor.c monitor.h (monitor_get_dev_name):  New function.  Does
	the obvious.
	* remote-e7000.c:  Remove debugify stuff.  Change printf, fprintf
	to _filtered forms to make output appear in GUIs.  Replace all
	uses of SERIAL_READCHAR with readchar, which has better error
	checking.
	* (e7000_parse_device):  Add prototype.
	* (readchar):  Improve doc.  Handle random serial errors.
	* (expect):  Disable notice_quit code.  It's busted.  Remove
	serial error handling (it's now handled in readchar).  Remove
	remote_debug echoing.  That's handled in readchar as well.
	* (e7000_parse_device):  Remove serial_flag arg.  It's not
	necessary.
	* (e7000_open):  Split into two pieces.  Second part is
	e7000_start_remote, and is error protected.  Now, when we connect
	to the target, we setup the initial frame and registers so that
	the user gets an immediate indication of where the target is.
	* (gch):  Remove debug output.  That's handled by readchar.
	* (e7000_read_inferior_memory):  Handle errors better.
	* (_initialize_remote_e7000):  Get rid of `<xxx>' things from
	command names.  They show up when doing completion and confuse
	things horribly.
	* ser-e7kpc.c:  Remove the last seven months of brain damage.  Get
	rid of the DLL's since we can access the device directly from Win32s
	and Win95.  Get rid of debugify crud.
	* serial.c:  Remove debugify cruft.
	* (serial_logchar serial_log_command serial_write serial_readchar
	serial_send_break serial_close):  Merge common functionality into
	serial_logchar.  Clean up rest of routines.
	* sparclet-rom.c:  Disembowel.  Leave only download routine.
	Download routine now switches to remote target automatically.
	* top.c (disconnect):  Only define if SIGHUP is defined.  Cleans
	up MSVC/Win32 problem.
	* utils.c (gdb_flush):  Don't call hook unless it's for gdb_stdout
	or gdb_stderr.
	* config/sh/tm-sh.h:  Define TARGET_SH for WinGDB.
	* config/sparc/tm-sparclet.h:  Remove override for prompt.
1997-04-19 01:42:34 +00:00
Michael Snyder
5a1ed5f71d Thu Dec 26 15:56:09 1996 Michael Snyder <msnyder@cleaver.cygnus.com>
* sparclet-stub.c: a few clean-ups, removing dead code
        * config/sparc/tm-sparclet.h: make registers ASR15, ASR19 invisible
          (they're not useful, you can't change, write or even read them)
1996-12-27 00:03:41 +00:00
Michael Snyder
a7f6f9ed4d Thu Dec 26 15:15:21 1996 Michael Snyder <msnyder@cleaver.cygnus.com>
* sparclet-rom.c: Remove includes of Unix system files.
          Add function "sparclet_supply_register" so that parse_register_dump
          will not seg-fault by calling a null function pointer.
          Remove XMODEM support (unfinished work?).
          Remove flag "MO_HANDLE_NL", so monitor's output can be read by humans.
          Add fill command.
          Remove colon from getreg.resp_delim so PSR register will work.
          Remove pointer to sparclet_load (downloading SREC's doesn't work).
          Null out local register names for %g0, all %cc and all %asr regs,
          since the monitor can't report them.  Will return zero instead.
        * sparclet-stub.c: New -- remote protocol support for sparclet CPU.
        * config/sparc/tm-sparclet.h: Re-arrange REGISTER_NAMES:
          Add back %g0 and %psr, add %cc coprocessor regs, add %asr regs.
          Adjust NUM_REGS and REGISTER_BYTES accordingly
1996-12-26 23:16:27 +00:00
David Edelsohn
edbceb89a8 (TM_PRINT_INSN_MACH): Redefine for sparclet. 1996-12-05 22:30:45 +00:00
David Edelsohn
d0e5107749 * config/sparc/tm-sparclet.h (TARGET_BYTE_ORDER): Undef.
(TARGET_BYTE_ORDER_SELECTABLE): Define.
	(BREAKPOINT): Undef.
	({BIG,LITTLE}_BREAKPOINT): Define.
1996-12-05 22:09:15 +00:00
Dawn Perchik
d6ea322fbc * configure,configure.in: Add target sparclet.
* monitor.h,monitor.c:
    Added monitor flags MO_NO_ECHO_ON_SETMEM (don't expect echo on
    setmem command), MO_RUN_FIRST_TIME (if command to start process
    running on target is different from one to continue execution),
    MO_HEX_PREFIX (if addresses from monitor have a "0x" prefix).
    * monitor.c,parse.c,sparc-tdep.c:
    Don't require strings in the registers array.  This is to allow
    NULLs to be place holders in the tm-*.h file so that only minor
    changes are needed when a new processor is introduced (eg, one
    without floating point).
    * sparc-tdep.c: Conditionally remove dependancies on floating point.
    * sparclet-rom.c,config/sparc/sparclet.mt,config/sparc/tm-sparclet.h:
    New files for target sparclet.
    * symfile.c: Add option for 2nd parameter on load command : a load
    offset added to the vma of each section.
1996-06-28 14:28:20 +00:00