Nomenclature change. BDM is a specific type of OCD
(On chip debugging). Wiggler is the parallel port box controlled
by Wigglers.dll. The faster target box from Macraigor Systems
is not a wiggler.
* ocd.c:
* ocd.h:
* ppc-bdm.c:
* ser-ocd.c:
Replace all instances of "wiggler_" with "ocd_" and change most other
instances of "wiggler" to "ocd" or "ocd device" depending on context.
* config/m68k/monitor.mt: remove remote-wiggler.o from TDEPFILES
until OCD with that target is supported again.
* Makefile.in: add DLLTOOL = @DLLTOOL@, pass on DLLTOOL to
sub makes, change clean rule to also remove *.a to remove
libwigglers.a, in dependencies: add ppc-bdm.o ocd.o ser-ocd.o and
remove remote-wiggler.o
* configure.in: add DLLTOOL support
* configure: regenerate
* wigglers.def: new file for imports for wigglers.dll
* ser-ocd.c: new file which is layer between ocd.c and either the
wigglers.dll or the target box, only stub so far
* config/powerpc/ppc-eabi.mt: add ppc-bdm.o to TDEPFILES
* config/powerpc/ppc-sim.mt: add ppc-bdm.o to TDEPFILES
* config/i386/cygwin32.mh: add ocd.o ser-ocd.o libwigglers.a
to XDEPFILES, add rules to build libwigglers.a
checking in changes of Stu Grossman <grossman@cygnus.com>:
* remote-wiggler.c: delete
* ocd.c: new, was remote-wiggler.c
always include sys/types.h, include ocd.h, move WIGGLER
commands and many wiggler prototypes to ocd.h, make wiggler_desc
static, stop making local wiggler functions static,
define write_mem_command for wiggler_write_bytes
(wiggler_start_remote): stop hardcoding the target type,
instead set and use a target_type variable.
(wiggler_open): add new target_type and ops args
(wiggler_wait): now no longer takes pid and target_status as args,
stop trying to set target_status struct, remove BGND insn
checks
(read_bdm_registers): renamed to wiggler_read_bdm_registers
(wiggler_read_bdm_registers): numregs arg changed to reglen arg,
remove pktlen check, set reglen instead of numregs
(dump_all_bdm_regs): delete
(wiggler_fetch_registers): delete
(wiggler_prepare_to_store): now just an empty function
(wiggler_store_registers): delete
(wiggler_read_bdm_register): new
(wiggler_write_bdm_registers): new
(wiggler_write_bdm_register): new
(wiggler_write_bytes): use write_mem_command variable instead of
WIGGLER_WRITE_MEM
(get_packet): renamed to wiggler_get_packet, change refs throughout
(put_packet): renamed to wiggler_put_packet, change refs throughout
(wiggler_get_packet): add break to default case of switch,
change length of WIGGLER_GET_VERSION len to 10 from 4 to match
specs
(wiggler_mourn): unpush_target with current_ops, not &wiggler_ops
(flash_xfer_memory): delete
(noop_store_registers): new placeholder replacement for
target_store_registers() which prevents generic_load from trying to
set up the PC.
(bdm_update_flash_command): add store_registers_tmp variable,
make handling of wiggler_ops more generic -- define wiggler_ops
in a target-specific file instead (such as ppc-bdm.c in the case
of the ppc), use current_target to deal with registers again
making this file less target-specific.
(bdm_read_register_command): new
(_initialize_remote_wiggler): stop doing add_target (&wiggler_ops),
comment out add_cmd ("read-register", ...)
* ocd.h: new, contains common wiggler prototypes, command definitions
* ppc-bdm.c: file for ppc-specific OCD code, including target_ops
structure for ppc bdm
(bdm_ppc_open): new
(bdm_ppc_wait): new
(bdm_ppc_fetch_registers): new
(bdm_ppc_store_registers_: new
(_initialize_bdm_ppc): new
* config/powerpc/tm-ppc-eabi.h: add necessary CPU32 BDM defines
implied (missing) data field, as defined by cc1java.
(java_link_class_type): Type length and field offset (in interior)
now includes object header. Get static fields working.
* jv-lang.h (JAVA_OBJECT_SIZE): Update for change in Kaffe.
* jv-typeprint.c (java_type_print_derivation_info,
java_type_print_base): New functions, for better Java output.
* jv-valprint.c: Start to support Java-specific output.
Add a bunch of macros.
* coffread.c, dwarf2read.c, dwarfread.c, mdebugread.c, stabsread.c:
Update to use new macros.
* coffread.c, hpread.c, stabsread.c: Remove bugus TYPE_FIELD_VALUE.
* value.h, values.c (value_static_field): New function.
* cp-valprint.c, valops.c: Modify to use value_static_field.
the address of the virtual function.
From Peter Bloecher (Peter.Bloecher@eedn.ericsson.se).
* eval.c (evaluate_subexp_standard), valarith.c (value_x_unop):
Handle C++ operator *.
_WIN32.
(Tcl_Realloc, Tcl_Free): Likewise.
* configure.in: Check for cygwin32 environment. Define and
substitute WIN32LIBS and WIN32LDAPP. Always set configdir to
unix; setting it to win was for an old Tcl/Tk configuration
scheme.
* aclocal.m4 (CY_AC_LOAD_TKCONFIG): Substitute TK_BUILD_INCLUDES.
* Makefile.in (TK_CFLAGS): Add @TK_BUILD_INCLUDES@.
(WIN32LDAPP, WIN32LIBS): Define.
(CLIBS): Add $(WIN32LIBS).
(gdb): Use $(WIN32LDAPP).
* configure: Rebuild.
* findvar.c (registers_changed): Likewise.
Fixes memory "leak" reported by HP. Call from execute_command is for general
alloca cleanup; call from registers_changed is to fix hp's specific problem.
* partial-stab.h (case N_BINCL): detect missing partial symtab.
* dbxread.c: Add a complaint for N_BINCL without a corresponding
partial symtab. Remove earlier change of 5/27/97.
* sol-thread.c (sol_thread_[store, fetch]_registers): if
inferior_pid is an LWP rather than a Solaris thread, let
procfs handle the request.
(rw_common, sol_thread_xfer_memory): procfs_xfer_memory will
only work if inferior_pid points to an LWP (rather than a
Solaris thread). Use procfs_first_available to find a good LWP.
(info_solthreads): added a maintenance command to list all
known Solaris threads and their attributes.
* mips-tdep.c (mips_do_registers_info): Completely changed the
output format to be neat and columnar. Added the helper funcs
do_fp_register_row and do_gp_register_row. Also small mods to
mips_print_register, which is still used to print a single reg.
* sol-thread.c (sol_thread_[store, fetch]_registers): if
inferior_pid is an LWP rather than a Solaris thread, let
procfs handle the request.
(rw_common, sol_thread_xfer_memory): procfs_xfer_memory will
only work if inferior_pid points to an LWP (rather than a
Solaris thread). Use procfs_first_available to find a good LWP.
(info_solthreads): added a maintenance command to list all
known Solaris threads and their attributes.
* Makefile.in, configure.in, aclocal.m4: Add Itcl, Tix, and
IDE configuration information.
* gdbtk.c (breakpoint_notify): Send address, linenumber and
filename when a breakpoint is set. Avoids call to bp_info.
(gdbtk_init): Call Tcl_FindExecutable(). Add code to handle
Itcl, Tix and IDE initialization.
* defs.h (init_ui_hook): Change prototype to accept one arg.
* main.c (gdb_init): Change prototype to accept one arg.
* top.c (gdb_init): Accepts one argument which it uses to
call (*init_ui_hook), which will be gdbtk_init(). This is
used for calling Tcl_FindExecutable().
* gdbtcl/breakpoint.tcl (gdbtk_tcl_breakpoint): Change to
accept variable number of args for compatibility with
cchanges in gdbtk.c.
* configure: Regenerated.
* gdbtcl/tclIndex: Regenerated.
whether CRLF_SOURCE_FILES is defined.
(open_source_file): Use OPEN_MODE with open and openp.
(print_source_lines): Use FDOPEN_MODE with fdopen. If
CRLF_SOURCE_FILES is defined, ignore \r characters.
(forward_search_command): Use FDOPEN_MODE with fdopen.
(reverse_search_command): Likewise.
* config/i386/xm-cygwin32.h (CRLF_SOURCE_FILES): Define.
(LSEEK_NOT_LINEAR): Don't define.
if we can't get a debug format from GDB (we may be testing an
older GDB). Use a 10 second timeout when checking for the format.
* gdb.stabs/weird.exp: Fix quoting.
until it has been modified to work with the new testsuite.
* gdb.*/*.exp: Instead of causing 1 unresolved test when the
testcase won't compile, cause all of the testcases in the file to
fail instead.
* lib/gdb.exp(gdb_suppress_entire_file): New procedure.
(gdb_clear_suppressed): New procedure.
(gdb_stop_suppressing_tests): Only clear suppress_flag if
it contains a positive value.
(record_debugformat): Declare global function.
* buildsym.c (start_subfile): Initialize debugformat member
to NULL.
(record_debugformat): New function to record the format.
(end_symtab): Copy format into symtab debugformat member.
(end_symtab): Free subfile debugformat member.
* symmisc.c (free_symtab): Free debugformat when freeing
symtab.
* symfile.c (allocate_symtab): Initialize the new debugformat
member for new symtabs.
* symtab.h (struct symtab): Add debugformat member.
* source.c (source_info): Print the debug format.
* os9kread.c (os9k_process_one_symbol): Call record_debugformat
with "OS9".
* hpread.c (hpread_expand_symtab): Call record_debugformat
with "HP".
(hpread_process_one_debug_symbol): Ditto.
* dbxread.c (process_one_symbol): Call record_debugformat
with "stabs".
* coffread.c (coff_start_symtab): Call record_debugformat
with "COFF".
* xcoffread.c (read_xcoff_symtab): Call record_debugformat
with "XCOFF".
* dwarfread.c (read_file_scope): Call record_debugformat
with "DWARF 1".
* dwarf2read.c (read_file_scope): Call record_debugformat
with "DWARF 2".
* dstread.c (dst_end_symtab): Set debugformat to be
"Apollo DST".
* mdebugread.c (new_symtab): Set debugformat to be "ECOFF".
(get_debug_format): New function to get debug format.
(debug_format): New global variable to hold last value set
by get_debug_format.
* gdb.base/list.exp: Call get_debug_format and expect some
tests to fail for DWARF 1 and COFF formats.
* gdb.c++/ptype.exp: Ditto.
* gdb.c++/classes.exp: Ditto.
* gdb.c++/cplusfuncs.exp: Ditto.
* gdb.c++/inherit.exp: Ditto.
* gdb.c++/templates.exp: Ditto.
* gdb.c++/virtfunc.exp: Ditto.
host doesn't have a currently-open connection.
* config/sparclet.exp: Cleanups and fixes to make it generic for
any gdb stub target. Handle cases where gdb doesn't respond when
interrupted in a sane fashion.
* config/m32r.exp: Load sparclet.exp instead of trying to do the
same thing in a totally different way.
* config/monitor.exp: Pass in timeouts to gdb_expect instead of
setting "timeout".
(gdb_start): We set the global gdb_prompt variable in
default_gdb_init now.