* cli/cli-cmds.c (init_cli_cmds): Add new user settable value:
max_user_call_depth.
(init_cmd_lists): Initialize the new value;
* cli/cli-script.c (execute_user_command): Limit the call depth of
user defined commands. This avoids a core-dump when user commands
are infinitly recursive.
* gdbserver/linux-low.c (usr_store_inferior_registers): Support
registers which are allowed to fail to store.
* gdbserver/linux-low.h (linux_target_ops): Likewise.
* gdbserver/linux-ppc-low.c (ppc_regmap): Support FPSCR.
(ppc_cannot_store_register): FPSCR may not be storable.
* regformats/reg-ppc.dat: Support FPSCR.
Andrew Cagney [Wed, 10 Apr 2002 22:14:02 +0000 (22:14 +0000)]
* stack.c (select_frame): Check that selected_frame and the
specified level are as expected.
* blockframe.c (get_prev_frame): Set the `level' from next_frame.
Update copyright.
* frame.h (struct frame_info): Add field `level'. Update
copyright.
Work-in-progress PR gdb/464.
Michal Ludvig [Wed, 10 Apr 2002 12:12:36 +0000 (12:12 +0000)]
* x86-64-linux-nat.c (child_resume, child_xfer_memory): Delete.
(PTRACE_XFER_TYPE): Moved to config/i386/nm-x86-64.h.
(kernel_u_size): Added.
* config/i386/nm-x86-64.h (CHILD_XFER_MEMORY, CHILD_RESUME): Delete.
(PTRACE_XFER_TYPE): Moved here from config/i386/nm-x86-64.h.
* gdb.c++/local.cc (main): Move call to marker1() inside nested
scope so that the nested scope tests will make sense.
* gdb.c++/local.exp: Write patterns that actually work with gcc
(the HP patterns "were never known to work with gcc").
Keep the old aCC patterns too.
* valarith.c (find_size_for_pointer_math): New function, either returns
the size for a pointer's target, returns 1 for void *, or errors for
incomplete types.
(value_add, value_sub): use find_size_for_pointer_math.
* linux-low.h: Remove obsolete prototypes.
(struct linux_target_ops): New.
(extern the_low_target): New.
* linux-low.c (num_regs, regmap): Remove declarations.
(register_addr): Use the_low_target explicitly.
(fetch_register): Likewise.
(usr_fetch_inferior_registers): Likewise.
(usr_store_inferior_registers): Likewise.
* linux-arm-low.c (num_regs): Remove.
(arm_num_regs): Define.
(arm_regmap): Renamed from regmap, made static.
(arm_cannot_fetch_register): Renamed from cannot_fetch_register,
made static.
(arm_cannot_store_register): Renamed from cannot_store_register,
made static.
(the_low_target): New.
* linux-i386-low.c (num_regs): Remove.
(i386_num_regs): Define.
(i386_regmap): Renamed from regmap, made static.
(i386_cannot_fetch_register): Renamed from cannot_fetch_register,
made static.
(i386_cannot_store_register): Renamed from cannot_store_register,
made static.
(the_low_target): New.
* linux-ia64-low.c (num_regs): Remove.
(ia64_num_regs): Define.
(ia64_regmap): Renamed from regmap, made static.
(ia64_cannot_fetch_register): Renamed from cannot_fetch_register,
made static.
(ia64_cannot_store_register): Renamed from cannot_store_register,
made static.
(the_low_target): New.
* linux-m68k-low.c (num_regs): Remove.
(m68k_num_regs): Define.
(m68k_regmap): Renamed from regmap, made static.
(m68k_cannot_fetch_register): Renamed from cannot_fetch_register,
made static.
(m68k_cannot_store_register): Renamed from cannot_store_register,
made static.
(the_low_target): New.
* linux-mips-low.c (num_regs): Remove.
(mips_num_regs): Define.
(mips_regmap): Renamed from regmap, made static.
(mips_cannot_fetch_register): Renamed from cannot_fetch_register,
made static.
(mips_cannot_store_register): Renamed from cannot_store_register,
made static.
(the_low_target): New.
* linux-ppc-low.c (num_regs): Remove.
(ppc_num_regs): Define.
(ppc_regmap): Renamed from regmap, made static.
(ppc_cannot_fetch_register): Renamed from cannot_fetch_register,
made static.
(ppc_cannot_store_register): Renamed from cannot_store_register,
made static.
(the_low_target): New.
* linux-s390-low.c (num_regs): Remove.
(s390_num_regs): Define.
(s390_regmap): Renamed from regmap, made static.
(s390_cannot_fetch_register): Renamed from cannot_fetch_register,
made static.
(s390_cannot_store_register): Renamed from cannot_store_register,
made static.
(the_low_target): New.
* linux-sh-low.c (num_regs): Remove.
(sh_num_regs): Define.
(sh_regmap): Renamed from regmap, made static.
(sh_cannot_fetch_register): Renamed from cannot_fetch_register,
made static.
(sh_cannot_store_register): Renamed from cannot_store_register,
made static.
(the_low_target): New.
* linux-x86-64-low.c (x86_64_regmap): Renamed from regmap.
(the_low_target): New.
* breakpoint.c (clear_command): Rewrite middle section to
combine two loops with identical control conditions.
Add a cleanup to eliminate a memory leak.
Kevin Buettner [Tue, 9 Apr 2002 01:41:46 +0000 (01:41 +0000)]
* rs6000-tdep.c (rs6000_software_single_step): Use
rs6000_breakpoint_from_pc() to fetch breakpoint instruction
and size. Use target_insert_breakpoint() and
target_remove_breakpoint() to insert and remove breakpoints
instead of explicit memory reads and writes.
* gdb.c++/method.exp: Require "const ... A * ..." for "ptype this"
in a const method. Add some xfail and fail cases for configurations
that do not emit the "const ...".
* gdb.c++/method.exp: Use gdb_test instead of send_gdb/gdb_expect.
Accept "A * const" and "const A * const" as type of "this".
Fix spelling of getFunky throughout. Make messages uniform.
* mi-cmd-disas.c (dump_insns): New function.
(do_mixed_source_and_assembly): New function.
(do_assembly_only): New function.
(do_disassembly): New function.
(mi_cmd_disassemble): Rewrite using smaller, more modular
functions.
* gdb.asm/asm-source.exp: Build symbolic link to arch specific
instructions file at run time instead of configure time.
Sometimes we run the test in a directory that is not the one we
configured in.
* gdb.asm/configure.in: Delete creation of symlink.
* gdb.asm/configure: Regenerate.
Andrew Cagney [Sun, 7 Apr 2002 22:34:31 +0000 (22:34 +0000)]
I believe Jeff Law denies responsability for this one:
* config/pa/hpux11w.mh (MH_CFLAGS): Add -Dvfork=fork.
* config/pa/hpux11.mh (MH_CFLAGS): Add -Dvfork=fork.
* config/pa/hpux1020.mh (MH_CFLAGS): Add -Dvfork=fork.
Work-around for PR gdb/366.
Andrew Cagney [Sun, 7 Apr 2002 20:53:57 +0000 (20:53 +0000)]
* Makefile.in (do-tar-bz2): Delete rule. Replace with ...
(do-tar, do-bz2): New rules.
(taz): Update. Replace do-tar-bz2 with do-tar and do-bz2.
(gdb-tar): New rule.
(gdb-taz): Rewrite. Use gdb-tar and do-bz2.
(insight_dejagnu.tar): New rule.
(insight.tar): New rule.
(gdb+dejagnu.tar): New rule.
(gdb.tar): New rule.
Andrew Cagney [Sun, 7 Apr 2002 19:09:58 +0000 (19:09 +0000)]
* README (Reporting Bugs in GDB): Document the bug web page as the
prefered way of submitting bugs.
Fix PR gdb/402.
* gdb.texinfo (Bug Reporting): Document that the web is the
prefered way of submitting bug reports.
(Bug Reporting): Delete the s-mail address as the last resort.