remote_mips_remove_hw_breakpoint): New functions for hardware
breakpoints on LSI targets.
* config/mips/tm-embed.h (target_remove_hw_breakpoint,
target_insert_hw_breakpoint): Define to call
remote_mips_insert_hw_breakpoint and remote_mips_remove_hw_breakpoint,
respectively.
* symtab.c (decode_line_2): Instead of printing a prompt
and calling command_line_input() without a prompt, just
call it with the proper args. This makes the GUI work too.
Sat Jul 18 12:28:39 1998 Martin M. Hunt <hunt@cygnus.com>
* gdbtk.c (gdbtk_cleanup): Add call to tcl function
gdbtk_cleanup. We need this so the GUI gets to clean
up no matter how GDB exits.
bility of multiple symbols at the same address when finding high.
* breakpoint.c (resolve_sal_pc): if the function based section lookup
fails, try getting the section from the minimal symbol table.
* parse.c (write_exp_msymbol): use symbol_overlayed_address to get
the LMA of a minimal symbol if unmapped.
* symtab.c (find_line_symtab): change interface to return symtab
containing the best linetable found.
(decode_line_1): use find_line_symtab to set val.symtab. This should
improve support for source files with multiple symtabs.
* tm-txvu.h: include tm-mips64.h instead of starting from scratch.
* Moved gdbtk_hooks.c & gdbtk_cmds.c to gdbtk-hooks.c &
gdbtk-cmds.c to comply with the gdb conventions. Changed the
configure & makefile to reflect the change...
* main.tcl (gdbtk_preloop): Call gdbtk_idle on spec. If there was an
error in loading an executible specified on the command line,
then the pre_add_symbol hook would have called gdbtk_busy but
the corresponding call to gdbtk_idle would not have occured.
Also changed some catch calls so they didn't use
"catch {set foo [real_command]}"
but rather the more efficient:
"catch {real_command} foo"
* register.tcl: more catch cleanups
* src.tcl: more catch cleanups
* stack.tcl: more catch cleanups
* target.tcl: more catch cleanups
* tdump.tcl: more catch cleanups
* variables.tcl: more catch cleanups
* watch.tcl: more catch cleanups
* gdbtk.c (gdbtk_init): Fixed a bug in the startup code on Windows
that caused gdbtk not to find the share directory unless
GDBTK_LIBRARY was set.
* gdbtk.c: removed all the commands and hooks from this file so
now it contains only the startup code.
* gdbtk_cmds.c: New file - this contains all the Tcl commands that
gdb defines. All the old commands were moved here, the
string-based commands were converted to object commands, and the
object-based commands were all converted to uniformly use the
call_wrapper. A new function, Gdbtk_Init was added to centralize
initializing the gdb package. Also added gdbtk as a package
into gdbtk_interp.
* gdbtk_hooks.c: New file - All the hooks were moved here, and a new
function, gdbtk_add_hooks was added to centralize adding all these
hook functions. gdbtk_fputs was also modified to handle the new
result_ptr structure. See the comments in gdbtk.h for more
details.
* gdbtk.h: New file - this contains all the defines and globals
shared by gdbtk.c, gdbtk_cmds.c & gdbtk_hooks.c
* Makefile.in, configure.in & configure: mutatis mutandi for the
new files.
* configure.in: Add options for gdbtk testsuite.
* configure: Regenerate.
* gdb.gdbtk: New directory to hold gdbtk tests.
* gdb.gdbtk/console.{exp, test}: New console window tests.
TYPES_NAMESPACE, METHODS_NAMESPACE, and VARIABLES_NAMESPACE used by
new search_symbols.
Add prototype for search_symbols and free_search_symbols.
* symtab.c (list_symbols): Rewrite to use new search_symbols.
(file_matches): New helper function for search_symbols.
(free_search_symbols): New function which frees data returned from
search_symbols.
(print_symbol_info): New helper function which prints info about a
matched symbol to stdout. Extracted from old list_symbols.
(print_msymbol_info): New helper function which prints info about
a matched msymbol to stdout. Extracted from old list_symbols.
(symtab_symbol_info): Extracted from old list_symbols.
(variables_info): Use symtab_symbol_info.
(functions_info): Use symtab_symbol_info.
(types_info): Use symtab_symbol_info.
(rbreak_command): Rewrite to use new search_symbols.
* gdbtk.c: Change all references to static global "interp" to
"gdbtk_interp" and export this global.
(gdbtk_init): If gdbtk_source_filename is not NULL, source this file
into the interpreter when it goes idle.
Add new command "gdb_search".
(gdb_search): New function which searches the symbol table.
(gdbtk_test): New function called by main when the --tclcommand
option is used.
* main.c (main): Add a new option "--tclcommand" which is used
by the testsuite to source a file into the interpreter when it
goes idle.
* config/mips/tm-irix5.h: Modify to work better on irix 6, by
making FP registers 8 bytes instead of 4.
REGISTER_BYTES: redefine. REGISTER_BYTE(): redefine.
REGISTER_VIRTUAL_TYPE: redefine. MIPS_LAST_ARG_REGNUM: redefine.
* irix5-nat.c (fetch_core_registers): read 8 bytes per FP register.
* mips-tdep.c (FP_REGISTER_DOUBLE): new macro to distinguish
targets with 8-byte FP registers (don't use TARGET_MIPS64).
(STACK_ARGSIZE): new macro, how much space is taken up on the
stack for each function argument (don't use TARGET_MIPS64).
(mips_push_arguments): modify logic to work better on Irix 6
(n32 ABI).
Changed to pass PC as arg and return 1 if valid (0 otherwise).
symtab.h: change prototype to match
symtab.c (find_line_pc_range): use new interface
breakpoint.c (resolve_sal_pc): ditto
gdbtk.c (gdb_set_bp): ditto
* gdbtk.c (gdbtk_init): Add elements to the auto_path AS LIST
ELEMENTS. This allows gdbtk to work when installed in a directory
which has a space in the path. D. Moseley pointed out the bug.
Wed Jun 10 18:04:35 1998 Frank Ch. Eigler <fche@cygnus.com>
* gdbtypes.c (get_discrete_bounds): Assign unsigned type flag for
all-positive enum.
(create_set_type): Ditto for all-positive set values.
* values.c (unpack_field_as_long): Check for typedef in struct
field unpacking.
CUR_SYMBOL_VALUE as CORE_ADDR instead of long
* buildsym.[ch]: export pending_blocks list
* tm-txvu.h: define TARGET_READ_SP and TARGET_WRITE_SP
* txvu-tdep.c: rewrite symtabs to support N_FUN symbols in overlays.
(Actually, the last version did this for N_SLINE symbols).
(txvu_read_sp,txvu_write_sp): new
* btowc.c: Removed.
* configure.in: Don't see if we need to replace btowc().
* Makefile.in: Don't include LIBOBJS.
* configure: Regenerated.
* gnu-regex.c (regex_compile): Only support i18n [:foo:] if
we have btowc().
allow symbols with dots.
* gdbtypes.c (check_stub_method): Cosmetic. Use more descriptive
names for parameters.
start-sanitize-java
* jv-exp.y: Parser now accepts primitive types.
* (parse_number): Use correct ifdef for scanf long double support.
* jv-lang.c (java_array_type): Initial cut at array support.
end-sanitize-java
* language.c language.h (set_language): Now returns previous language.
* symtab.c (find_methods): Make static. Cosmetic changes, including
indentation, and adding descriptive comments. Move local variable defs
into the block they are used in.
* Don't call check_stub_method any more. Use gdb_mangle_name to
generate the full method name. find_method doesn't need all the other
goobldegook that check_stub_method does.
* (gdb_mangle_name): Use more descriptive names for parameters. Fix
comment.
start-sanitize-java
* (lookup_partial_symbol lookup_block_symbol): Check for java to
ensure we can find mangled names.
end-sanitize-java
* (decode_line_1): Move local variable defs into the block they are
used in. (Improves code readability.)
* configure.in: Add some tests for gnu-regex.c's benefit.
See if btowc() function is provided in C library.
* configure, config.in: Regenerated.
* Makefile.in (CLIBS, CDEPS): Add @LIBOBJS@ to build btowc.c
if necessary.
* btowc.c: New file.
* gnu-regex.c: Reorder wchar.h and wctype.h includes for Solaris'
benefit.
Drop namespace preserving defines for now.
* configure.in: Add some tests for gnu-regex.c's benefit.
See if btowc() function is provided in C library.
* configure, config.in: Regenerated.
* Makefile.in (CLIBS, CDEPS): Add @LIBOBJS@ to build btowc.c
if necessary.
* btowc.c: New file.
* gnu-regex.c: Reorder wchar.h and wctype.h includes for Solaris'
benefit.
Drop namespace preserving defines for now.
Mods based on the modifications used in GNU grep 2.2 to make gnu-regex.c
compile on other OSes.
*printcmd.c (disassemble_command): move overlay mapping code
"up" into find_pc_partial_function.
* blockframe.c (find_pc_partial_function): adjust start address
and end address for overlays (mapped vs. unmapped addresses),
so that all callers of this function may benefit.
* m32r-tdep.c (m32r_skip_prologue): adjust indentation.
* gdbtk.c: Added hooks to run gdbtk under the TclPro debugger.
To do this, build gdbtk with:
make CFLAGS="-g -DTCLPRO_DEBUGGER"
Then set the environment variable TCLPRO_DEBUG_DIR to point to
wherever you have installed the TclPro debugger. Finally, in
the Alpha of the TclPro Debugger, you have to start up the
TclPro Debugger BEFORE you start gdbtk. Unfortunately, the
debugger does not understand Itcl 1.5 style classes...
* .Sanitize: Sanitize out references to the TclPro debugger,
since it is not yet released.
on bi-endian machines.
(sparc_extract_return_value): Handle values smaller than int on
machines with little-endian data.
(sparc_target_architecture_hook): Set bi_endian flag.
* gdbtk.c: merged:
- Elena Zannoni <ezannoni@kwikemart.cygnus.com>
(call_obj_wrapper): in case of error, copy the
error message from the result to the error_string.
(gdbtk_fputs): add comments.
(gdb_actions_command): call validate_actionline when installing the
tracepoint, to do the syntax checking of the actions for us.
- Elena Zannoni <ezannoni@kwikemart.cygnus.com>
(gdb_get_trace_frame_num): new function to get the
trace frame number from gdb.
(gdbtk_init): added new command gdb_get_trace_frame_num.
- Jim Blandy <jimb@zwingli.cygnus.com>
(struct wrapped_call_objs): Change the `func' member to
be a Tcl_ObjCmdProc, not an Tcl_CmdProc, since it accepts a vector
of objects as arguments. Change the object vector to be const,
since that's what all the users of this structure seem to expect.
(call_obj_wrapper): Cast clientData properly before storing it in
the wrapped_args structure.
* remote.c: merged.
- Jim Blandy <jimb@zwingli.cygnus.com>
(print_packet, remote_packet_command): New functions.
(_initialize_remote): Register the remote-packet command.
- David Taylor <taylor@texas.cygnus.com>
(_initialize_remote): remote-compare is now
compare-sections.
- Elena Zannoni <ezannoni@kwikemart.cygnus.com>
(remote_compare_command): added warning, issued in case
of mismatch only.
* remote.c (remote_compare_command): New function, new command.
Compare object file binary image with corresponding memory on
remote target. Report differences.
set endianness based on machine type.
(_initialize_sparc_tdep): Initialize target_architecture_hook.
(sparc_print_register_hook): Print PSR and FPSR in fancy format
on 32-bit machines.
* config/sparc/tm-sparc.h (PRINT_REGISTER_HOOK): Redefine to
call sparc_print_register_hook instead of using inline code.
* config/sparc/tm-sp64.h (PRINT_REGISTER_HOOK): Remove.
* gdbtk.c (_initialize_gdbtk): Get rid of the console. Patch from
Chris Faylor (cgf@cygnus.com).
* configure.in: Link cygwin32 with subsystem console.
* configure: Regenerated
that
we can use this member to track real timeouts.
(hardwire_readchar): Modify for cygwin32 so that we only ever use a real
system timeout of one second. Track the "real" timeout as a series of th
ese
one second timeouts.
Call ui_loop_hook to keep the gui alive.
* top.c: Define new hook for cygwin32, "ui_loop_hook".
* gdbtk.c (gdbtk_init): Add ui_loop_hook for CygWin32 to work around
update problems.
on C++ functions.
* valops.c (value_arg_coerce): Add new argument to indicate whether
the function has a prototype, handle integer and float promotions
accordingly.
(call_function_by_hand): Always call value_arg_coerce, pass down
prototype information.
* gdbtk.c: reinserted the changes that were accidentally deleted:
(_initialize_gdbtk): Use correct device names in
cygwin-specific call (cosmetic change).
(gdbtk_ignorable_warning): removed va_list parameter,
which was unused.
(_initialize_gdbtk): add cygwin32 specific code to
allow `gdb -nw' to work when specified specified from a windows
console-mode command line.
* ChangeLog: moved Chris Faylor's comment to ChangeLog-gdbtk
* m32r-tdep.c: (decode_prologue): Handle frames compiled with -Os.
Split out as separate function called by skip prologue and scan
prologue. new formula handles optimization in which the prologue
is interleaved with the body of the function. Also recognizes new
variations of prologue encoding. Use of frame pointer is
essential to debugging, -fno-omit-frame-pointer
(m32r_skip_prologue): Call decode prologue, ignore line info
(m32r_scan_prologue): Call decode prologue, ignore line info
* w89k-rom.c (_initialize_w89k ): Call new init function
(init_w89k_cmds): Convert to dynamic initialization of
monitor_ops data structure for forward compatability with
additions to the data structure.
* dbug-rom.c (_initialize_dbug_rom): ditto
(init_dbug_cmds): ditto
* m32r-rom.c (_initialize_m32r_rom): ditto
(init_m32r_cmds): ditto
(single_step, sparc_init_extra_frame_info, examine_prologue):
Use fetch_instruction instead of read_memory_integer
to ensure that instructions are always read as big-endian.
* gdbtk.c: Fixed a goof in the definition of the gdb_get_args &
gdb_get_locals Tcl commands. Moved the previous ChangeLog entry
from ChangeLog to ChangeLog-gdbtk...
* gdbtk.c: Add an object call wrapper for the new Tcl_Obj based
commands. This way the obj commands will also go through
catch_errors. This is just a bandaid while I rewrite the
string-based commands to use the object format.
%o0-%o5 as 64-bit values; compensate for stack bias.
(USE_STRUCT_CONVENTION): We only pass pointers to structs
if they're larger than 32 bytes.
(REG_STRUCT_HAS_ADDR): Ditto.
* sparc-tdep.c (sparc_init_extra_frame_info): Use read_sp()
instead of read_register. If the target is a sparc64 and the frame
pointer is odd, compensate for the stack bias.
(get_saved_register): Use read_sp().
(DUMMY_STACK_REG_BUF_SIZE): Use FP_REGISTER_BYTES.
(sparc_push_dummy_frame): Use read_sp()/write_sp(). On sparc64,
save the PC, NPC, CCR, FSR, FPRS, Y and ASI registers.
(sparc_frame_find_saved_regs): Use read_sp(). Read the PC, NPC,
CCR, FSR, FPRS, Y and ASI registers from the frame, if it's a
dummy frame.
(sparc_pop_frame): Use write_sp(). If the target is a sparc64 and
the FP is odd, compensate for stack bias.
(sparc_store_return_value): Right-justify the return value before
writing it to %o0.
(sparc_fix_call_dummy): Don't NOP out part of the call dummy on
sparc64.
(sparc64_read_sp, sparc64_read_fp, sparc64_write_sp,
sparc64_write_fp, sp64_push_arguments,
sparc64_extract_return_value): New functions to support the
sparc64 ABI.
* dwarfread.c (handle_producer): Set processing_gcc_compilation to
the right version number.
* dwarf2read.c (read_file_scope): Assume we're processing
GCC2 output.
Fri May 1 19:51:32 1998 Frank Ch. Eigler <fche@cygnus.com>
* stabsread.c (read_one_struct_field): Do not override supplied
bitfield size for a range type value.
* gdbtypes.c (create_range_type): For a range with positive
lower limit, declare range type as unsigned.
all breakpoints are requested.
* stabsread.c (define_symbol): Record parameter types from Sunpro
function stabs in the TYPE_FIELDS of the function type.
* Makefile.in (config-check-targets, config-check-hosts): Removed.
1998-04-30 Paul Eggert <eggert@twinsun.com>
* Makefile.in (maintainer-clean):
Don't get ahead of yourself and delete Makefile
before running `make'.
(local-maintainer-clean, do-maintainer-clean): New rules.
* nec4102rom.c : New file implements rom monitor adapter for
nec-vr4102 board. This board hosts the vr4111 chip. This file
required extenstions to the monitor_ops structure, hooks for wiat
filter, new flags. This version does not support more than one
breakpoint and resuming after a breakpoint in 16 bit mode is
completely disfunctional. * monitor.h : Defined additional hooks
for dmpregs, confinuer_hooks and wait_filter. These additions
require that all rom monitor interfaces be recoded to to
initializa monitor ops using assignments rather than static
structure initialization. Added new bits to flags
MO_EXACT_DUMPADDR, MO_HAS_BLOCKWRITES
* monitor.c (RDEBUG): Conditional tracing throughout the file.
(fromhex): Now recognized upper cse hex digits
(monitor_printf_noecho):
(monitor_readchar): Tracing interferes with input timing.
(monitor_open): Register different memory write functions with
dcache_init if MO_HAS_BLOCKWRITES.
(flush_monior_dcache): Added as an additional utilty.
(monitor-resume): Call continue hook if one has been supplied.
(monitor_wait_filter): New function Factored out of monitor wait
and used if alternate wait-filter has not been provided.
(monitor_wait): call alternate wait filter if provided. Call
monitor_dump_regs, a new function factored out from inline code.
(monitor_dump_block): A new function used as a utility when
monitors must dump several blocks of registers using different
commands.
(monitor_dump_regs): Call alternate function if provided. Uses new
hook in monitor.h.
(monitor_write_memory): Engage previouly added hook
MO_FILL_USES_ADDR.
(monitor_write_even_block): new function supports writing long
blocks of 4byte words.
(longlongendswap): new internal function
(monitor_write_memory_longlongs): new function writes large blocks
using command to enter a long long.
(monitor_write-memory_block): new Function figures out which block
mod to use.
(monitor_read_memory): Can now handle dump formats in which the bytes
preceeding the requested data is not printed.
* monitor.h: Added new fields to the structure
(INSTALLED_LIBS): Include GDBTKLIBS.
(CLIBS): Likewise.
* configure: Rebuilt.
* configure.in: Put Tcl/Tk libs into GDBTKLIBS, not LIBS.
(GDBTKLIBS): AC_SUBST.
make it work on the simulator.
(FIX_CALL_DUMMY): Convert to function call instead of inline code.
(sparc_fix_call_dummy): Declare.
* sparc-tdep.c (sparc_fix_call_dummy): New function, taken from
old FIX_CALL_DUMMY macro, with additional fixes for simulator.
(sparc_push_dummy_frame): Set registers differently on simulator
to prevent corrupted register window save areas.
fstat on ldinfo_fd fails. Use objfile->obfd instead of vp->bfd
to check for reference to the same file.
* target.c (target_read_string): Handle string transfers at the
end of a memory section gracefully.
* gdb.c++/virtfunc.cc: Declare extern "C" printf to return int,
not void.
fche says he vaguely remembers a problem with returning int instead of
void, but ISO C sez printf returns int, so let's see what happens.
* configure.in (strerror): Check if function must be declared.
* acconfig.h (NEED_DECLARATION_STRERROR): New define slot.
* gdb_string.h (strerror): Function declaration issued if
NEED_DECLARATION_STRERROR.
* configure, config.in : Files regenerated.
* gdbtk.c (_initialize_gdbtk): add cygwin32 specific code to
allow `gdb -nw' to work when specified specified from a windows
console-mode command line.