This commit was manufactured by cvs2svn to create branch 'gdb_6_0-branch'.
Cherrypick from master 2003-07-30 04:14:38 UTC Andrew Cagney <cagney@redhat.com> '2003-07-28 Andrew Cagney <cagney@redhat.com>':
gdb/doc/annotate.texinfo
* m68hc11-tdep.c (struct m68hc11_unwind_cache): New struct to hold
frame unwind information.
(m68hc11_scan_prologue): New function from m68hc11_guess_from_prologue
and adapted for frame unwinding.
(m68hc11_skip_prologue): Update to scan prologue in temporary object.
(m68hc11_unwind_pc): New function.
(m68hc11_frame_unwind_cache): New function to analyze frames.
(m68hc11_frame_this_id): New function to create new frame struct.
(m68hc11_frame_prev_register): New function to unwind a register from
the frame.
(m68hc11_frame_unwind): Default 68hc11/68hc12 unwinder.
(m68hc11_frame_p): New function for the above.
(m68hc11_frame_base_address): New function to return fp of frame.
(m68hc11_frame_args_address): Update for frame.
(m68hc11_frame_base): Default 68hc11/68hc12 frame.
(m68hc11_unwind_sp): New function.
(m68hc11_unwind_dummy_id): New function.
(m68hc11_gdbarch_init): Install the above frames; remove deprecated
calls.
* m68hc11-tdep.c (m68hc11_analyze_instruction): Don't advance the pc.
(m68hc11_guess_from_prologue): Advance the pc and frame size only
when we are beyond the current pc.
* tui.c (tui_rl_other_window): New function to switch the TUI active
window and give focus to a next window.
(tui_initialize_readline): Bind it to c-x o.
(tui_rl_next_keymap): Activate TUI mode when entering SingleKey mode.
* NEWS: Mention "regs" deprecated for m68hc11 too.
* m68hc11-tdep.c (_initialize_m68hc11_tdep): Deprecate "regs" command.
(m68hc11_print_register): New function to print out one register.
(m68hc11_print_registers_info): New function to print registers.
(show_regs): Deprecate and use the above.
(m68hc11_gdbarch_init): Install the print_registers_info.
* tui-interp.c (tui_resume): Enable tui when we expected it.
(tui_suspend): Remember in which TUI mode we are.
(_initialize_tui_interp): Use the tui interpreter even when no
other interpreter was set and define in which TUI mode to start.
Andreas Schwab [Wed, 23 Jul 2003 18:33:22 +0000 (18:33 +0000)]
* ia64-tdep.c (ia64_print_insn): New function.
(ia64_gdbarch_init): Set print_insn to it.
(_initialize_ia64_tdep): Don't set deprecated_tm_print_insn and
deprecated_tm_print_insn_info.
Elena Zannoni [Tue, 22 Jul 2003 15:44:10 +0000 (15:44 +0000)]
2003-07-22 Elena Zannoni <ezannoni@redhat.com>
* findvar.c (read_var_value): Remove case for thread local storage
variables. It is now entirely handled by the dwarf2 location
expression code.
* printcmd.c (address_info): Ditto.
* symtab.h (address_class): Remove LOC_THREAD_LOCAL_STATIC
enumeration value.
(struct symbol): Remove objfile field, which was used by
LOC_THREAD_LOCAL_STATIC only.
* dwarf2read.c (decode_locdesc): Remove is_thread_local variable.
* dwarf2loc.h (struct dwarf2_loclist_baton): Add comment about
usage of objfile pointer.
* dwarf2loc.c (locexpr_describe_location): Add case to handle
thread local variables.
Add include of objfiles.h.
* dwarf2expr.c (execute_stack_op): Add comments about thread local
storage variables.
* Makefile.in (dwarf2loc.o): Update dependencies.
* m68hc11-tdep.c (m68hc11_pseudo_register_read): Use
regcache_cooked_read_unsigned instead of read_register.
(m68hc11_saved_pc_after_call): Likewise.
(m68hc11_pseudo_register_write): Use regcache_cooked_write_unsigned
instead of write_register.
(m68hc11_register_type): New function.
(m68hc11_register_virtual_type): Remove.
(m68hc11_store_return_value): Convert to use the regcache.
(m68hc11_extract_struct_value_address): Likewise.
(m68hc11_gdbarch_init): Remove deprecated ops for register to use
m68hc11_register_type; undeprecate store_return_value and
extract_struct_value_address.
* m68hc11-tdep.c (m68hc11_extract_return_value): Use regcache_raw_read
and translate to use regcache.
(m68hc11_gdbarch_init): Undeprecate extract_return_value.
Elena Zannoni [Thu, 17 Jul 2003 12:51:55 +0000 (12:51 +0000)]
2003-07-17 Elena Zannoni <ezannoni@redhat.com>
* Makefile.in (x86-64-linux-nat.o): Update dependencies.
* x86-64-linux-nat.c (ps_get_thread_area): New function. Add
include of asm/prctl.h, asm/ptrace.h, and gdb_proc_service.h.
* avr-tdep.c (avr_skip_prologue): Return PC unchanged if no prologue found.
(avr_frame_unwind_cache): Don't unwind FP for main.
Update a comment.
Save the computed prev_sp.
(avr_saved_regs_unwinder): Remove function.
(avr_frame_prev_register): Use PC unwind logic from
avr_saved_regs_unwinder, otherwise use trad_frame_prev_register.
Andrew Cagney [Tue, 15 Jul 2003 17:32:14 +0000 (17:32 +0000)]
2003-07-15 Andrew Cagney <cagney@redhat.com>
* frame.c (get_prev_frame): Move disabled inside_entry_func to
before code inhibiting repeated unwind attempts. Add to
commentary on that test's problems.
* blockframe.c (inside_main_func): Look for "main" in the minimal
symbol table.
* d10v-tdep.c (d10v_frame_this_id): Delete check that frames are
identical.
Index: testsuite/ChangeLog
2003-07-15 Andrew Cagney <cagney@redhat.com>
* gdb.asm/asm-source.exp: Do not allow "start" in the backtrace.
This commit was manufactured by cvs2svn to create branch 'gdb_6_0-branch'.
Cherrypick from master 2003-07-15 12:34:08 UTC Michal Ludvig <mludvig@suse.cz> 'Oops, forgot to add x86-64-linux-tdep.h in previous commit.':
gdb/amd64fbsd-tdep.c
gdb/config/i386/fbsd64.mh
gdb/config/i386/fbsd64.mt
gdb/config/i386/nm-fbsd64.h
gdb/x86-64-linux-tdep.h
Andreas Schwab [Wed, 9 Jul 2003 21:37:13 +0000 (21:37 +0000)]
* m68k-tdep.h (enum struct_return): Define.
(struct gdbarch_tdep): Add struct_return.
* m68k-tdep.c (m68k_push_dummy_call): Non-scalars bigger than 4
bytes are padded to the right, not to the left. Pass struct value
address in register %a1, not on stack.
(m68k_use_struct_convention): New function.
(m68k_gdbarch_init): Set use_struct_convention. Initialize
struct_return in tdep to pcc_struct_return.
* m68klinux-tdep.c (m68k_linux_init_abi): Set struct_return to
reg_struct_return.
Elena Zannoni [Wed, 9 Jul 2003 13:20:39 +0000 (13:20 +0000)]
2003-07-09 Elena Zannoni <ezannoni@redhat.com>
* gdb.base/annota1.exp: Make sure that we properly escape the
full path of the source file. Xfail more permissive patterns,
due to a compiler debug info problem.
* win32-nat.c (solib_symbols_add): Use one variable for all section address
stuff. Pass variable rather than address of variable to safe_symbol_file_add.
Andrew Cagney [Thu, 3 Jul 2003 14:48:58 +0000 (14:48 +0000)]
2003-07-03 Andrew Cagney <cagney@redhat.com>
* gdbarch.sh (REGISTER_RAW_SIZE, REGISTER_VIRTUAL_SIZE): Add
predicate.
* gdbarch.h, gdbarch.c: Re-generate.
* regcache.c (init_regcache_descr): Use legacy code when either
REGISTER_BYTE or REGISTER_RAW_SIZE is set.
* gdb.base/store.c (charest): New typedef.
(add_char): Rename to add_charest, update.
(wack_char): Rename to wack_charest, update types. Return l + r
to keep r live across the call.
(wack_short, wack_int, wack_long, wack_longest, wack_float)
(wack_double, wack_doublest): Return l + r to keep r live across
the call.
* gdb.base/store.exp: Accomodate store.c changes.
Jim Blandy [Wed, 2 Jul 2003 19:38:46 +0000 (19:38 +0000)]
* s390-tdep.c (struct frame_extra_info): new member:
'stack_bought_valid'.
(s390_get_frame_info): Set fextra_info->stack_bought_valid if we
initialize fextra_info->stack_bought.
(s390_frameless_function_invocation): Don't trust the value of
fextra_info_ptr->stack_bought unless
fextra_info->stack_bought_valid is set.
Jim Blandy [Wed, 2 Jul 2003 19:33:12 +0000 (19:33 +0000)]
New S390 prologue analyzer.
* s390-tdep.c (struct prologue_value, enum pv_boolean): New types.
(pv_set_to_unknown, pv_set_to_constant, pv_set_to_register,
pv_constant_last, pv_add, pv_add_constant, pv_subtract,
pv_logical_and, pv_is_identical, pv_is_register, pv_is_array_ref,
compute_x_addr, s390_on_stack, s390_store,
s390_get_signal_frame_info): New functions.
(S390_NUM_SPILL_SLOTS): New macro.
(s390_get_frame_info): Rewritten.
(is_arg_reg): Deleted.
Break out the decoding of S/390 instructions into separate
functions, to make it more legible, and easier to check
against the spec.
* s390-tdep.c (is_ri, is_ril, is_rr, is_rre, is_rs, is_rse,
is_rx, is_rxe): New functions.
(op1_aghi, op2_aghi, op1_ahi, op2_ahi, op_ar, op_basr, op1_bras,
op2_bras, op_l, op_la, op1_larl, op2_larl, op_lgr, op1_lghi,
op2_lghi, op1_lhi, op2_lhi, op_lr, op_nr, op_ngr, op_s, op_st,
op_std, op1_stg, op2_stg, op_stm, op1_stmg, op2_stmg, op_svc): New
enums for opcode values. (Is this an improvement?)