* i386-stub.c, m32r-stub.c, m68k-stub.c, sh-stub.c, sparc-stub.c,
sparcl-stub, sparclet-stub.c: Change declaration of putDebugChar
to include explicit void return type as per documentation. Fix up
occasions where stubs erroneously checked return type.
* gdbtk.c (gdbtk_init): Set the fputs_unfiltered_hook to
gdbtk_fputs BEFORE you eval script. The old code was setting it
to null until after you did this, but that is wrong, because it
will cause the output of CAUGHT errors to go to gdb_stderr, which
is wrong. You only want to write errors to the console if the
eval generates an error.
* srcwin.test (click): New function that generates an event
at a location.
(srcwin-4.4): New test. Simulate a click on a line and
check for breakpoint set.
(srcwin-4.5): New test. Right-click on a line and select "Continue
to Here" from popup.
* srcwin.exp: Source srcwin3.test, which will test source window
assembly debugging on executables built without "-g".
so-thresh.linkopts, so-thresh.mk: Move to gdb.hp from gdb.base
(shortening names from solib_threshold.exp etc), won't run on
anything but HP-UX for the foreseeable future.
* gdb.hp/Makefile.in, gdb.base/Makefile.in (clean): Adjust to
reflect move.
* gdbtk-cmds.c (gdb_get_breakpoint_info): When printing addresses,
do not rely on the format string "%lx" -- it does not exist for all
hosts. Use paddr instead.
(gdb_loadfile): Increase maximum line size to pass testsuite cases.
* gdbtk-hooks.c (gdbtk_add_hooks): Remove pc_changed_hook and
add register_changed_hook and memory_changed_hook.
(gdbtk_register_changed): New function.
(gdbtk_memory_changed): New function.
Changes from Keith Seitz <keiths@cygnus.com>
* valops.c (value_assign): Add calls to register_changed_hook and
memory_changed_hook to inform UIs that the user has changed
the target's registers/memory.
* findvar.c (write_register_gen): Remove call to pc_changed_hook.
* defs.h: Remove declaration for pc_changed_hook and
add declarations for register_changed_hook and
memory_changed_hook.
* top.c: Ditto.
* gdbtk.c (gdbtk_init): Create tcl warp_pointer command
for use with testing.
* gdbtk-cmds.c (gdb_loc): Fix for case where there are only
minimal symbols. Also make gdb_loc return the shared library
the location is in, if it is in one.
* tui.h: Include stdarg.h instead of varargs.h if we're on an ISO Cish
system.
Without this you'll get a build failure in gdbtk.c because it includes
stdarg.h but tui.h includes varargs.h; gdbtk.c tries to use va_start
and things die.
v850_register_names, v850_processor_type_table): Declare tables
and structures for handling differences in register names for
v850 and v850e.
(struct reg_list): Define new structure for creating tables
of register bit masks in v850e instrutions.
(handle_prepare, handle_pushm): New helpers for v850_scan_prologue.
(v850_scan_prologue): Recognize v850e instructions: callt, prepare,
and pushm.
(v850_target_architecture_hook): New function to set register
names based on current machine.
(_initialize_v850_tdep): Set up target_architecture_hook.
* config/v850/tm-v850.h (v850_register_names): Declare.
(REGISTER_NAME): Define to refer to v850_register_names.
(SR0_REGNUM, CTBP_REGNUM): Define.
(PS_REGNUM): Redefine in terms of SR0_REGNUM.
* Makefile.in (c-exp.tab.c): use BISON instead of YACC, to pick
the correct value from configure output.
(jv-exp.tab.c): ditto.
(f-exp.tab.c): ditto.
(m2-exp.tab.c): ditto.
* breakpoint.h (ep_is_exception_catchpoint): Add prototype.
* frame.h (select_and_print_frame): Add prototype.
* stack.c (func_command): Call select_and_print_frame with correct
number of arguments. Reformat whitespace.
As far as I can tell, the func command (only enabled in --dbx mode) doesn't
actually work right now, even with this rather glaring fix. I'm not going
to spend time on it; dbx mode looks pretty seriously broken after a five
second glance.
* remote-mips.c (mips_initialize): Fix parameters to clear_breakpoint.
(common_breakpoint): Restore support for instruction breakpoints
on non-LSI targets.
* top.c (init_main): Fix tipo in description of the remotetimeout
variable.
* breakpoint.c (bpstat_stop_status): Handle systems where
DECR_PC_AFTER_BREAK != DECR_PC_AFTER_HW_BREAK.
init only nonzero fields, leave to_require_attach and
to_require_detach empty, not needed for /proc systems yet.
(_initialize_procfs): Call init_procfs_ops.
* h8300-tdep.c (original_register_names, h8300h_register_names,
h8300_register_names): Define new variables.
(set_register_names): New function to set register names based on
current CPU type.
(h8300_command, h8300h_command, h8300s_command): Call
set_register_names.
* config/h8300/tm-h8300.h (h8300_register_names): Declare.
(REGISTER_NAME): Define to refer to h8300_register_names.
* acinclude.m4: New file, containing the hand-written local macro
definitions that used to be in aclocal.m4. Don't sinclude
../bfd/aclocal.m4 any more; running aclocal in this directory will
get us the definitions we need. HOWEVER: Do sinclude
../bfd/acinclude.m4, because we need the definition of
BFD_NEED_DECLARATION.
* aclocal.m4: Regenerated by aclocal.
* configure: Regenerated by autoconf.
(init_dummy_target): New function, fills in dummy_target.
(initialize_targets): Use it.
* hpux-thread.c (hpux_thread_ops): Don't initialize statically.
(init_hpux_thread_ops): New function, fills in hpux_thread_ops.
(_initialize_hpux_thread): Use it.
* m3-nat.c (m3_ops): Don't initialize statically.
(init_m3_ops): New function, fills in m3_ops.
(_initialize_m3): Use it.
* infrun.c (set/show scheduler-locking) New command. Set a
mode bit that will control how GDB attempts to control thread
scheduling for step, continue, etc. (resume): make use of
the schedule-locking mode.
* target.h (struct target_ops): new field to_has_thread_control.
* sol-thread.c: initialize target_ops to_has_thread_control.
* procfs.c: ditto.
* target.c: ditto.
* m3-nat.c: ditto.
* remote.c: ditto.
* hpux-thread.c: ditto.
* infrun.c (set/show scheduler-locking) New command. Set a
mode bit that will control how GDB attempts to control thread
scheduling for step, continue, etc. (resume): make use of
the schedule-locking mode.
* target.h (struct target_ops): new field to_has_thread_control.
* sol-thread.c: initialize target_ops to_has_thread_control.
* procfs.c: ditto.
* target.c: ditto.
* m3-nat.c: ditto.
* remote.c: ditto.
* hpux-thread.c: ditto.
* gdb.texinfo: Changes made as part of a project to merge in
changes made by HP. Documentation makes extensive use of
@ifclear HPPA and @ifset HPPA. The HP manual omits doumentation
on remote debugging. There are differences in documentation
(HP vs. non-HP) on C++ support (aCC vs. gnu gcc++). Also,
the HP manual discusses catchpoints, hardware watchpoints, and
some HPUX specific limitations for shared library support.
There are also a number of @node changes.
* gdbint.texinfo (Formatting): Disambiguate a sentence.
(C Usage): Same.
I am stupid, so I had trouble reading these two sentences.
Now I can read them, so I am happy.
* gdb.texinfo (Shell Commands): fixed messages about shell usage.
HP was insisting on C shell. Now all UNIX platforms have the
same message. removed @ifset HPPA and @ifclear HPPA
Tue Jan 12 17:00:00 1999 Edith Epstein <eepstein@sophia.cygnus.com>
* inftarg.c (child_create_inferior): fixed HPUXHPPA specific
call to fork_inferior. The shell param is now NULL.
to conform to standards, fix spelling errors.
(ishex, stubhex, record_currthread, etc): Declare.
(ishex, stubhex): Declare char arg as int.
(pack_string): Comment out, never used but possibly useful.
(threadref_to_int, remote_get_threadinfo, etc): Make static.
as part of a project to merge in changes made by HP.
all-cfg.texi -- set HPPA for HP PA-RISC targets.
refcard.tex -- change documentation about catch; removed info catch.
HPPA-cfg.texi -- new file; HPPA configuration for manual.
called from wait_for_inferior. Instead, if a new thread-id is
detected, call add_thread. (MAGIC_NULL_PID): new macro, use
instead of the magic number "42000". (remote_find_new_threads):
if inferior_pid is unknown, get and use the current thread id.
(remote_start_remote): on connecting, attempt to get the current
thread id for inferior_pid. (remote_resume): If pid == -1,
then resume any-thread (not the current thread specifically).
* thread.c (info_threads_command): don't initialize current_pid
until after call to FIND_NEW_THREADS (which may change inferior_pid).
scope.exp, langs.exp, list.exp -- compile one file at a time, then link.
default.exp -- change expected messages for catch and info catch tests to
reflect hp merge changes.
to delete on clean.
(EXECUTABLES): update to reflect new additions.
* gdb.base/commands.exp: update message expected.
* gdb.base/default.exp: add copyright notice.
* gdb.base/funcargs.exp (timeout): if hpux, increase timeout.
* gdb.base/help.exp: update messages to reflect current text.
* gdb.base/recurse.exp: add hpppa*-*-bsd* to 'list' of enabled
targets for recurse tests.
* gdb.base/watchpoint.exp: if on hpux and not gcc compiled, then
skip this file.
* utils.c: <readline/readline.h> instead of "readline/readline.h".
* configure.in (TERM_LIB): Search for the appropriate term library
on the host system.
* configure: Regenerated.
* Makefile.in (TERMCAP): Set based on autoconf check.
* config/*/*.mh: Don't override TERMCAP setting.
than $(READLINE_SRC) so #include <readline/readline.h> will work.
* top.c: #include <readline/history.h> instead of "history.h".
* tracepoint.c: Likewise.
* mac-xdep.c: Likewise.
* blockframe.c (get_frame_saved_regs): If the saved_regs_addr ptr
is null, ensure that saved registers are copied from the local
variable that was used to obtain them.
* remote-rdp.c (rdp_init): Don't discard first character on reset.
(translate_open_mode): Define table.
(exec_swi): Handle SWI_Clock. SWI_Open now handles stdin/stdout.
SWI_Write returns number of bytes not written. SWI_Read does the
same. SWI_Seek should return success/failure flag. Fix SWI_Flen.
A patch from PR 15841 for the RDP (Demon) interface.
a printable representation.
(monitor_error): Call error after converting string into printable
format.
(monitor_printf{,_noecho}): If EXTRA_RDEBUG is defined, convert string
into printable form before printing.
(monitor_expect): Ditto.
(monitor_read_memory{,_single}): Call monitor_error, not error.
(monitor_read_memory): Return immediately if length is 0.
* ppcbug-rom.c (init_ppc_cmds): Fill in dump_registers field, which is
now required.
Re-do TARGET_PRINT_INSN_INFO, TARGET_PRINT_INSN, TARGET_ARCHITECTURE,
TARGET_ARCHITECTURE_AUTO, TARGET_BYTE_ORDER_SELECTABLE_P,
TARGET_BYTE_ORDER so that they can all be overriden.
Document.
Convert mn10300 and PPC targets.
Add two pointers (saved_regs, extra_info) to struct frame_info.
Introduce new macro FRAME_INIT_SAVED_REGS which replaces
FRAME_FIND_SAVED_REGS.
Document.
Use in mn10300 and rs6000 targets. Fix side effects on ALPHA, MIPS,
Z8K and SPARC targets.
* configure.in (with-sim-gpu2): Do not emit a -L argument without
an associated pathname. Link in the math library after the gpu2
library.
Assumes that libm is around (and doesn't take advantage of the
AC_CHECK_LIB(m) that is already in configure.in), but this is a
minor point and unlikely to cause problems.
* config/xm-aix4.h (SIGWINCH_HANDLER): Function `aix_resize_window'
must accept a signal number as parameter.
* config/rs6000/xm-rs6000.h (SIGWINCH_HANDLER): Ditto.
* utils.c (initialize_utils): Give a parameter to `SIGWINCH_HANDLER'.
* inferior.h (register_valid): Variable's type is `SIGNED char', not
`char'.
* findvar.c (register_valid): Ditto.
* defs.h (make_cleanup_func): Protect parameter list by `PARAMS'.
* gdbthread.h (unbind_target_thread_vector): Likewise.
Merged in m68k-linux patch from Andreas Schwab
1998-12-01 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* Makefile.in, configure.host, configure.tgt: Add support for
m68k-linux.
* config/m68k/linux.mh: New file.
* config/m68k/linux.mt: New file.
* config/m68k/nm-linux.h: New file.
* config/m68k/tm-linux.h: New file.
* config/m68k/xm-linux.h: New file.
* gdb/m68klinux-nat.c: New file.
* gdbserver/low-linux.c: Add support for m68k-linux.
* gdb/config/m68k/tm-m68k.h (NUM_FREGS): New macro.
* config/m68k/tm-m68k.h (NUM_FREGS): m68k-linux patch.
Added NUM_FREGS macro.
* config/m68k/xm-linux.h: m68k-linux patch. New file.
* config/m68k/tm-linux.h: m68k-linux patch. New file.
* config/m68k/nm-linux.h: m68k-linux patch. New file.
* config/m68k/linux.mt: m68k-linux patch. New file.
* config/m68k/linux.mh: m68k-linux patch. New file.
* gdbserver/low-linux.c: m68k-linux patch. Added an ifdef
that checks the value of __GLIBC to decide whether or
not to include sys/reg.h.
* m68klinux-nat.c: m68k-linux patch. New file. Note
both m68k-tdep.c and m68klinux-nat.c contain definitions
for supply_gregset and supply_fpregset. The definitions
in m68k-tdep.c are valid is USE_PROC_FS is defined. Otherwise,
the definitions in m68klinux-nat.c will be used. This is a
bit of a hack. The supply_* routines do not belong in
*_tdep.c files. But, there are several lynx ports that currently
depend on these definitions.
* configure.tgt: m68k-linux patch. Added m68*-*-linux*
gdb_target.
* configure.host: m68k-linux patch. Added m68*-*-linux*
gdb_host.
* Makefile.in: m68k-linux patch. Added compile line for
m68klinux-nat.o
* config/i386/xm-cygwin.h: Remove REQUEST_QUIT definition.
* config/powerpc/xm-cygwin.h: Ditto.
PR 17664.
With this define in place, you can't type "q" to get out of GDB's pager
under Cygwin.
the stack frame. Their offset from the previous stack frame is in
fdata.gpr_offset and fdata.fpr_offset, not fdata.offset.
(gdb.base/return.exp)
* config/rs6000/tm-rs6000.h: Doc fixes.
* monitor.c (monitor_read_memory): Zero out pattern buffers
before calling re_search.
(parse_register_dump): Ditto.
PR 18049. This bug had existed erratically since I upgraded to
the new gnu-regex.c this last summer. The problem is mostly in
parse_register_dump; the allocated structure has some random values
in it and there is a flag set in the register_pattern structure by the
gnu-regex library which indicates that the values in the re_registers
should be trusted.
If those arbitrary contents aren't zero, gnu-regex tries to run realloc
on them and we get a core dump on some hosts for some targets when the
moon is just right.
* m32r-tdep.c (decode_prologue): If no branch or push fp is found,
but there's a stack adjust, then use that as the end of prologue.
(m32r_skip_prologue): don't skip past the first line if there is
line info. (m32r_virtual_frame_pointer): new function.
(m32r_fix_call_dummy): no return value needed.
* tracepoint.c: Move default definition of
TARGET_VIRTUAL_FRAME_POINTER from here to target.h.
* target.h: Add default definition of TARGET_VIRTUAL_FRAME_POINTER.
* ax-gdb.c (gen_frame_args_address, gen_frame_locals_address):
use TARGET_VIRTUAL_FRAME_POINTER to determine frame pointer.
(gen_trace_for_expr): new argument, address of tracepoint,
gets passed to new_agent_expr and added to struct agent_expr.
(is_nontrivial_conversion): call to new_agent_expr now requires
a dummy argument. (agent_command): use get_current_frame() to
get current PC scope; pass it to gen_trace_for_expr.
* ax-general.c (new_agent_expr): new argument, address of
tracepoint; store it in new field of struct agent_expr.
* ax.h (struct agent_expr): add new field for tracepoint address.
* ax-gdb.h: change prototypes to match above changes.
(CHILL_PRODUCER, etc): Comment out descriptions, not useful.
(IN_SOLIB_CALL_TRAMPOLINE): Rename info from IN_SOLIB_TRAMPOLINE.
(IN_SOLIB_RETURN_TRAMPOLINE): Describe.
(KERNEL_DEBUGGING, MIPSEL): No info about these, remove.
* config/mn10300/tm-mn10300.h (TARGET_VIRTUAL_FRAME_POINTER):
new target macro.
* mn10300-tdep.c (mn10300_virtual_frame_pointer): new function.
* tracepoint.c (encode_actions): Use the new target macro to
determine the virtual frame pointer, for collecting locals/args.
(add_local_symbols, collect_symbol): add a register/offset pair of
arguments so that the virtual frame pointer can be passed in.
Convert mn10300, MIPS and powerpc/rs6000 targets to use
BREAKPOINT_FROM_PC
Delete global variable memory_breakpoint_size. Use BREAKPOINT_FROM_PC
instead.
* symfile.c (deduce_language_from_filename): rewrite so as to
work from a table of filename extensions, modifiable by the user.
(filename_language_table): new data structure.
(set_ext_lang_command): new function for new command, "set
extension-language". (info_extension_language_command): new
function for new command "info extension-languages".
(add_filename_language, init_filename_language_table): new
support functions for the above.
* language.c (language_enum): new function. Support for above.
* coffread.c (coff_symtab_read): Discard C_LABEL's that are not
function entry points, to avoid getting them in the stack dump
instead of the actual function.