entire breakpoint chain and print only the first entry that needs to
be printed and needs to be stopped for. Fixes problems with printing
of multiple breakpoints with different conditions.
* breakpoint.c (print_it_done): Renamed from print_it_noop as it
effectively stops printing of the breakpoint chain.
* breakpoint.c (print_it_noop): New routine to print nothing
for this breakpoint entry and dont stop printing.
* breakpoint.c (breakpoint_re_set_one): mention the reevaluated
watchpoint only if it is enabled.
* mipsread.c (parse_procedure): Correct incorrect setjmp procedure
descriptor from the library to make backtraces through setjmp work.
* mipsread.c (fixup_sigtramp): Correct pcreg and fregoffset for
sigtramp.
* mips-tdep.c (read_next_frame_reg): Provide correct values for
all registers saved within sigtramp, cleanup.
* solib.[hc] (find_pc_section_from_so_list): new function and
prototype.
* sparc-tdep.c (in_solib_trampoline): new function.
* symfile.[hc] (find_pc_section): new function and prototypes.
* target.[hc] (find_pc_section_from_targets): new function and
prototypes.
* config/sparc/tm-sun4sol2.h (IN_SOLIB_TRAMPOLINE): redefine to
in_solib_trampoline.
* command.c (do_setshow_command): Use %u with var_{u,z}integer.
* command.{c,h}: New var_type var_integer.
main.c: Use it for history_size.
* rs6000-tdep.c, xcoffexec.c, config/rs6000/xm-rs6000.h, breakpoint.c:
Lint and byte-order fixups.
breakpoint.c (bpstat_print): Use it.
(print_it_normal): New function (from old bpstat_print code).
(bpstat_{alloc,stop_status}): Set print_it field.
* breakpoint.c (bpstat_stop_status): Use catch_errors when
evaluating watchpoint condition, via new function watchpoint_check.
Also stop if watchpoint disabled due to leaving its block.
* breakpoint.c (enable_breakpoint): Don't enable watchpoint if it
went out of scope.
* exec.c (exec_close): Fix storage leak.
* exec.c (exec_file_command): Make sure that bfd doesn't realign the
output sections when patching an executable.
* mips-nat.c (store_inferior_registers): Use REGISTER_PTRACE_ADDR
when writing all registers.
* mips-tdep.c (mips_push_dummy_frame): Save floating point registers
at the right offset in the dummy frame.
* mipsread.c (psymtab_to_symtab_1): Do not complain for stProc,
stStaticProc and stEnd symbols as they are generated by gcc-2.x.
* mipsread.c (mipscoff_new_init): Initialize stabsread and buildsym.
(the usual) non-specialized versions of the manual.
gdb.texinfo: list of nonstandard init file names, with brief descriptions
(permits closing PRMS gdb/2296).
(a) to make H8 configuration come out right (first attempt since
conversion to texinfo conditionals);
(b) to exploit yesterday's makeinfo bugfix, using conditionals in menus
rather than multiple alternative menus.
2. Update H8 text to refer to H8/500 as well as H8/300.
3. Define config file gdb-config.texi as a link in Makefile, based on a
DOC_CONFIG variable.
of reading/writing registers that are shorter than REGISTER_TYPE.
* (value_from_register): Install H8500 specific code to return
proper value when register is being used as a pointer.
* h8500-tdep.c: Remove extra defines of NUM_REGS.
(h8500_skip_prologue): Use correct lengths for LINK instructions.
(FRAME_CHAIN): Change name to h8500_frame_chain. Rewrite code to
chain frames properly by combining frame pointer with T reg.
(init_extra_frame_info): Delete. It's now a macro.
(frame_args_address): Don't add PTR_SIZE. Stack args are already
offset by the correct amount off of the frame pointer.
(register_byte): Delete. It's now a macro.
(register_raw_size, register_virtual_size): Delete. Replaced by
common routine h8500_register_size, cuz there's no difference
between the raw & virtual sizes on this machine.
(register_convert_to_raw, register_convert_to_virtual): Delete,
cuz there's no difference between the raw & virtual forms.
Replaced by memcpy in tm file.
(register_virtual_type): Rename to h8500_register_virtual_type.
Get rid of pointer pseudo-regs, use _REGNUM with all reg names.
(_initialize_h8500_tdep): Get rid of crock to ensure that GDB &
emulator have same reg offsets. This is all handled in the
simulator code now.
(h8500_trapped_internalvar): New routine to detect references to
convenience vars acting as pointer pseudo-regs.
(h8500_value_trapped_internalvar): Conjure up value of pointer
pseudo-regs.
(h8500_set_trapped_internalvar): Convert set value in real
register references.
infcmd.c (read_pc, write_pc): Add h8500 specific code to handle
code segment register.
infrun.c (proceed): Simplify. Call write_pc instead of doing it
by hand.
(wait_for_inferior): Add h8500 specific code to add stack segment
when reading SP register.
remote-sim.c (fetch_register): Spacing.
tm-h8500.h: #define GDB_TARGET_IS_H8500 to make it easier to
detect cruft. Redo all register manipulation stuff. Get rid of
pointer pseudo-regs. (INIT_EXTRA_FRAME_INFO): Adds stack segment
to frame pointer. (IS_TRAPPED_INTERNALVAL,
VALUE_OF_TRAPPED_INTERNALVAR, SET_TRAPPED_INTERNALVAR): Use these
to create internal vars for pointer pseudo-regs.
of reading/writing registers that are shorter than REGISTER_TYPE.
* (value_from_register): Install H8500 specific code to return
proper value when register is being used as a pointer.
* h8500-tdep.c: Remove extra defines of NUM_REGS.
(h8500_skip_prologue): Use correct lengths for LINK instructions.
(FRAME_CHAIN): Change name to h8500_frame_chain. Rewrite code to
chain frames properly by combining frame pointer with T reg.
(init_extra_frame_info): Delete. It's now a macro.
(frame_args_address): Don't add PTR_SIZE. Stack args are already
offset by the correct amount off of the frame pointer.
(register_byte): Delete. It's now a macro.
(register_raw_size, register_virtual_size): Delete. Replaced by
common routine h8500_register_size, cuz there's no difference
between the raw & virtual sizes on this machine.
(register_convert_to_raw, register_convert_to_virtual): Delete,
cuz there's no difference between the raw & virtual forms.
Replaced by memcpy in tm file.
(register_virtual_type): Rename to h8500_register_virtual_type.
Get rid of pointer pseudo-regs, use _REGNUM with all reg names.
(_initialize_h8500_tdep): Get rid of crock to ensure that GDB &
emulator have same reg offsets. This is all handled in the
simulator code now.
(h8500_trapped_internalvar): New routine to detect references to
convenience vars acting as pointer pseudo-regs.
(h8500_value_trapped_internalvar): Conjure up value of pointer
pseudo-regs.
(h8500_set_trapped_internalvar): Convert set value in real
register references.
infcmd.c (read_pc, write_pc): Add h8500 specific code to handle
code segment register.
infrun.c (proceed): Simplify. Call write_pc instead of doing it
by hand.
(wait_for_inferior): Add h8500 specific code to add stack segment
when reading SP register.
remote-sim.c (fetch_register): Spacing.
tm-h8500.h: #define GDB_TARGET_IS_H8500 to make it easier to
detect cruft. Redo all register manipulation stuff. Get rid of
pointer pseudo-regs. (INIT_EXTRA_FRAME_INFO): Adds stack segment
to frame pointer. (IS_TRAPPED_INTERNALVAL,
VALUE_OF_TRAPPED_INTERNALVAR, SET_TRAPPED_INTERNALVAR): Use these
to create internal vars for pointer pseudo-regs.
(gdb_target_udi): New procedure to set the UDI target.
(gdb_start): Don't remove *_soc files. Use gdb_target_udi.
* gdb.t00/default.exp: Added expected failures for a29k-*-udi.
Added waits for prompts after several question responses. Added
some more responses used by a29k-amd-udi-gdb.
* gdb.t01/run.exp, gdb.t06/break.exp: Added a29k-*-udi support:
pass different arguments, restart UDI connection after program
completion.
* gdb.t02/whatis.exp, gdb.t03/ptype.exp, gdb.t07/watchpoint.exp,
gdb.t08/opaque.exp, gdb.t11/list.exp, gdb.t12/scope.exp,
gdb.t15/funcargs.exp, gdb.t16/printcmds.exp, gdb.t20/misc.exp,
gdb.t21/cplusfuncs.exp: Added expected failures for a29k-*-*.
* gdb.t04/setvar.exp, gdb.t05/expr.exp, gdb.t07/watchpoint.exp,
gdb.t08/opaque.exp, gdb.t12/scope.exp, gdb.t13/bitfields.exp,
gdb.t15/funcargs.exp, gdb.t16/printcmds.exp,
gdb.t17/callfuncs.exp, gdb.t20/classes.exp, gdb.t20/inherit.exp,
gdb.t20/misc.exp, gdb.t22/virtfuncs.exp: Restart UDI connection
after program completion.
* gdb.t10/crossload.exp: Does not work for a29k-*-*, since BFD is
compiled with a SELECT_VECS setting.
* gdb.t15/funcargs.exp: Use argument to backtrace to prevent
infinite recursion.
* gdb.t20/classes.exp, gdb.t20/inherit.exp, gdb.t22/virtfuncs.exp:
Added checks for COFF results, and made them expected failures for
all targets. It would be better to make them expected failures
for COFF targets only.