* command.c copying.c copying.awk core-aout.c core-regset.c
corelow.c dcache.c i386-tdep.c i386v4-nat.c i387-tdep.c
infcmd.c infptrace.c infrun.c remote.c solib.c symfile.c
symmisc.c valarith.c: Add prototypes.
* defs.h: Add prototype for utils.c::do_run_cleanups.
* gdbtypes.c: Add prototypes.
(make_pointer_type): Add braces to remove nested if-else ambiguity.
(make_reference_type): Ditto.
* printcmd.c (printf_command): Initialize 'f' and 'string' at
function startup to suppress possibly-used-before-initialized warning.
* remote-utils.c: Add prototypes.
(sr_pollchar): Add braces to remove nested if-else ambiguity.
* ser-tcp.c: Add prototypes.
(wait_for): Add braces to remove nested if-else ambiguity.
(tcp_readchar): Ditto.
* ser-unix.c: Add prototypes.
(get_tty_state): Don't define errno here.
(get_tty_state): Don't define errno here.
(hardwire_readchar): Only define 't' if we are compiling in a Cygwin
environment.
* symtab.c: Add prototypes.
(find_methods): Add braces to remove nested if-else ambiguity.
(search_symbols): Set 'i' to an initial value to suppress a
possibly-used-before-initialized warning.
* valops.c: Add prototypes.
(value_cast): Set 'eltype2' to an initial value to suppress a
possibly-used-before-initialized warning.
(value_of_variable): Add braces to remove nested if-else ambiguity.
(value_of_this): Ditto.
* valprint.c: Add prototypes.
(print_floating): Add braces to remove nested if-else ambiguity.
Looks like a big change, but it is really just a lot of small stuff.
In the cases where GCC was flagging a possible use-before-initialized
warning on variables, it turned out that these were being used properly
but GCC couldn't see that.
"wait.h" was defining all WIF* macro's instead of filling in those
that <wait.h> missed. Stops heaps of warnings from <wait.h>
re-defining WIF*s defined in "wait.h".
version didn't work for sol2.6; pushed it to autoconf.
* configure.in (gdb_cv_proc_service_is_old): new test.
* acconfig.h (PROC_SERVICE_IS_OLD): new define.
* configure, config.in: regenerate.
* blockframe.c (find_pc_sect_partial_function): Add braces to avoid
possible nested-if confusion.
* breakpoint.c (breakpoint_here_p): Ditto.
(breakpoint_inserted_here_p): Ditto.
(breakpoint_thread_match): Ditto.
* gnu-regex.c: Define _REGEX_RE_COMP only if it isn't already defined.
* gnu-regex.h: Define _REGEX_RE_COMP to pick up old compatability
prototypes.
* symtab.h: Add prototype for _initialize_source.
* value.h: Add prototype for _initialize_value.
* defs.h: Include sys/types.h or stddef.h to get size_t.
(make_cleanup): Add make_cleanup_func typedef and switch to using
a prototype for this function.
(mfree): Add prototypes for mmalloc, mrealloc, mfree if we aren't
using mmalloc.
* ax-gdb.c breakpoint.c coffread.c corelow.c dbxread.c dwarf2read.c
dwarfread.c elfread.c eval.c exec.c gdbtk-cmds.c gdbtk.c infcmd.c
infrun.c mipsread.c nlmread.c os9kread.c parse.c printcmd.c symfile.c
symmisc.c symtab.c thread.c top.c tracepoint.c typeprint.c valops.c:
Cast parameters passed to make_cleanup to use the new
make_cleanup_func typedef.
More warning cleanups. There are still a bunch of places where the first
argument to make_cleanup is not cast to (make_cleanup_func); these are
either due to the function fitting the make_cleanup_func specification
already (e.g. free()) or they are in files that weren't compiled when
I did my make on a Linux native system. Bwahahaha. You can see them
like this:
grep make_cleanup\ * | grep -v make_cleanup_func
I'll surely go back and clean up the remaining suspicious calls in
GDB one of these days. :-)
* configure.in: Check for sys/debugreg.h, asm/debugreg.h.
* i386v-nat.c: Include asm/debugreg.h, sys/debugreg.h if it is not
present.
This is to work around a conflict where the Linux 2.1.x kernel and glibc
2.0.x are not in sync; including <sys/debugreg.h> will result in an error.
With luck, these losers will get their act together and we can trash
this hack in the near future.
address range of a compilation unit without children.
* mdebugread.c (parse_partial_symbols): Fix handling of stabs
continuations, use xmalloc and xrealloc.
There should be sufficient information/hooks now to eliminate
this hack.
* exec.c (file_command): Add a new hook here to inform ui's
when the exec file has changed. Adding it here allows the
ui to be informed after symbol reading.
* gdbcore.h: Add declaration of file_changed_hook.
* stabsread.c (rs6000_builtin_type): Create a complex float instead
of an error.
(read_sun_floating_type): Similarly.
(read_range_type): Create a complex float if self_subrange is
true.
(remote_interrupt_twice): Remove. remote_stop now handles it.
(remote_stop): New function which handles interrupting the
remote target so that CLUI and GUI use the same core functions
to achieve the same goal.
(remote_wait): Change to handle remote_stop properly.
[interrupted_already]: New static global to help remote_stop.
[remote_ops, extended_remote_ops]: Add remote_stop for to_stop member.
* target.c: Rename static function "ignore" to "target_ignore" and
export it so that gdb can determin if some target vector member is
actually not defined. Replace all occurances of ignore.
* target.h: Export target_ignore.
Thu Oct 1 15:39:27 EDT 1998 Frank Ch. Eigler <fche@cygnus.com>
* breakpoint.c (bpstat_stop_status): Do not consider an
untripped watchpoint as a "hit".
* rdi-share/unixcomm.c: If using cygwin32, also use the SERPORT and
PARPORT defines for win32.
(Unix_MatchValidSerialDevice): For cygwin32, valid serial port names
start with "com", not "/dev/tty".
(Unix_OpenSerial): Do not use O_NONBLOCK on cygwin32.
* rdi-share/devsw.c (DevSW_Close): Free the device's state (SwitcherState)
so that the device may be reopened.
* remote-rdi.c (mywritec): Send all output through gdb's *_unfiltered
functions, ignoring non-ASCII chars, so that non-tty UI's can snarf
the output from fputs_hook.
(mywrite): Ditto.
(arm_rdi_open): Set inferior_pid.
(arm_rdi_detach): Pop the target off the target stack so that
users can attach and detach multiple times.
(arm_rdi_close): Close the opened device and reset inferior_pid, too.
* configure.in: Add --enable-warnings.
Adjust whitespace of other --with and --enable options so that
configure --help lines up correctly.
* aclocal.m4: Ditto.
* Makefile.in (WARN_CFLAGS): Add. Set by configure.
* configure: Regenerated.
* txvu-tdep.c (check_overlap): new function to guarantee that
overlays are either mapped or unmapped in their entirety.
* txvu-tdep.c (compress_blockvector): compress blockvectors correctly
* blockframe.c(find_pc_sect_partial_function): look for min syms in
the same section when trying to guess the end of a function.
* symfile.c(list_overlays_command): use print_address_numeric
* remote-sim.c: export simulator_command
* tm-r5900.h: add COP0 registers
* txvu-tdep.c: printvector and printvector-order commands
* tm-txvu.h: add COP0 registers
* mips-tdep.c: use NUM_CORE_REGS
* breakpoint.c (bpstat_stop_status): Declare a bp match if the
current fp matches the bp->fp OR if the current fp is less than
the bp->fp if we're looking at a bp_step_resume breakpoint.
PR 15992.
With a bp_step_resume type breakpoint, the frame pointer check exists in
case we recurse and execute the same text section--we want to not stop
there because it would confuse the user. So gdb checks to see that the
frame pointer matches the one recorded in the breakpoint.
If the current frame pointer is less than the frame pointer recorded in
the breakpoint, then something odd is happened and we should declare that
we're at the breakpoint so that we clear it out.
This happens in Purify instrumented executables on PA systems, at least.
They insert some calls out to Purify code in the function epilogue and
it confuses GDB (which assumes that the frame pointer does not move
around through the entire execution of a function).
* symtab.h (struct symtab): Remove EXTRA_SYMTAB_INFO hook,
not currently used.
* symfile.c (allocate_symtab): Deprecate use of
INIT_EXTRA_SYMTAB_INFO here.
pseudo-register, not the same as a3.
(D2_REGNUM, D3_REGNUM, A2_REGNUM, A3_REGNUM): Define.
* mn10300-tdep.c (fix_frame_pointer): New function.
(set_movm_offsets): Use register number macros instead of
hard-coded constants.
(mn10300_analyze_prologue): Fix to handle redefinition of FP_REGNUM.
(mn10300_frame_chain): Fix to handle redefinition of FP_REGNUM;
use register number macros instead of hard-coded constants;
add missing parameter to call of mn10300_analyze_prologue.
(mn10300_frame_saved_pc): Use register number macros instead of
hard-coded constants.
* sparc-tdep.c (sparc_extract_struct_value_address): Simplify to use
same method on both 32-bit and 64-bit machines.
* sparcl-tdep.c (sparclite_check_watch_resources): Simulator doesn't
support hardware breakpoints.
* config/sparc/tm-sparc.h (CALL_DUMMY): Improve comments.
(v850ice_load) Pass filename to ICE DLL.
(ice_stepi, ice_nexti, ice_cont): Do not directly call the gdb
commands -- let the GUI do it so that it can retain control
of the display.
* configure.in: Add more header files to AC_CHECK_HEADERS.
* configure: Regenerated.
* command.c: Include wait.h or sys/wait.h if present.
* inftarg.c: Ditto.
* core-aout.c: Include ptrace.h or sys/ptrace.h if present, based
on autoconf test.
* infptrace.c: Ditto.
* expprint.c: Include ctype.h for isprint prototype.
* i386aix-nat.c: Include sys/reg.h if autoconf says it is present.
* i386v-nat.c: Include ptrace.h, sys/ptrace.h, and sys/reg.h if
present, based on autoconf test.
* utils.c: Include curses.h and term.h if present.
(puts_debug): Change 'carriage_return' local variable to return_p
to avoid name clash.
* config/m68k/nm-apollo68b.h: Don't define PTRACE_IN_WRONG_PLACE,
determine it with autoconf.
* config/i386/nm-linux.h: Don't define NO_SYS_REG_H, determine it
with autoconf.
* config/i386/nm-i386sco.h: Don't define NO_PTRACE_H, determine it
with autoconf.
* config/i386/nm-i386v.h: Ditto.
* config/i386/nm-symmetry.h: Ditto.
* config/m88k/xm-cxux.h: Ditto.
* config/m88k/xm-dgux.h: Ditto.
* config/m68k/delta68.mh (NAT_FILE): nm-delta68.h no longer necessary.
* config/m68k/nm-delta68.h: Removed.
* expprint.c expression.h (dump_expression): Rename to
dump_prefix_expression.
* Print out the expression in normal form. Call print_longest
instead of trying to do it ourselves.
* (dump_postfix_expression): New function, prints out the expression
with indentation and better formatting and interpretation.
* parse.c (parse_exp_1): Put calls to dump expressions under ifdef
MAINTENANCE_CMDS and expressiondebug variable.
set to correct VU memory space.
(txvu_remove_breakpoint): use this instead of txvu_breakpoint_from_pc
* config/tm-txvu.h: use new track-table address
Do note define BREAKPOINT_FROM_PC anymore
registers if we are not in am33 mode.
(mn10300_frame_chain, mn10300_frame_saved_pc): Similarly.
(set_machine_hook): Keep track of whether or not we're in am33 mode.
* tracepoint.c (remote_set_transparent_ranges): new function.
Send the start and end addresses of all loadable read-only
sections down to the trace target, so that it can treat them
as "transparent" (ie. don't care if they were collected or not).
* symtab.c (decode_line_1): For minimal symbol, call
find_pc_sect_line() to make sure the line number gets set
properly.
(print_symbol_info): Redeclare function void.
* config/d10v/tm-d10v.h (REGISTER_NAMES): sp -> r15. The
stack pointer et al are synthesized from the SP_REGNUM (etc)
defines and should not be mentioned in REGISTER_NAMES.
There is a log discussion copied into PR 15966 about how this is not
handled consistently across all targets and we ought to clean it up
a bit. I'm not tackling the general for this PR, though.
* tracepoint.c (encode_actions): Treat register names and simple
variable names as special cases and don't convert them to byte-
codes: these things can be collected far more efficiently
without invoking the bytecode interpreter.
for mn10300_analyze_prologue.
(mn10300_analyze_prologue): Simplify by factoring out common code.
Fix bugs in setting frame address for optimized code.
Use read_memory_nobpt instead of target_read_memory.
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.
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).
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.
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.
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.
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.
* 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
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.
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.
* 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.
dump gracefully.
* solib.c (find_solib): Use catch_errors around call to
solib_map_sections. Use warning instead of error if reading of
the shared library name fails.
(solib_map_sections): Change return and argument types to make
it callable from catch_errors.
(symbol_add_stub): Avoid GDB core dump if solib->abfd is NULL.
* irix5-nat.c, osfsolib.c (xfer_link_map_member, solib_map_sections,
symbol_add_stub): Ditto.
* gdb/gdb_string.h (strdup): Declare only if not defined as a
macro.
Mark glibc development versions are defining strdup as a macro and the
prototype hosees it. Either way, this patch shouldn't cause problems.
* procfs.c: Added replacement macros for LWP stuff. Fixed support
for UnixWare / SVR4.2MP targets and any targets which use
multi-file /proc entries. Fixed support for hardware watchpoints.
* solib.c: SCO needs some of the same code as SunOS. Change
preprocessor conditionals.
* config/i386/i386sco5.mt: New file.
* config/i386/tm-i386sco5.h: New file.
* config/i386/i386sco5.mh (NATDEPFILES): add i386v-nat.o.
* config/i386/nm-i386v42mp.h
(TARGET_HAS_HARDWARE_WATCHPOINTS): define.
Add other macros for hardware assisted watchpoints.
* config/i386/nm-i386sco5.h: Correct attributions.
(TARGET_HAS_HARDWARE_WATCHPOINTS): define.
* config/i386/nm-linux.h (target_remote_watchpoint): Pass
'type' through to i386_insert_watchpoint.
Mon Apr 20 14:12:30 1998 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
* infrun.c (wait_for_inferior): Don't add signalled processes
as new threads.
* procfs.c (wait_fd): Note if LWP has exited.
(procfs_wait): use GETPID to get process ID.
NOTE: I didn't commit Kean's changes to configure.host/configure.tgt
yet because they are kind of bogus and I'm punting back to him to let
him figure out what he's trying to do. So configuring for UnixWare
may not work just yet.
(sparc_extract_return_value): New function, required to handle
machines without floating point.
(sparc_store_return_value): Ditto.
* config/sparc/tm-sparc.h (EXTRACT_RETURN_VALUE): Call
sparc_extract_return_value instead of using inline code.
(sparc_extract_return_value): Declare.
(STORE_RETURN_VALUE): Call sparc_store_return_value instead
of using inline code.
(sparc_store_return_value): Declare.
work correctly on little-endian hosts.
(sparc_push_arguments): New function.
(gdb_print_insn_sparc): New function.
(_initialize_sparc_tdep): Make gdb_print_insn_sparc the default
disassembler, so that SPARClite-specific instructions will
be recognized.
* sparcl-tdep.c (readchar): Print debugging information.
(debug_serial_write): New function, a replacement for SERIAL_WRITE
that prints debugging information.
* config/sparc/tm-sparc.h (PUSH_ARGUMENTS): Define.
(sparc_push_arguments): Declare.
* configure.tgt: Switch over to use tm-4320.h. Since I switched to
MIPS EABI the fixes are no longer backward compatible with 4300.
* tm-vr4320.h: Added
* vr4320.mt: Added
* utils.c: (warning) added call to warning_hook
* source.c: (find_source_lines) modified to call warning in case
of source vs. executable time stamp mismatch. Simplified object
file check. Initialized mtime to 0.
* defs.h: added warning_hook prototype
* top.c: added warning_hook prototype.
* gdbtk.c: (perror_with_name_wrapper) new function to call
perror_with_name safely.
(gdb_loadfile) added source vs. executable time stamp check.
(gdbtk_warning) new function to pass a warning message to the gui.
(gdbtk_ignorable_warning) new function to pass a warning
to the gui. Used only for the src. vs. exec check.
(gdbtk_init) added warning_hook
added include <sys/stat.h>
Update support for x86 Solaris 2.
* config/i386/tm-i386sol2.h, nm-i386sol2.h: New configuration
files for x86 Solaris 2.
* config/i386/i386sol2.mt, i386sol2.mh: Use them.
* config/sparc/tm-sun4sol2.h (PROCFS_GET_CARRY): New macro, extract
carry flag from a given regset.
(IS_STATIC_TRANSFORM_NAME): New macro, check if a symbol name
is a SunPro transformed name.
* i386-tdep.c (sunpro_static_transform_name): New function to
extract the source name from a SunPro transformed name.
* inferior.h (procfs_first_available, procfs_get_pid_fd):
Add prototypes.
* infrun.c (wait_for_inferior): Handle breakpoint hit in
signal handler without intervening stop in sigtramp.
* procfs.c (procfs_lwp_creation_handler): Use PROCFS_GET_CARRY
instead of direct access to the status register.
(procfs_get_pid_fd): New function, returns procfs fd for a given pid.
* sol-thread.c (ps_lgetLDT): New function, returns LDT for a given
lwpid.
(sol_find_new_threads): Handle failed libthread_db initialization
gracefully.
* stabsread.c (define_symbol): Use IS_STATIC_TRANSFORM_NAME
to check for a SunPro transformed symbol name.
* mips-tdep.c (unpack_mips16): Fixed instruction decoding, lots of
bit pattern interpretations. mips_fetch_instruction does not work
for 16 bit instructions. Some confusion remains about sign
extension in backward branches.
(mips32_relative_offset): Sign extension
(mips32_next_pc): Major debugging, bit pattern interpretation
(print_unpack): debugging printf
(fetch_mips_16): new funtion, key on PC low bit, not symbol table
(mips16_next_16): Initial major debugging of this function. Lots
of bit pattern mistakes.
(mips_next_pc): key on low bit of PC, not symbol table.
* symfile.c(generic_load) : Added a download verification which
reads back the loade code. Download chunk size is now a defined
macro. Fixed a bug in which downloading slips into loading one
byte at a time. Lower level functions in monitor.c can load long
sequences of bytes and make use of these fixups. Referencing
bfd-start_address directly was incorrectly getting zero for start.
section in an ELF file, override a symbol's ECOFF section with its
ELF section. Also, fix stabs continuation where a stabs string
continues for more than one continuation.
* ns32k-tdep.c (flip_bytes, ns32k_localcount,
ns32k_get_enter_addr, sign_extend): Restore functions mysteriously
deleted.
* ns32knbsd-nat.c: New (?) file to support fetching and storing
registers on NetBSD hosts.
* nbsd.mh (NATDEPFILES): put ns32knbsd-nat.o instead of
ns32k-nat.o
* ns32km3-nat.c (reg_offset): Get order of floating point
registers correct. Add extra 32382 register offsets.
(REG_ADDRESS): define to point at correct part of thread
state. Use calls to "warning" instead of "message".
* tm-nbsd.h, tm-ns32km3.h (REGISTER_NAMES, NUM_REGS,
REGISTER_BYTES, REGISTER_BYTE): redefine allowing for 32382
fpu registers.
* rdi-share/Makefile.am, rdi-share/aclocal.m4,
rdi-share/configure: New files.
* rdi-share/configure.in: Rewritten to be an autoconf input file.
* rdi-share/Makefile.in, rdi-share/configure: Generated by
automake/autoconf.
* rdi-share/dbg_hif.h, etherdrv.c, hostchan.c: Use autoconf tests
to check environment.
automake/autoconfiscate rdi-share. We don't use the checks that autoconf
provides too much for now, but it'll be easier to use them if any problems
crop up in the future. (rdi-share/ is foreign code and it probably isn't
worth spending any more time than necessary messing with it.)
* gdbtk.c: (gdb_trace_status) new function.
(gdbtk_init) added command "gdb_is_tracing".
(tracepoint_notify) added passcount information.
* tracepoint.c (trace_status_command): Recognize a boolean return
value from the stub to indicate whether trace experiment is
running. Export this value as a global state variable
(trace_running_p) for use by the GUI. (from Michael Snyder)
(trace_pass_command) added call to modify_tracepoint_hook.
* tracepoint.h export trace_running_p
* breakpoint.c (breakpoint_re_set_one): Treat bp_shlib_events
like bp_breakpoints.
* solib.c (solib_create_inferior_hook): Relocate section addresses
if the alleged start address doesn't agree with the PC.
* gdbserver/Makefile.in: add dependency on XM_CLIBS.
* gdbserver/low-sim.c (registers) force into alignment.
(create_inferior): Fix typo on new_argv; add abfd arg to
sim_open, sim_create_inferior. Add reg_size arg to
sim_fetch_register, sim_store_register. Make simulator
take a single-step to get into a known running state.
* gdbserver/gdbreplay.c: include fcntl.h for def'n of F_SETFL.
* gdbserver/server.c: Add remote_debug variable to control
debug output.
* gdbserver/server.h: Add prototypes for enable/disable_async_io.
* gdbserver/remote-utils.c: add verbose debugging output controlled
by "remote_debug" variable. Add call to "disable_async_io()"
to avoid being killed by async SIGIO signals.
* config/m32r/m32r.mt: define GDBSERVER_(LIBS and DEPFILES),
so that gdbserver can be built with the m32r simulator.
unsigned types.
Specify size of r5900 FSR using 32 bit unsigned type.
Correctly format mips registers when some are not 64 bits in size
Check that REGISTER_{RAW,VIRTUAL}_SIZE are consistent when the target
specifies that no conversion is needed when moving from one to the
other.
* minsyms.c (compare_minimal_symbols): If addresses are identical,
then compare on names. Sorted list should have symbols with
identical addresses AND names adjacent, so dups can be discarded.
* config/m68k/xm-sun3os4.h: Remove malloc declarations, they
are handled via autoconf now.
* remote.c (remote_ops, extended_remote_ops): Replace static
forward declaration by moving the static definition to the top of
the file, for old K&R compilers.
* tracepoint.c (collect_symbol, trace_start_command):
Replace ANSI string concatenation with K&R compatible simple string.
* utils.c (quit): Call SERIAL_DRAIN_OUTPUT rather than
SERIAL_FLUSH_OUTPUT.
* serial.h (struct serial_ops): Add drain_output, pointer to
function that waits for output to drain.
(SERIAL_DRAIN_OUTPUT): Macro to wait for output to drain.
* ser-unix.c (hardwire_drain_output): New function and prototype.
* ser-unix.c (hardwire_ops): Add entry for drain_output function.
* ser-tcp.c (tcp_ops): Ditto.
* ser-ocd.c (ocd_ops): Ditto.
* ser-mac.c (mac_ops): Ditto.
* ser-go32.c (dos_ops): Ditto.
* ser-e7kpc.c (e7000pc_ops): Ditto.
* serial.c (_initialize_serial): Add a description of
"set remotelogbase".
* command.c (do_setshow_command): If no arguments are supplied,
don't dump core, instead print out an error message.
* alpha-nat.c (fetch_osf_core_registers): Renamed from
fetch_aout_core_registers.
(alpha_osf_core_fns): Renamed from alpha_aout_core_fns, change
flavour to bfd_target_unknown_flavour for OSF core files.