win32-nat.c (last_sig): Changed type of variable to target_signal,
to allow easier handling of pass state.
(DEBUG_EXCEPTION_SIMPLE): New macro, used in handle_exception,
that gives exception name and address.
(handle_exception): Use DEBUG_EXCEPTION_SIMPLE macro
and set last_sig value to ourstatus->value.sig. Some missing
exceptions added.
(child_continue): Correctly report continue_status.
(get_child_debug_event,do_initial_child_stuff): Set last_sig to
TARGET_SIGNAL_0 (new default value).
(child_resume): consider sig argument passed to decide if
the exception should be passed to debuggee or not.
* regcache.c (fetch_register): Call target_fetch_register
only if we don't call FETCH_PSEUDO_REGISTER.
(store_register): Call target_store_register only if we
don't call STORE_PSEUDO_REGISTER.
* gdbarch.sh: Add definitions for COFF_MAKE_MSYMBOL_SPECIAL and
ELF_MAKE_MSYMBOL_SPECIAL.
* gdbarch.c, gdbarch.h: Regenerate.
* arch-utils.c (default_elf_make_msymbol_special,
default_coff_make_msymbol_special): New functions.
* arch-utils.h (default_elf_make_msymbol_special,
default_coff_make_msymbol_special): Export.
* elfread.c (elf_symtab_read): Compile use of
ELF_MAKE_MSYMBOL_SPECIAL unconditionally because it is now
multiarched.
* coffread.c (coff_symtab_read): Ditto, for
COFF_MAKE_MSYMBOL_SPECIAL.
(svr4_relocate_section_addresses): Do the address arithmetic with
the appropriate truncation for target addresses, even when
CORE_ADDR is larger than a target address.
Add support for hardware watchpoints on win32 native.
* win32-nat.c (CONTEXT_DEBUG_DR macro): Add use of
CONTEXT_DEBUG_REGISTERS.
(dr variable): New variable. Static array containing a local copy
of debug registers.
(debug_registers_changed): New variable. Reflects when debug registers
are changed and need to be written to inferior.
(debug_registers_used): New variable. Reflects when any debug register
was set, used when new threads are created.
(cygwin_set_dr, cygwin_set_dr7, cygwin_get_dr6): New functions used by
i386-nat code.
(thread_rec): Set dr array if id is the thread of current_event .
(child_continue, child_resume): Change the debug registers for all
threads if debug_registers_changed.
(child_add_thread): Change the debug registers if debug_registers_used.
* config/i386/cygwin.mh: Add use of i386-nat.o file.
Link nm.h to new nm-cygwin.h file.
+ config/i386/nm-cygwin.h: New file. Contains the macros used for use
of hardware registers.
* c-valprint.c (c_val_print): Pass a proper valaddr to
cp_print_class_method.
* valops.c (search_struct_method): If there is only one method
and args is NULL, return that method.
* regformats/reg-arm.dat: New file.
* regformats/reg-i386.dat: New file.
* regformats/reg-ia64.dat: New file.
* regformats/reg-m68k.dat: New file.
* regformats/reg-mips.dat: New file.
* regformats/reg-ppc.dat: New file.
* regformats/reg-sh.dat: New file.
* regformats/regdef.h: New file.
* regformats/regdat.sh: New file.
* symtab.c (find_pc_sect_psymtab): Do not search psymtabs for
data symbols, since we search based on textlow and texthigh.
(find_pc_sect_symtab): Likewise.
(warning_begin): Delete declaration.
* utils.c (vwarning): New function.
(warning): Call vwarning.
(warning_begin): Delete function.
* rs6000-nat.c (vmap_ldinfo): Use the function warning to print
the warning message.
* d10v-tdep.c (d10v_address_to_pointer) [0]: Delete call to
warning_begin.
* target.c: New command, "set trust-readonly-sections on".
(do_xfer_memory): Honor the suggestion to trust readonly sections
by reading them from the object file instead of from the target.
(initialize_targets): Register command "set trust-readonly-sections".
* config/i386/i386v42mp.mh: Add i387-nat.o .
* i386v4-nat.c: Include i387-nat.h.
(supply_fpregset): Use i387_supply_fsave.
(fill_fpregset): Use i387_fill_fsave.
2002-01-23 Fred Fish <fnf@redhat.com>
* mdebugread.c (parse_partial_symbols): Only copy stabstring1 to
stabstring on initial malloc. Reallocing will copy it for us,
if necessary.
* ppc-linux-nat.c (ppc_register_u_addr, supply_gregset,
fill_gregset): Call gdbarch_tdep() just once, assign result to
variable and use that, instead of calling the function several
times.
* sh-tdep.c (sh_pseudo_register_read): New function. Renamed and
modified version of obsolete sh_fetch_pseudo_register.
(sh_fetch_pseudo_register): Rename to sh_pseudo_register_read.
(sh4_register_read): New function.
(sh_pseudo_register_write): New function. Renamed and modified
version of obsolete sh_store_pseudo_register.
(sh_store_pseudo_register): Rename to sh_pseudo_register_write.
(sh4_register_write): New function.
(sh_gdbarch_init): Remove setting of gdbarch function
fetch_pseudo_register and store_pseudo_register. Remove setting of
register_convert_to_raw, register_convert_to_virtual,
register_convertible.
(sh_sh4_register_convertible): Delete. No longer needed. All is
taken care by architecture specific functions
register_read/register_write.
(sh_sh4_register_convert_to_virtual): Make static.
(sh_sh4_register_convert_to_raw): Ditto.
parameter. Set frameless flag if it exists and depended of
whether the scanned function is frameless or not.
(xstormy16_skip_prologue): If function is frameless, return
result of xstormy16_scan_prologue().
(xstormy16_frame_init_saved_regs): Adjust xstormy16_scan_prologue()
call.
* sh-tdep.c (sh_fp_frame_init_saved_regs, sh_push_arguments,
sh_generic_show_regs, sh3_show_regs, sh3e_show_regs,
sh3_dsp_show_regs, sh4_show_regs, sh_dsp_show_regs,
sh_sh4_register_byte, sh_sh4_register_raw_size,
sh_sh3e_register_virtual_type, sh_sh4_register_virtual_type,
sh_sh4_register_convertible, sh_sh4_register_convert_to_virtual,
sh_sh4_register_convert_to_raw, sh_fetch_pseudo_register,
sh_store_pseudo_register, sh_do_pseudo_register): Call
gdbarch_tdep() just once, assign result to variable and use that,
instead of calling the function several times.
is up-to-date before running the program, not just when a program
exits.
* testsuite/gdb.base/reread.exp: Check that GDB properly re-reads the
executable file when it changes while no inferior is running.
2002-01-21 Fred Fish <fnf@redhat.com>
* arm-tdep.c (thumb_skip_prologue): Quit scanning prologue
when we have found all instructions we are looking for.
(arm_registers_names): Make static.
* config/arm/tm-arm.h (arm_register_names): Delete declaration.
(arm_register_name): Declare.
(REGISTER_NAME): Use it.
and Kevin Buettner <kevinb@redhat.com>
Convert arm targets to new FRAME interface.
* arm-tdep.c (struct frame_extra_info): Remove fsr.
(arm_frame_find_save_regs): Delete.
(arm_frame_init_saved_regs): New.
(arm_init_extra_frame_info): Alloacte saved_regs as required.
Allocate extra_info as required. Convert all uses of fsr.regs
to use saved_regs, similarly all uses of EXTRA_FRAME_INFO fields
to use extra_info.
(thumb_scan_prologue, arm_scan_prologue, arm_find_callers_reg)
(arm_frame_chain, arm_frame_saved_pc, arm_pop_frame): Likewise.
(check_prologue_cache, save_prologue_cache): Likewise.
(_initialize_arm_tdep): Ensure prologue_cache is correctly set up.
* config/arm/tm-arm.h (EXTRA_FRAME_INFO): Delete.
(FRAME_FIND_SAVED_REGS): Delete.
(arm_frame_find_saved_regs): Delete prototype.
(arm_frame_init_saved_regs): New prototype.
(FRAME_INIT_SAVED_REGS): Define.
(alpha_register_raw_size): Ditto.
(alpha_register_virtual_size): Ditto.
(alpha_skip_prologue_internal): Renamed from
alpha_skip_prologue.
(alpha_skip_prologue): New version that calls
alpha_skip_prologue_internal.
(alpha_in_lenient_prologue): Use alpha_skip_prologue_internal.
* config/alpha/tm-alpha.h (SKIP_PROLOGUE): Remove
second argument from alpha_skip_prologue.
(REGISTER_BYTE): Use alpha_register_byte.
(REGISTER_RAW_SIZE): Use alpha_register_raw_size.
(REGISTER_VIRTUAL_SIZE): Use alpha_register_virtual_size.
(FRAMELESS_FUNCTION_INVOCATION): Use
generic_frameless_function_invocation_not.
(FRAME_NUM_ARGS): Use frame_num_args_unknown.
(COERCE_FLOAT_TO_DOUBLE): Use standard_coerce_float_to_double.