Ulrich Weigand
9898f801b4
* gdbarch.sh (pointer_to_address): Change to type 'm'.
...
(address_to_pointer): Likewise.
* gdbarch.c, gdbarch.h: Regenerate.
* inferior.h (unsigned_pointer_to_address): Add GDBARCH argument.
(signed_pointer_to_address): Likewise.
(unsigned_address_to_pointer, address_to_signed_pointer): Likewise.
* findvar.c (unsigned_pointer_to_address): Likewise.
(signed_pointer_to_address): Likewise.
(unsigned_address_to_pointer, address_to_signed_pointer): Likewise.
* avr-tdep.c (avr_address_to_pointer): Likewise.
(avr_pointer_to_address): Likewise.
* iq2000-tdep.c (iq2000_pointer_to_address): Likewise.
(iq2000_address_to_pointer): Likewise.
* m32c-tdep.c (m32c_m16c_address_to_pointer): Likewise.
(m32c_m16c_pointer_to_address): Likewise.
* spu-tdep.c (spu_pointer_to_address): Likewise.
* xstormy16-tdep.c (xstormy16_pointer_to_address): Likewise.
(xstormy16_address_to_pointer): Likewise.
2009-06-17 18:50:31 +00:00
Ulrich Weigand
a78c2d625f
* gdbarch.sh (gcore_bfd_target): New gdbarch callback.
...
* gdbarch.h, gdbarch.c: Regenerate.
* gcore.c (default_gcore_target): Make return value const.
Call gdbarch_gcore_bfd_target if present.
(default_gcore_arch, default_gcore_mach): Use target_gdbarch.
* corelow.c (core_read_description): Call gdbarch_core_read_description
on core_gdbarch instead of current_gdbarch.
* ppc-linux-tdep.c (ppc_linux_init_abi): Install gcore_bfd_target.
2009-06-17 18:48:26 +00:00
Ulrich Weigand
bd57a74827
* gdbarch.sh (construct_inferior_arguments): Remove.
...
* gdbarch.c, gdbarch.h: Regenerate.
* infcmd.c (get_inferior_args): Call construct_inferior_arguments
directly instead of gdbarch_construct_inferior_arguments.
(construct_inferior_arguments): Remove GDBARCH argument.
* inferior.h (construct_inferior_arguments): Likewise.
2009-06-17 18:35:33 +00:00
Pedro Alves
2567c7d9cc
* breakpoint.c (insert_breakpoints, breakpoint_init_inferior)
...
(update_global_location_list): Use gdbarch_has_global_breakpoints
instead of gdbarch_has_global_solist and
target_supports_multi_process.
* dicos-tdep.c (dicos_init_abi): Set
gdbarch_has_global_breakpoints.
* gdbarch.sh (has_global_solist): Update comment.
(has_global_breakpoints): New.
* remote.c (remote_start_remote): Use
gdbarch_has_global_breakpoints instead of
gdbarch_has_global_solist.
* target.c (target_detach): Use gdbarch_has_global_breakpoints
instead of gdbarch_has_global_solist.
* infcmd.c (attach_command): Use gdbarch_has_global_solist instead
of target_supports_multi_process.
2009-05-19 00:23:49 +00:00
Joel Brobecker
6b6142747f
* gdbarch.h (target_gdbarch): Add comment documenting this global.
2009-05-07 14:50:41 +00:00
Hui Zhu
0508c3ec4d
GDBARCH interface for process record and replay.
...
* gdbarch.sh (process_record): This interface point to the
function that records the inferior execute log.
2009-04-30 02:52:16 +00:00
Pedro Alves
28439f5ef7
* corelow.c (get_core_registers): Adjust.
...
(core_file_thread_alive): Rename to...
(core_thread_alive): ... this.
(core_pid_to_str): Try gdbarch_core_pid_to_str first.
(init_core_ops): Adjust.
(coreops_suppress_target): Delete.
(_initialize_corelow): Unconditionally add core_ops.
* procfs.c: Include "inf-child.h".
(procfs_ops): Delete.
(init_procfs_ops): Delete. Reimplement as...
(procfs_target): ... this, inheriting from inf-child.
(procfs_attach, procfs_detach, procfs_fetch_registers): Adjust.
(procfs_prepare_to_store): Delete.
(procfs_store_registers, procfs_resume): Adjust.
(procfs_open): Delete.
(procfs_suppress_run): Delete.
(procfs_can_run): Delete.
(procfs_mourn_inferior): Adjust.
(procfs_init_inferior): Add target_ops parameter. Adjust.
(procfs_create_inferior): Don't pass procfs_init_inferior to
fork_inferior. Instead call it after fork_inferior returns.
(procfs_find_new_threads): Adjust.
(_initialize_procfs): Adjust to use procfs_target instead of
init_procfs_ops.
* sol-thread.c (orig_core_ops, sol_core_ops): Delete.
(lwp_to_thread): Use target_thread_alive.
(sol_thread_open): Delete.
(sol_thread_attach): Delete.
(sol_thread_detach, sol_thread_resume, sol_thread_wait)
(sol_thread_fetch_registers, sol_thread_store_registers): Adjust
to use find_target_beneath.
(sol_thread_prepare_to_store, sol_thread_xfer_memory): Delete.
(sol_thread_xfer_partial): Adjust to use find_target_beneath.
(sol_thread_files_info, sol_thread_kill_inferior): Delete.
(check_for_thread_db): New.
(sol_thread_notice_signals, sol_thread_create_inferior): Delete.
(sol_thread_new_objfile): Call check_for_thread_db.
(sol_thread_mourn_inferior): Adjust to use find_target_beneath.
(sol_thread_can_run): Delete.
(sol_thread_alive): Adjust to use find_target_beneath.
(sol_thread_stop): Delete.
(rw_common): Use target_write_memory or target_read_memory.
(ps_lgetregs, ps_lgetfpregs): Use target_fetch_registers.
(ps_lsetregs, ps_lsetfpregs): Use target_store_registers.
(solaris_pid_to_str): Remove check for libthread_db initialization
failing.
(sol_find_new_threads): Remove check for libthread_db
initialization failing, or for an invalid inferior_ptid. Adjust
to use find_target_beneath.
(sol_core_open, sol_core_close, sol_core_detach,
sol_core_files_info, sol_find_memory_regions,
sol_make_note_section, ignore): Delete.
(init_sol_thread_ops): Make it a thread_stratum target. Remove
unneeded callback settings.
(init_sol_core_ops): Delete.
(_initialize_sol_thread): No longer call init_sol_core_ops, set
procfs_suppress_run, or hack with core_ops.
* target.h (struct target_ops): Add a target_ops * parameter to
to_resume, to_fetch_registers, to_store_registers, to_thread_alive
and to_find_new_threads.
(target_fetch_registers, target_store_registers)
(target_thread_alive, target_find_new_threads): Redeclare as
function.
* target.c (update_current_target): Do not inherit or de_fault
to_resume, to_fetch_registers, to_store_registers,
to_thread_alive, to_find_new_threads.
(target_resume): Adjust.
(target_thread_alive, target_find_new_threads): New.
(debug_to_resume, debug_to_fetch_registers): Delete.
(target_fetch_registers): New.
(debug_to_store_registers): Delete.
(target_store_registers): New.
(debug_to_thread_alive, debug_to_find_new_threads): Delete.
(setup_target_debug): Adjust.
* gdbcore.h (core_ops): Delete declaration.
* inf-ptrace.c, linux-nat.c, remote.c, amd64-linux-nat.c,
inf-child.c, linux-thread-db.c, bsd-uthread.c, inf-ttrace.c,
i386-sol2-tdep.c, darwin-nat.c, gnu-nat.c, go32-nat.c,
hpux-thread.c, i386-linux-nat.c, i386fbsd-nat.c, monitor.c,
nto-procfs.c, remote-m32r-sdi.c, remote-mips.c, windows-nat.c,
alphabsd-nat.c, amd64bsd-nat.c, arm-linux-nat.c, armnbsd-nat.c,
bsd-kvm.c, hppa-hpux-nat.c, hppa-linux-nat.c, hppabsd-nat.c,
hppanbsd-nat.c, i386-darwin-nat.c, i386bsd-nat.c,
ia64-linux-nat.c, m32r-linux-nat.c, m68kbsd-nat.c,
m68klinux-nat.c, m88kbsd-nat.c, mips-linux-nat.c,
mips64obsd-nat.c, mipsnbsd-nat.c, ppc-linux-nat.c, ppcnbsd-nat.c,
ppcobsd-nat.c, remote-sim.c, rs6000-nat.c, s390-nat.c,
shnbsd-nat.c, sparc-nat.c, sparc-nat.h, spu-linux-nat.c,
vaxbsd-nat.c, xtensa-linux-nat.c: Adjust to target_ops changes.
* gdbarch.sh (core_pid_to_str): New gdbarch callback.
* gdbarch.h, gdbarch.c: Regenerate.
* sol2-tdep.c: Include "inferior.h".
(sol2_core_pid_to_str): New.
* sol2-tdep.h (sol2_core_pid_to_str): Declare.
* amd64-sol2-tdep.c (amd64_sol2_init_abi): Set it.
* sparc-sol2-tdep.c (sparc32_sol2_init_abi): Set it.
* sparc64-sol2-tdep.c (sparc64_sol2_init_abi): Set it.
* i386-sol2-tdep.c (i386_sol2_init_abi): Set it.
2009-02-23 00:03:50 +00:00
Pedro Alves
959b87241d
* corelow.c (core_close): Don't hardcode the core's pid.
...
(core_open): Find core threads before calling
post_create_inferior.
(add_to_thread_list, get_core_register_section): Take into account
systems where the regset section names encode the pid of the
inferior.
* gdbarch.sh (core_reg_section_encodes_pid): New gdbarch setting.
* gdbarch.h, gdbarch.c: Regenerate.
* amd64-sol2-tdep.c (amd64_sol2_init_abi): Set it.
* i386-sol2-tdep.c (i386_sol2_init_abi): Set it.
* sparc-sol2-tdep.c (sparc32_sol2_init_abi): Set it.
* sparc64-sol2-tdep.c (sparc64_sol2_init_abi): Set it.
2009-02-16 03:16:24 +00:00
Pedro Alves
4aa995e123
2009-02-06 Pedro Alves <pedro@codesourcery.com>
...
gdb/
* target.h (enum target_object): Add new TARGET_OBJECT_SIGNAL_INFO.
* infrun.c (siginfo_value_read, siginfo_value_write): New.
(siginfo_value_funcs): New.
(siginfo_make_value): New.
(_initialize_infrun): Create the $_siginfo convenience variable.
* gdbtypes.h (append_composite_type_field_aligned): Declare.
* gdbtypes.c (append_composite_type_field): Rename to...
(append_composite_type_field_aligned): ... this. Add ALIGNMENT
argument. Handle it.
(append_composite_type_field): Rewrite on top of
append_composite_type_field_aligned.
* value.h (internalvar_make_value): New typedef.
(struct internalvar) <make_value>: New field.
(create_internalvar_type_lazy): Declare.
* value.c (create_internalvar): Clear make_value.
(create_internalvar_type_lazy): New.
(value_of_internalvar): If make_value is set use it.
(preserve_values): Skip internal variables that don't have a
value.
* gdbarch.sh (get_siginfo_type): New.
* gdbarch.h, gdbarch.c: Regenerate.
* linux-tdep.h, linux-tdep.c: New.
* amd64-linux-tdep.c: Include "linux-tdep.h".
(amd64_linux_init_abi): Register linux_get_siginfo_type and
linux_get_siginfo_mapper.
* i386-linux-tdep.c: Include "linux-tdep.h".
(i386_linux_init_abi): Register linux_get_siginfo_type and
linux_get_siginfo_mapper.
* arm-linux-tdep.c: Include "linux-tdep.h".
(i386_linux_init_abi): Register linux_get_siginfo_type and
linux_get_siginfo_mapper.
* linux-nat.c (linux_xfer_siginfo): New.
(linux_nat_xfer_partial): Handle TARGET_OBJECT_SIGNAL_INFO.
* remote.c (PACKET_qXfer_siginfo_read)
(PACKET_qXfer_siginfo_write): New.
(feature remote_protocol_features): Add "qXfer:siginfo:read" and
"qXfer:siginfo:write" features.
(remote_xfer_partial): Handle TARGET_OBJECT_SIGNAL_INFO.
(_initialize_remote): Add "set/show remote read-siginfo-object"
and "set/show remote write-siginfo-object" commands.
* Makefile.in (ALL_TARGET_OBS): Add linux-tdep.o.
(HFILES_NO_SRCDIR): Add linux-tdep.h.
(ALLDEPFILES): Add linux-tdep.c.
* configure.tgt (arm*-*-linux* | arm*-*-uclinux*)
(i[34567]86-*-linux*, x86_64-*-linux*): Add linux-tdep.o to
gdb_target_obs.
2009-02-06 Pedro Alves <pedro@codesourcery.com>
gdb/gdbserver/
* server.c (handle_query): Report qXfer:siginfo:read and
qXfer:siginfo:write as supported and handle them.
* target.h (struct target_ops) <qxfer_siginfo>: New field.
* linux-low.c (linux_xfer_siginfo): New.
(linux_target_ops): Set it.
2009-02-06 Pedro Alves <pedro@codesourcery.com>
gdb/doc/
* gdb.texinfo (Signals): Document $_siginfo.
(Convenience Variables): Mention $_siginfo.
(Remote Configuration): Document qXfer:siginfo:read,
qXfer:siginfo:write packets, and the read-siginfo-object,
write-siginfo-object commands.
2009-02-06 Pedro Alves <pedro@codesourcery.com>
gdb/testsuite/
* gdb.base/siginfo-obj.c, gdb.base/siginfo-obj.exp: New.
2009-02-06 22:59:01 +00:00
Pedro Alves
9bc9e92779
* gdbarch.sh (has_global_solist): Mention global breakpoints.
...
* gdbarch.h: Regenerate.
2008-11-03 16:11:45 +00:00
Pedro Alves
50c71eaf0e
* remote.c (remote_start_remote): If the solib list is global,
...
fetch libraries and insert breakpoints after connecting.
* infcmd.c (post_create_inferior): If the solist is shared between
inferiors, no need to refetch it on every new inferior.
(detach_command): If the shared library list is shared between
inferiors, then don't clear it on every inferior detach.
* gdbarch.sh (has_global_solist): New.
* i386-dicos-tdep.c (i386_dicos_init_abi): Set
gdbarch_has_global_solist.
* target.c (target_pre_inferior): If the shared library list is
shared between inferiors, then don't clear it here, neither
invalidate the memory regions or clear the target description.
(target_detach): If the shared library list is shared between
inferiors, then don't remove breakpoints from the target here.
(target_disconnect): Comment.
* solib.c (update_solib_list): Check for null_ptid.
* breakpoint.c (insert_breakpoints, update_global_location_list):
If the shared library list is shared between inferiors, insert
breakpoints even if there's no execution.
(breakpoint_init_inferior): If the shared library list is shared
between inferiors, don't delete breakpoints or mark them
uninserted here.
* gdbarch.c, gdbarch.h: Regenerate.
2008-11-03 14:01:27 +00:00
Ulrich Weigand
f8dcfc0aff
ChangeLog:
...
* gdbarch.sh (name_of_malloc): Remove.
* gdbarch.c, gdbarch.h: Re-generate.
* valops.c (value_allocate_space_in_inferior): Do not call
gdbarch_name_of_malloc.
doc/ChangeLog:
* gdbint.texinfo (Target Conditionals): Remove documentation
for gdbarch_name_of_malloc.
2008-09-11 14:27:00 +00:00
Ulrich Weigand
24568a2cd9
* gdbarch.sh (addr_bits_remove): Change type to 'm'.
...
(smash_text_address): Likewise.
* gdbarch.c, gdbarch.h: Regenerate.
* arch-utils.c (core_addr_identity): Add gdbarch parameter.
* arch-utils.h (core_addr_identity): Likewise.
* arm-tdep.c (arm_addr_bits_remove): Likewise.
(arm_smash_text_address): Likewise.
* hppa-tdep.c (hppa_smash_text_address): Likewise.
* m88k-tdep.c (m88k_addr_bits_remove): Likewise.
* s390-tdep.c (s390_addr_bits_remove): Likewise.
* mips-tdep.c (mips_addr_bits_remove): Add gdbarch parameter.
Use it instead of current_gdbarch.
* arm-tdep.c (arm_prologue_prev_register, arm_unwind_pc,
arm_dwarf2_prev_register): Update calls.
* m88k-tdep.c (m88k_unwind_pc): Update call.
2008-09-05 11:42:32 +00:00
Ulrich Weigand
1cf3db46a6
* gdbarch.sh (target_gdbarch): New global variable.
...
(deprecated_current_gdbarch_select_hack): Set it.
* gdbarch.c, gdbarch.h: Regenerate.
* arch-utils.c (gdbarch_update_p): Use target_gdbarch instead
of current_gdbarch.
* target-descriptions.c (target_find_description): Likewise.
* arm-tdep.c (arm_update_current_architecture): Likewise.
(show_fp_model, arm_show_abi, arm_show_fallback_mode,
arm_show_force_mode): Likewise.
* mips-tdep.c (show_mask_address, show_mipsfpu_command,
show_mips_abi): Likewise.
* mep-tdep.c (me_module_register_set, current_me_module): Likewise.
* target.c (target_translate_tls_address): Use target_gdbarch
instead of current_gdbarch.
* remote.c (struct packet_reg): Likewise.
(get_remote_arch_state, packet_reg_from_regnum,
packet_reg_from_pnum, remote_check_symbols, remote_wait,
remote_address_masked, remote_insert_breakpoint,
remote_insert_hw_breakpoint, remote_read_description): Likewise.
* remote-m32r-sdi.c (m32r_resume, m32r_wait): Likewise.
* remote-mips.c (mips_open, mips_common_breakpoint): Likewise.
* cris-tdep.c (cris_can_use_hardware_watchpoint): Likewise.
* solib.c (solib_open, solib_map_sections, solib_read_symbols,
solib_add, info_sharedlibrary_command, solib_address,
solib_create_inferior_hook, in_solib_dynsym_resolve_code,
solib_global_lookup): Likewise.
* solib-frv.c (enable_break2, frv_relocate_main_executable): Likewise.
* solib-irix.c (irix_current_sos, irix_open_symbol_file_object):
Likewise.
* solib-sunos.c (sunos_solib_create_inferior_hook): Likewise.
* solib-svr4.c (exec_entry_point, enable_break, svr4_free_so,
set_solib_svr4_fetch_link_map_offsets, svr4_fetch_link_map_offsets):
Likewise.
* nto-tdep.c (nto_find_and_open_solib, nto_init_solib_absolute_prefix,
nto_truncate_ptr): Likewise.
* mips-linux-tdep.c (mips_linux_in_dynsym_stub): Likewise.
2008-08-26 17:21:29 +00:00
Stan Shebs
9d4fde7506
ARM BE8 support.
...
* disasm.c (gdb_disassemble_info): Set endian_code.
* gdbarch.sh (gdbarch_info): New field byte_order_for_code.
* gdbarch.h, gdbarch.c: Regenerate.
* arch-utils.c (initialize_current_architecture): Set the
default byte_order_for_code.
(gdbarch_info_init): Ditto.
(gdbarch_info_fill): Ditto.
* arm-tdep.c (SWAP_INT, SWAP_SHORT): New macros.
(thumb_analyze_prologue): Swap halfword if code endianness is
different from general endianness.
(arm_skip_prologue): Similarly.
(arm_scan_prologue): Ditto.
(thumb_get_next_pc): Ditto.
(arm_get_next_pc): Ditto.
(arm_gdbarch_init): Set byte_order_for_code from BE8 flag,
choose correct endianness for breakpoints.
2008-08-11 19:00:25 +00:00
Stan Shebs
cfd8ab242a
Scrub remnants of IN_SOLIB_DYNSYM_RESOLVE_CODE.
...
* gdbarch.sh: Adjust comment to refer to
in_solib_dynsym_resolve_code().
* gdbarch.h, gdbarch.c: Update.
* solib-osf.c: Ditto.
* infrun.c: Ditto.
(handle_inferior_event): Use in_solib_dynsym_resolve_code
unconditionally.
* config/mips/nm-irix5.h: Remove undef of
IN_SOLIB_DYNSYM_RESOLVE_CODE.
* gdbint.texinfo: Refer to target_so_ops.in_dynsym_resolve_code
instead of IN_SOLIB_DYNSYM_RESOLVE_CODE.
2008-07-22 02:10:14 +00:00
Pierre Muller
4309257cda
* gdbarch.sh (gdbarch_skip_main_prologue): New.
...
* gdbarch.h, gdbarch.c: Regenerate.
* i386-tdep.h (i386_skip_main_prologue): Declare.
* i386-tdep.c (i386_skip_main_prologue): New.
* i386-cygwin-tdep.c (i386_cygwin_init_abi): Register
i386_skip_main_prologue as gdbarch_skip_main_prologue gdbarch callback.
* symtab.c (find_function_start_sal): When pc points at the "main"
function, call gdbarch_skip_main_prologue.
2008-06-11 22:03:49 +00:00
Carlos Eduardo Seo
17ea7499a9
* gdbarch.sh: Added new gdbarch struct
...
core_regset_sections.
* gdbarch.c: Refreshed.
* gdbarch.h: Refreshed.
* regset.h (core_regset_section): Declared.
* linux-nat.c (linux_nat_do_thread_registers): Added
support for the new gdbarch struct core_regset_sections.
* utils.c (host_address_to_string): New function.
* defs.h (host_address_to_string): New prototype.
* i386-linux-tdep.c (i386_regset_rections): New register
sections list for i386.
(i386_linux_init_abi): Initialized new gdbarch struct
core_regset_sections.
* Makefile.in: Updated to reflect dependency changes.
* ppc-linux-tdep.c (ppc_regset_sections): Register
sections list for ppc.
(ppc_linux_init_abi): Initialized new gdbarch struct
core_regset_sections
2008-05-24 16:32:01 +00:00
Daniel Jacobowitz
ba2b1c567f
* gdbarch.sh: Delete dwarf_reg_to_regnum.
...
* gdbarch.c, gdbarch.h: Regenerated.
* amd64-tdep.c, arm-tdep.c, h8300-tdep.c, hppa-linux-tdep.c,
hppa-tdep.c, i386-tdep.c, m32c-tdep.c, m68k-tdep.c, mips-tdep.c,
s390-tdep.c, xtensa-tdep.c: Do not set dwarf_reg_to_regnum.
* gdbint.texinfo (Target Conditionals): Delete entry for
gdbarch_dwarf_reg_to_regnum.
2008-05-16 00:27:24 +00:00
Daniel Jacobowitz
60c5725ca9
* Makefile.in (arm-tdep.o): Update.
...
* arm-tdep.c (arm_objfile_data_key, struct arm_mapping_symbol)
(struct arm_per_objfile, arm_compare_mapping_symbols): New.
(arm_pc_is_thumb): Use mapping symbols.
(arm_objfile_data_cleanup, arm_record_special_symbol): New.
(arm_gdbarch_init): Call set_gdbarch_record_special_symbol.
(_initialize_arm_tdep): Initialize arm_objfile_data_key.
* elfread.c (elf_symtab_read): Use gdbarch_record_special_symbol.
* gdbarch.sh: Add record_special_symbol.
* gdbarch.c, gdbarch.h: Regenerated.
* objfiles.c (struct objfile_data): Add cleanup member.
(register_objfile_data_with_cleanup): New function, from
register_objfile_data.
(register_objfile_data): Use it.
(objfile_free_data): Call clear_objfile_data.
(clear_objfile_data): Call cleanup functions.
* objfiles.h (register_objfile_data_with_cleanup): Declare.
2008-05-02 20:38:16 +00:00
Pedro Alves
237fc4c9cd
Implement displaced stepping.
...
gdb/
* gdbarch.sh (max_insn_length): New 'variable'.
(displaced_step_copy, displaced_step_fixup)
(displaced_step_free_closure, displaced_step_location): New
functions.
(struct displaced_step_closure): Add forward declaration.
* gdbarch.c, gdbarch.h: Regenerated.
* arch-utils.c: #include "objfiles.h".
(simple_displaced_step_copy_insn)
(simple_displaced_step_free_closure)
(displaced_step_at_entry_point): New functions.
* arch-utils.h (simple_displaced_step_copy_insn)
(simple_displaced_step_free_closure)
(displaced_step_at_entry_point): New prototypes.
* i386-tdep.c (I386_MAX_INSN_LEN): Rename to...
(I386_MAX_MATCHED_INSN_LEN): ... this.
(i386_absolute_jmp_p, i386_absolute_call_p)
(i386_ret_p, i386_call_p, i386_breakpoint_p, i386_syscall_p)
(i386_displaced_step_fixup): New functions.
(struct i386_insn, i386_match_insn): Update.
(i386_gdbarch_init): Set gdbarch_max_insn_length.
* i386-tdep.h (I386_MAX_INSN_LEN): New.
(i386_displaced_step_fixup): New prototype.
* i386-linux-tdep.c (i386_linux_init_abi): Include "arch-utils.h".
Register gdbarch_displaced_step_copy,
gdbarch_displaced_step_fixup, gdbarch_displaced_step_free_closure,
and gdbarch_displaced_step_location functions.
* infrun.c (debug_displaced): New variable.
(show_debug_displaced): New function.
(struct displaced_step_request): New struct.
(displaced_step_request_queue, displaced_step_ptid)
(displaced_step_gdbarch, displaced_step_closure)
(displaced_step_original, displaced_step_copy)
(displaced_step_saved_copy, can_use_displaced_stepping): New
variables.
(show_can_use_displaced_stepping, use_displaced_stepping)
(displaced_step_clear, cleanup_displaced_step_closure)
(displaced_step_dump_bytes, displaced_step_prepare)
(displaced_step_clear_cleanup, write_memory_ptid)
(displaced_step_fixup): New functions.
(resume): Call displaced_step_prepare.
(proceed): Call read_pc once, and remember the value. If using
displaced stepping, don't remove breakpoints.
(handle_inferior_event): Call displaced_step_fixup. Add some
debugging output. When we try to step over a breakpoint, but get
a signal to deliver to the thread instead, ensure the step-resume
breakpoint is actually inserted. If a thread hop is needed, and
displaced stepping is enabled, don't remove breakpoints.
(init_wait_for_inferior): Call displaced_step_clear.
(_initialize_infrun): Add "set debug displaced" command. Add
"maint set can-use-displaced-stepping" command. Clear
displaced_step_ptid.
* inferior.h (debug_displaced): Declare variable.
(displaced_step_dump_bytes): Declare function.
* Makefile.in (arch-utils.o, i386-linux-tdep.o): Update
dependencies.
gdb/testsuite/
* gdb.asm/asmsrc1.s: Add scratch space.
gdb/doc/
* gdb.texinfo (Debugging Output): Document "set/show debug
displaced".
(Maintenance Commands): Document "maint set/show
can-use-displaced-stepping".
2008-05-02 16:49:54 +00:00
Aleksandar Ristovski
1cded358ac
PR gdb/2343
...
* corelow.c (core_open): Use gdbarch_target_signal_from_host to
translate signal numeric value from the target to GDB's enum
target_signal.
* gdbarch.c, gdbarch.h: Regenerated.
* gdbarch.sh: Added two new functions target_signal_from_host and
target_signal_to_host.
* target.h (default_target_signal_from_host,
default_target_signal_to_host): New functions - declarations.
* signals/signals.c (struct gdbarch): New declaration.
(default_target_signal_to_host, default_target_signal_from_host): New
functions.
2008-05-01 19:31:52 +00:00
Daniel Jacobowitz
669fac235d
Convert frame unwinders to use the current frame and
...
"struct value".
* frame.c (frame_debug): Make global.
(get_frame_id): Pass this frame to unwinder routines.
(frame_pc_unwind): Remove unused unwind->prev_pc support.
(do_frame_register_read): Do not discard the return value of
frame_register_read.
(frame_register_unwind): Remove debug messages. Use
frame_unwind_register_value.
(frame_unwind_register_value, get_frame_register_value): New
functions.
(create_new_frame, get_frame_base_address, get_frame_locals_address)
(get_frame_args_address, get_frame_type): Pass this frame to
unwinder routines.
(frame_cleanup_after_sniffer, frame_prepare_for_sniffer): New
functions.
* frame.h: Update comments.
(frame_debug, frame_unwind_register_value, get_frame_register_value)
(frame_prepare_for_sniffer): Declare.
* frame-unwind.h: Update comments and parameter names.
(default_frame_sniffer): Declare.
(frame_prev_register_ftype): Return a struct value *.
(struct frame_unwind): Remove prev_pc member.
(frame_unwind_sniffer_ftype, frame_unwind_append_sniffer): Delete.
(frame_unwind_append_unwinder, frame_unwind_got_optimized)
(frame_unwind_got_register, frame_unwind_got_memory)
(frame_unwind_got_constant, frame_unwind_got_address): Declare.
* frame-base.h: Update comments and parameter names.
* valops.c (value_fetch_lazy): Use get_frame_register_value. Iterate
if necessary. Add debugging output.
* sentinel-frame.c (sentinel_frame_prev_register)
(sentinel_frame_this_id): Update for new signature.
(sentinel_frame_prev_pc): Delete.
(sentinel_frame_unwinder): Remove prev_pc.
* ia64-tdep.c (ia64_libunwind_frame_unwind): Do not initialize
prev_pc.
* libunwind-frame.c (libunwind_frame_unwind): Likewise.
* frame-unwind.c (struct frame_unwind_table_entry): Remove sniffer.
(frame_unwind_append_sniffer): Delete.
(frame_unwind_append_unwinder): New function.
(frame_unwind_find_by_frame): Take this frame. Only use sniffers
from unwinders. Use frame_prepare_for_sniffer.
(default_frame_sniffer, frame_unwind_got_optimized)
(frame_unwind_got_register, frame_unwind_got_memory)
(frame_unwind_got_constant, frame_unwind_got_address): New functions.
* dummy-frame.c (dummy_frame_sniffer): Use gdbarch_dummy_id.
(dummy_frame_prev_register, dummy_frame_this_id): Update for new
signature.
* gdbarch.sh: Replace unwind_dummy_id with dummy_id.
* gdbarch.c, gdbarch.c: Regenerated.
* frame-base.c (default_frame_base_address)
(default_frame_locals_address, default_frame_args_address): Update
for new signature.
(frame_base_find_by_frame): Pass this frame to unwinder routines.
* infcall.c (call_function_by_hand): Update comments.
* Makefile.in (frame-unwind.o): Update dependencies.
* gdbint.texinfo (Stack Frames): New chapter.
(Algorithms): Move Frames text to the new chapter.
(Target Conditionals): Delete SAVE_DUMMY_FRAME_TOS. Document
gdbarch_dummy_id instead of gdbarch_unwind_dummy_id.
2008-04-30 21:16:46 +00:00
Joel Brobecker
ea42b34a37
* gdbarch.sh: Document the return_value method. Explain that
...
the FUNCTYPE parameter might be NULL.
* gdbarch.h: Regenerated.
* sparc-tdep.c (sparc32_push_dummy_code): Do not pass the function
type when calling using_struct_return, as this is unnecessary
on this target.
2008-04-29 16:06:07 +00:00
Corinna Vinschen
c055b1010f
doc/ChangeLog:
...
--------------
* gdb.texinfo (Set SH Calling convention): New @item.
(Show SH Calling convention): Ditto.
ChangeLog:
----------
* NEWS: Add information on calling convention and new SH CLI options.
* sh-tdep.c (sh_cc_gcc): New static string.
(sh_cc_renesas): Ditto.
(sh_cc_enum): New static string array.
(sh_active_calling_convention): New static string pointer denoting
active user chosen ABI.
(sh_is_renesas_calling_convention): New function to return function
specific ABI, or user choice if necessary.
(sh_use_struct_convention): Rename first argument and turn around its
meaning. Check for renesas ABI and return accordingly.
(sh_use_struct_convention_nofpu): New function.
(sh_next_flt_argreg): Get function type as third parameter. Check
for renesas ABI and choose floating registers accordingly.
(sh_push_dummy_call_fpu): Check for ABI and choose argument slot and
struct return slot accordingly.
(sh_push_dummy_call_nofpu): Ditto.
(sh_return_value_nofpu): Call sh_use_struct_convention_nofpu from here.
Evaluate ABI and give to sh_use_struct_convention_nofpu.
(sh_return_value_fpu): Evaluate ABI and give to
sh_use_struct_convention.
(show_sh_command): New function.
(set_sh_command): Ditto.
(_initialize_sh_tdep): Initialize `set/show sh calling-convention
CLI command.
* gdbarch.sh (return_value): Add func_type argument.
* gdbarch.c: Regenerate.
* gdbarch.h: Ditto.
* eval.c (evaluate_subexp_standard): Rename local variable value_type to
val_type so as not to collide with value_type function. Call
using_struct_return with additional function type argument.
* infcall.c (call_function_by_hand): Call using_struct_return and
gdbarch_return_value with additional function type argument.
* infcmd.c (print_return_value): Take addition func_type argument.
Call gdbarch_return_value with additional function type argument.
(finish_command_continuation): Call print_return_value with additional
function type argument.
(finish_command): Ditto.
* sparc-tdep.c (sparc32_push_dummy_code): Call using_struct_return with
additional function type argument.
* stack.c (return_command): Call using_struct_return and
gdbarch_return_value with additional function type argument.
* value.c (using_struct_return): Take additional function type argument.
* value.h (using_struct_return): Accommodate declaration.
* alpha-tdep.c (alpha_return_value): Add func_type argument.
* amd64-tdep.c (amd64_return_value): Ditto.
* arm-tdep.c (arm_return_value): Ditto.
* avr-tdep.c (avr_return_value): Ditto.
* cris-tdep.c (cris_return_value): Ditto.
* frv-tdep.c (frv_return_value): Ditto.
* h8300-tdep.c (h8300_return_value): Ditto.
(h8300h_return_value): Ditto.
* hppa-tdep.c (hppa32_return_value): Ditto.
(hppa64_return_value): Ditto.
* i386-tdep.c (i386_return_value): Ditto.
* ia64-tdep.c (ia64_return_value): Ditto.
* iq2000-tdep.c (iq2000_return_value): Ditto.
* m32c-tdep.c (m32c_return_value): Ditto.
* m32r-tdep.c (m32r_return_value): Ditto.
* m68hc11-tdep.c (m68hc11_return_value): Ditto.
* m68k-tdep.c (m68k_return_value): Ditto.
(m68k_svr4_return_value): Ditto.
* m88k-tdep.c (m88k_return_value): Ditto.
* mep-tdep.c (mep_return_value): Ditto.
* mips-tdep.c (mips_eabi_return_value): Ditto.
(mips_n32n64_return_value): Ditto.
(mips_o32_return_value): Ditto.
(mips_o64_return_value): Ditto.
* mn10300-tdep.c (mn10300_return_value): Ditto.
* mt-tdep.c (mt_return_value): Ditto.
* ppc-linux-tdep.c (ppc_linux_return_value): Ditto.
* ppc-sysv-tdep.c (ppc_sysv_abi_return_value): Ditto.
(ppc_sysv_abi_broken_return_value): Ditto.
(ppc64_sysv_abi_return_value): Ditto.
* ppc-tdep.h (ppc_sysv_abi_return_value): Ditto.
(ppc_sysv_abi_broken_return_value): Ditto.
(ppc64_sysv_abi_return_value): Ditto.
* ppcnbsd-tdep.c (ppcnbsd_return_value): Ditto.
* rs6000-tdep.c (rs6000_return_value): Ditto.
* s390-tdep.c (s390_return_value): Ditto.
* score-tdep.c (score_return_value): Ditto.
* sh-tdep.c (sh_return_value_nofpu): Ditto.
(sh_return_value_fpu): Ditto.
* sh64-tdep.c (sh64_return_value): Ditto.
* sparc-tdep.c (sparc32_return_value): Ditto.
* sparc64-tdep.c (sparc64_return_value): Ditto.
* spu-tdep.c (spu_return_value): Ditto.
* v850-tdep.c (v850_return_value): Ditto.
* vax-tdep.c (vax_return_value): Ditto.
* xstormy16-tdep.c (xstormy16_return_value): Ditto.
* xtensa-tdep.c (xtensa_return_value): Ditto.
* gdbtypes.h (struct type): Add calling_convention member.
* dwarf2read.c (read_subroutine_type): Add calling convention read
from DW_AT_calling_convention attribute to function type.
2008-04-22 11:03:42 +00:00
Markus Deuling
ae4b228419
* gdbarch.sh (memory_insert_breakpoint, memory_remove_breakpoint): Add
...
gdbarch as parameter.
* gdbarch.{c,h}: Regenerate.
* ppc-tdep.h (ppc_linux_memory_remove_breakpoint): Add gdbarch as
parameter.
* mem-break.c (default_memory_insert_breakpoint)
(default_memory_remove_breakpoint): Likewise.
* target.h (default_memory_remove_breakpoint)
(default_memory_insert_breakpoint): Likewise.
* ppc-linux-tdep.c (ppc_linux_memory_remove_breakpoint): Add gdbarch as
parameter. Replace current_gdbarch by gdbarch.
* m32r-tdep.c (m32r_memory_insert_breakpoint)
(m32r_memory_remove_breakpoint): Likewise.
2008-02-20 14:31:40 +00:00
Markus Deuling
32c9a79572
* gdbarch.sh (function_list): Add new property bits_big_endian to
...
gdbarch structure.
* gdbarch.{c,h}: Regenerate.
* value.c (struct value): Replace BITS_BIG_ENDIAN by
gdbarch_bits_big_endian (comment).
(unpack_field_as_long, modify_field): Likewise.
* value.h: Likewise (comment).
* valops.c (value_slice): Likewise.
* valarith.c (value_subscript, value_bit_index): Likewise.
* gdbtypes.h (field): Likewise (comment).
* eval.c (evaluate_subexp_standard): Likewise.
* dwarf2read.c (dwarf2_add_field): Likewise.
* ada-lang.c (decode_packed_array, ada_value_primitive_packed_val)
(move_bits, ada_value_assign, value_assign_to_component): Likewise.
* defs.h (BITS_BIG_ENDIAN): Remove.
* gdbint.texinfo (Target Conditionals): Replace the description of
BITS_BIG_ENDIAN with a description of gdbarch_bits_big_endian.
2008-01-18 17:07:40 +00:00
Markus Deuling
6093d2eb3a
* gdbarch.sh (skip_prologue): Add gdbarch
...
as parameter.
* gdbarch.{c,h}: Regenerate.
* alpha-tdep.c (alpha_skip_prologue): Add gdbarch as parameter.
* amd64-tdep.c (amd64_skip_prologue): Likewise.
* avr-tdep.c (avr_skip_prologue): Likewise.
* cris-tdep.c (cris_skip_prologue): Likewise.
* frv-tdep.c (frv_skip_prologue): Likewise.
* h8300-tdep.c (h8300_skip_prologue): Likewise.
* hppa-tdep.c (hppa_skip_prologue): Likewise.
* i386-tdep.c (i386_skip_prologue): Likewise.
* ia64-tdep.c (ia64_skip_prologue): Likewise.
* iq2000-tdep.c (iq2000_skip_prologue): Likewise.
* m32r-tdep.c (m32r_skip_prologue): Likewise.
* m68hc11-tdep.c (m68hc11_skip_prologue): Likewise.
* m68k-tdep.c (m68k_skip_prologue): Likewise.
* m88k-tdep.c (m88k_skip_prologue): Likewise.
* mep-tdep.c (mep_skip_prologue): Likewise.
* mips-tdep.c (mips_skip_prologue): Likewise.
* mn10300-tdep.c (mn10300_skip_prologue): Likewise.
* mt-tdep.c (mt_skip_prologue): Likewise.
* rs6000-tdep.c (rs6000_skip_prologue): Likewise.
* score-tdep.c (score_skip_prologue): Likewise.
* sh64-tdep.c (sh64_skip_prologue): Likewise.
* sh-tdep.c (sh_skip_prologue): Likewise.
* sparc64-tdep.c (sparc64_skip_prologue): Likewise.
* sparc-tdep.c (sparc32_skip_prologue): Likewise.
* spu-tdep.c (spu_skip_prologue): Likewise.
* v850-tdep.c (v850_skip_prologue): Likewise.
* vax-tdep.c (vax_skip_prologue): Likewise.
* xstormy16-tdep.c (xstormy16_skip_prologue): Likewise.
* xtensa-tdep.c (xtensa_skip_prologue): Likewise.
* arm-tdep.c (arm_skip_prologue): Add gdbarch as parameter. Replace
current_gdbarch by gdbarch.
* m32c-tdep.c (m32c_skip_prologue): Likewise.
* s390-tdep.c (s390_skip_prologue): Likewise.
2008-01-11 13:20:02 +00:00
Markus Deuling
d3f73121db
* gdbarch.sh (stab_reg_to_regnum, dwarf_reg_to_regnum)
...
( dwarf2_reg_to_regnum, sdb_reg_to_regnum, ecoff_reg_to_regnum): Add
gdbarch as parameter.
* gdbarch.{c,h}: Regenerate.
* xtensa-tdep.c (xtensa_reg_to_regnum): Add gdbarch as parameter.
Replace current_gdbarch by gdbarch.
* s390-tdep.c (s390_dwarf_reg_to_regnum): Likewise.
* rs6000-tdep.c (rs6000_stab_reg_to_regnum)
(rs6000_dwarf2_reg_to_regnum): Likewise.
* mips-tdep.c (mips_stab_reg_to_regnum)
(mips_dwarf_dwarf2_ecoff_reg_to_regnum): Likewise.
* mep-tdep.c (mep_debug_reg_to_regnum): Likewise.
* m32c-tdep.c (m32c_debug_info_reg_to_regnum): Likewise.
* i386-tdep.c (i386_dbx_reg_to_regnum)
(i386_svr4_reg_to_regnum): Likewise
* h8300-tdep.c (h8300s_dbg_reg_to_regnum)
(h8300_dbg_reg_to_regnum): Likewise.
* amd64-tdep.c (amd64_dwarf_reg_to_regnum): Likewise.
* arch-utils.c (no_op_reg_to_regnum): Likewise.
* arch-utils.h (no_op_reg_to_regnum): Likewise.
* arm-tdep.c (arm_dwarf_reg_to_regnum): Likewise.
* cris-tdep.c (cris_dwarf2_reg_to_regnum): Likewise.
* hppa-tdep.c (hppa64_dwarf_reg_to_regnum): Likewise.
* ia64-tdep.c (ia64_dwarf_reg_to_regnum): Likewise.
* m68k-tdep.c (m68k_dwarf_reg_to_regnum): Likewise.
2007-12-06 16:33:00 +00:00
Markus Deuling
e7faf93859
2007-11-19 Markus Deuling <deuling@de.ibm.com>
...
* gdbarch.sh (register_sim_regno): Add gdbarch as parameter.
* gdbarch.{c,h}: Regenerate.
* arch-utils.h (legacy_register_sim_regno): Add gdbarch as parameter.
* score-tdep.c (score_register_sim_regno): Likewise.
* sim-regno.h (one2one_register_sim_regno): Likewise.
* arch-utils.c (legacy_register_sim_regno): Add gdbarch as parameter.
Replace current_gdbarch by gdbarch.
* sh-tdep.c (sh_sh2a_register_sim_regno)
(sh_dsp_register_sim_regno): Likewise.
* rs6000-tdep.c (rs6000_register_sim_regno): Likewise.
* mips-tdep.c (mips_register_sim_regno): Likewise.
* m32c-tdep.c (m32c_register_sim_regno): Likewise.
* frv-tdep.c (frv_register_sim_regno): Likewise.
* arm-tdep.c (arm_register_sim_regno): Likewise.
* remote-sim.c (one2one_register_sim_regno): Likewise.
2007-11-19 05:06:24 +00:00
Markus Deuling
64a3914f1d
2007-11-16 Markus Deuling <deuling@de.ibm.com>
...
* gdbarch.sh (cannot_fetch_register, cannot_store_register): Add gdbarch
as parameter.
* gdbarch.{c,h}: Regenerate.
* alpha-tdep.c (alpha_cannot_fetch_register)
(alpha_cannot_store_register): Add gdbarch as parameter. Replace
current_gdbarch by gdbarch.
* cris-tdep.c (cris_cannot_fetch_register, cris_cannot_store_register)
(crisv32_cannot_fetch_register)
(crisv32_cannot_store_register): Likewise.
* arch-utils.c (cannot_register_not): Likewise.
* arch-utils.h (cannot_register_not): Likewise.
* hppa-tdep.c (hppa32_cannot_store_register)
(hppa32_cannot_store_register, hppa64_cannot_store_register)
(hppa64_cannot_fetch_register): Likewise.
* mipsnbsd-tdep.c (mipsnbsd_cannot_fetch_register)
(mipsnbsd_cannot_store_register): Likewise.
2007-11-16 04:56:45 +00:00
Markus Deuling
0abe36f50d
* gdbarch.sh (convert_register_p): Add gdbarch as parameter.
...
* ia64-tdep.c (ia64_convert_register_p): Likewise.
* i387-tdep.c (i387_convert_register_p): Likewise.
* i387-tdep.h (i387_convert_register_p): Likewise.
* alpha-tdep.c (alpha_convert_register_p): Likewise.
* gdbarch.{c,h}: Regenerate.
* rs6000-tdep.c (rs6000_convert_register_p): Add gdbarch as parameter.
Replace current_gdbarch by gdbarch.
* mips-tdep.c (mips_convert_register_p): Likewise.
* m68k-tdep.c (m68k_convert_register_p): Likewise.
* i386-tdep.c (i386_convert_register_p): Likewise.
2007-11-09 05:32:19 +00:00
Markus Deuling
a54fba4c5d
2007-11-07 Markus Deuling <deuling@de.ibm.com>
...
* gdbarch.sh (legacy_virtual_frame_pointer): Add gdbarch parameter.
* gdbarch.{c,h}: Regenerate.
* arch-utils.c (legacy_virtual_frame_pointer): Add gdbarch parameter.
Replace current_gdbarch by gdbarch.
* m32c-tdep.c (m32c_virtual_frame_pointer): Likewise.
* mips-tdep.c (mips_virtual_frame_pointer): Likewise.
* spu-tdep.c (spu_virtual_frame_pointer): Likewise.
2007-11-07 06:58:31 +00:00
Markus Deuling
67d5789459
*** empty log message ***
2007-11-07 06:33:01 +00:00
Ulrich Weigand
d93859e2e8
2007-11-02 Markus Deuling <deuling@de.ibm.com>
...
* gdbarch.sh (register_name): Add gdbarch parameter.
* gdbarch.{c,h}: Regenerate.
* target-descriptions.c (tdesc_register_name): Add gdbarch parameter.
(tdesc_register_name): Replace current_gdbarch by gdbarch.
* target-descriptions.h (tdesc_register_name): Add gdbarch parameter.
* xstormy16-tdep.c (xstormy16_register_name): Add gdbarch parameter.
* vax-tdep.c (vax_register_name): Add gdbarch parameter.
* spu-tdep.c (spu_register_name): Add gdbarch parameter.
* s390-tdep.c (s390_register_name): Add gdbarch parameter.
* mt-tdep.c (mt_register_name): Add gdbarch parameter.
(mt_registers_info): Replace current_gdbarch by gdbarch.
(mt_register_reggroup_p): Add gdbarch to mt_register_name call.
* mips-tdep.c (mips_register_name): Add gdbarch parameter. Replace
current_gdbarch by gdbarch.
(mips_register_name): Add gdbarch to tdesc_register_name call.
* mep-tdep.c (mep_register_name): Add gdbarch parameter. Replace
current_gdbarch by gdbarch.
(mep_register_reggroup_p): Add gdbarch to mep_register_name call.
* m32c-tdep.c (m32c_register_name): Add gdbarch parameter. Replace
current_gdbarch by gdbarch.
* m88k-tdep.c (m88k_register_name): Add gdbarch parameter.
* m68k-tdep.c (m68k_register_name): Add gdbarch parameter.
* m32r-tdep.c (m32r_register_name): Add gdbarch parameter.
(m32r_frame_unwind_cache): Use get_frame_arch to get at the current
architecture by frame_info.
* iq2000-tdep.c (iq2000_register_name): Add gdbarch parameter.
* ia64-tdep.c (ia64_register_name): Add gdbarch parameter.
* hppa-tdep.c (hppa32_register_name, hppa64_register_name): Add gdbarch
parameter.
* h8300-tdep.c (h8300_register_name, h8300s_register_name)
(h8300sx_register_name): Add gdbarch parameter.
* cris-tdep.c (cris_register_name, crisv32_register_name): Add
gdbarch parameter. Replace current_gdbarch by gdbarch.
(cris_gdbarch_init): Replace current_gdbarch by gdbarch (comment).
* avr-tdep.c (avr_register_name): Add gdbarch parameter.
* arm-tdep.c (arm_register_name): Add gdbarch paramete
* amd64-tdep.c (amd64_register_name): Add gdbarch parameter. Update
caller.
* amd64-tdep.h (amd64_register_name): Add gdbarch parameter.
* amd64-linux-tdep.c (amd64_linux_register_name): Add gdbarch parameter.
* alpha-tdep.c (alpha_register_name): Add gdbarch parameter.
(alpha_cannot_fetch_register, alpha_cannot_store_register): Update call
of alpha_register_name.
* frv-tdep.c (frv_register_name): Add gdbarch parameter.
* i386-tdep.c (i386_register_name): Add gdbarch parameter. Replace
current_gdbarch by gdbarch.
(i386_register_type): Replace ?current_gdbarch by gdbarch.
* i386-tdep.h (i386_register_name): Add gdbarch parameter.
* i386-linux-tdep.c (i386_linux_register_name): Add gdbarch parameter.
* m68hc11-tdep.c (m68hc11_register_name): Add gdbarch parameter.
(m68hc11_register_reggroup_p): Add gdbarch to call of
m68hc11_register_name.
* mn10300-tdep.c (mn10300_generic_register_name, am33_register_name)
(am33_2_register_name): Add gdbarch parameter.
(mn10300_frame_unwind_cache): Use get_frame_arch to get at the current
architecture by frame_info.
(mn10300_dump_tdep): Replace current_gdbarch by gdbarch.
* rs6000-tdep.c (rs6000_register_name): Add gdbarch parameter. Replace
current_gdbarch by gdbarch.
* score-tdep.c (score_register_name): Add gdbarch parameter.
(score_return_value, score_push_dummy_call): Replace current_gdbarch
by gdbarch.
* sh64-tdep.c (sh64_register_name): Add gdbarch parameter.
(sh64_compact_reg_base_num, sh64_register_convert_to_virtual)
(sh64_register_convert_to_raw, sh64_fv_reg_base_num)
(sh64_dr_reg_base_num, sh64_fpp_reg_base_num): Add gdbarch parameter
and update caller. Replace current_gdbarch by gdbarch.
(sh64_extract_return_value, sh64_store_return_value): Use
get_regcache_arch to get at the current architecture by regcache.
* sh-tdep.c (sh_sh_register_name, sh_sh3_register_name)
(sh_sh3e_register_name, sh_sh2e_register_name, sh_sh2a_register_name)
(sh_sh2a_nofpu_register_name, sh_sh_dsp_register_name)
(sh_sh3_dsp_register_name, sh_sh4_register_name)
(sh_sh4_nofpu_register_name, sh_sh4al_dsp_register_name): Add gdbarch
parameter.
(fv_reg_base_num, dr_reg_base_num, sh_justify_value_in_reg)
(sh_next_flt_argreg): Add gdbarch parameter and update caller. Replace
current_gdbarch by gdbarch.
(sh_extract_return_value_fpu, sh_store_return_value_fpu): Use
get_regcache_arch to get at the current architecture by regcache.
* sparc-tdep.c (sparc32_register_name): Add gdbarch parameter.
* sparc64-tdep.c (sparc64_register_name): Add gdbarch parameter.
* v850-tdep.c (v850_register_name, v850e_register_name): Add gdbarch
parameter.
(v850_unwind_sp, v850_unwind_pc): Replace current_gdbarch by gdbarch.
* xtensa-tdep.c (xtensa_register_name): Add gdbarch parameter. Replace
current_gdbarch by gdbarch.
(xtensa_pseudo_register_read, xtensa_pseudo_register_write)
(xtensa_frame_prev_register): Add gdbarch parameter to
xtensa_register_name call.
2007-11-02 14:27:15 +00:00
Ulrich Weigand
203c3895a5
* gdbarch.sh (sofun_address_maybe_missing): New gdbarch variable.
...
* gdbarch.c, gdbarch.h: Regenerate.
* dbxread.c (find_stab_function_addr): Define unconditionally.
(read_dbx_symtab): Use gdbarch_sofun_address_maybe_missing
instead of SOFUN_ADDRESS_MAYBE_MISSING.
(end_psymtab): Likewise.
(process_one_symbol): Likewise.
* mdebugread.c (parse_partial_symbols): Likewise.
* symtab.h (struct minimal_symbol): Always define "filename" member.
* elfread.c (elf_symtab_read): Use msym->filename unconditionally.
* minsyms.c (lookup_minimal_symbol): Likewise.
* symmisc.c (dump_msymbols): Likewise.
* config/i386/i386sol2.mt (DEPRECATED_TM_FILE): Remove.
* config/i386/linux.mt (DEPRECATED_TM_FILE): Remove.
* config/i386/tm-i386sol2.h: Remove file.
* config/i386/tm-linux.h: Remove file.
* i386-linux-tdep.c (i386_linux_init_abi): Add call to
set_gdbarch_sofun_address_maybe_missing.
* i386-sol2-tdep.c (i386_sol2_init_abi): Likewise.
* config/powerpc/linux.mt (DEPRECATED_TM_FILE): Remove.
* config/powerpc/nbsd.mt (DEPRECATED_TM_FILE): Remove.
* config/powerpc/obsd.mt (DEPRECATED_TM_FILE): Remove.
* config/powerpc/ppc-eabi.mt (DEPRECATED_TM_FILE): Remove.
* config/powerpc/ppc-sim.mt (DEPRECATED_TM_FILE): Remove.
* config/powerpc/tm-ppc-eabi.h: Remove file.
* rs6000-tdep.c (rs6000_gdbarch_init): Add call to
set_gdbarch_sofun_address_maybe_missing.
* config/sparc/sol2-64.mt (DEPRECATED_TM_FILE): Remove.
* config/sparc/sol2.mt (DEPRECATED_TM_FILE): Remove.
* config/sparc/tm-sol2.h: Remove file.
* sparc64-sol2-tdep.c (sparc64_sol2_init_abi): Add call to
set_gdbarch_sofun_address_maybe_missing.
* sparc-sol2-tdep.c (sparc32_sol2_init_abi): Likewise.
doc/ChangeLog:
* gdbarch.texi (Target Conditionals): Remove documentation of
SOFUN_ADDRESS_MAYBE_MISSING, replaced by ...
(Compiler Characteristics): ... documentation of
set_gdbarch_sofun_address_maybe_missing.
2007-10-19 12:26:35 +00:00
Ulrich Weigand
149ad273c5
* gdbarch.sh (static_transform_name): New gdbarch callback.
...
* gdbarch.c, gdbarch.h: Regenerate.
* dbxread.c (read_dbx_symtab): Use gdbarch_static_transform_name
instead of STATIC_TRANSFORM_NAME.
* mdebugread.c (parse_partial_symbols): Likewise.
* stabsread.c (define_symbol): Likewise.
* xcoffread.c (scan_xcoff_symtab): Likewise.
* config/i368/tm-i386sol2.h (STATIC_TRANSFORM_NAME): Remove.
(IS_STATIC_TRANSFORM_NAME): Remove.
* i386-tdep.c (sunpro_static_transform_name): Remove, move to ...
* i386-sol2-tdep.c (i386_sol2_static_transform_name): ... here.
(i386_sol2_init_abi): Install it.
* config/sparc/tm-sol2.h (STATIC_TRANSFORM_NAME): Remove.
(IS_STATIC_TRANSFORM_NAME): Remove.
* sparc-tdep.c (sparc_stabs_unglobalize_name): Remove, move to ...
* sparc-sol2-tdep.c (sparc_sol2_static_transform_name): ... here.
(sparc32_sol2_init_abi): Install it.
* sparc64-sol2-tdep.c (sparc64_sol2_init_abi): Likewise.
* sparc-tdep.h (sparc_sol2_static_transform_name): Add prototype.
2007-10-19 12:23:21 +00:00
Ulrich Weigand
c187492465
* gdbarch.sh (deprecated_use_struct_convention): Remove.
...
(extract_return_value, store_return_value): Remove.
(return_value): Remove default implementation.
* gdbarch.c, gdbarch.h: Regenerate.
* stack.c (return_command): Remove compatibility hack.
* arch-utils.c (legacy_return_value): Remove.
* arch-utils.h (legacy_return_value): Likewise.
* arch-utils.c (always_use_struct_convention): Remove.
* arch-utils.h (always_use_struct_convention): Likewise.
* value.c (generic_use_struct_convention): Remove.
* defs.h (generic_use_struct_convention): Likewise.
doc/ChangeLog:
* gdbint.texi (Target Conditionals): Remove documentation
of and references to DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS,
gdbarch_extract_return_value, and gdbarch_store_return_value.
2007-10-13 00:06:54 +00:00
Ulrich Weigand
82585c7265
* block.h (struct block): Remove "gcc_compile_flag" member.
...
(BLOCK_GCC_COMPILED): Remove.
* block.c (allocate_block): Do not clear BLOCK_GCC_COMPILED.
* buildsym.c (finish_block): Do not set it.
* symmisc.c (dump_symtab_1): Do not dump it.
* value.h (using_struct_return): Remove "gcc_p" argument.
* value.c (using_struct_return): Likewise.
* eval.c (evaluate_subexp_standard): Adapt callers.
* infcall.c (call_function_by_hand): Likewise.
* stack.c (return_command): Likewise.
* sparc-tdep.c (sparc32_push_dummy_code): Likewise.
* gdbarch.sh (push_dummy_code): Remove "using_gcc" parameter.
* gdbarch.c, gdbarch.h: Regenerate.
* cris-tdep.c (cris_push_dummy_code): Adapt prototype.
* hppa-hpux-tdep.c (hppa_hpux_push_dummy_code): Likewise.
* sparc-tdep.c (sparc32_push_dummy_code): Likewise.
* infcall.c (generic_push_dummy_code, push_dummy_code): Likewise.
(push_dummy_code, call_function_by_hand): Adapt callers.
2007-10-12 15:34:45 +00:00
Ulrich Weigand
f6e56ab396
* cris-tdep.c (cris_push_dummy_call): Support arguments passed by
...
reference. Fix endianness bugs.
(cris_reg_struct_has_address): Remove.
(cris_gdbarch_init): Remove set_gdbarch_deprecated_reg_struct_has_addr
and set_gdbarch_deprecated_use_struct_convention calls.
* gdbarch.sh (deprecated_reg_struct_has_addr): Remove.
* gdbarch.c, gdbarch.h: Regenerate.
* infcall.c (call_function_by_hand): Remove handling of
deprecated_reg_struct_has_addr.
doc/ChangeLog:
* gdbint.texi (Target Conditionals): Remove documentation of
and references to DEPRECATED_REG_STRUCT_HAS_ADDR.
2007-10-12 15:30:05 +00:00
Daniel Jacobowitz
4eb0ad19f3
* arch-utils.c (gdbarch_info_fill): Also try core_bfd.
...
* corelow.c (core_read_description): New.
(init_core_ops): Set to_read_description.
* gdbarch.sh: Add gdbarch_core_read_description.
* mips-linux-tdep.c (mips_linux_core_read_description): New.
(mips_linux_init_abi): Call set_gdbarch_core_read_description.
* mips-tdep.c (mips_tdesc_gp32, mips_tdesc_gp64): New.
(mips_register_g_packet_guesses): Use them.
(_initialize_mips_tdep): Initialize them.
* mips-tdep.h (mips_tdesc_gp32, mips_tdesc_gp64): Declare.
* gdbarch.h, gdbarch.c: Regenerated.
2007-09-10 21:14:11 +00:00
Pedro Alves
de58486143
* gdbarch.sh (core_xfer_shared_libraries): New.
...
* corelow.c (core_xfer_partial): Handle TARGET_OBJECT_LIBRARIES.
* gdb_obstack.h (obstack_grow_str, obstack_grow_str0): New.
* xml-support.c (gdb_xml_parse): Debug output tweaks.
(xml_escape_text): New.
* xml-support.h (xml_escape_text): Declare.
* config/i386/cygwin.mh (NATDEPFILES): Move corelow.o to ...
* config/i386/cygwin.mt (TDEPFILES): ... here.
* win32-nat.c: (fetch_elf_core_registers): Delete.
(win32_elf_core_fn): Delete.
(_initialize_core_win32): Delete.
* i386-cygwin-tdep.c: Include "regset.h", "gdb_objstack.h",
"xml-support.h" and "gdbcore.h".
(i386_win32_gregset_reg_offset): New.
(I386_WIN32_SIZEOF_GREGSET): New.
(i386_win32_regset_from_core_section): New.
(win32_xfer_shared_library): New.
(struct cpms_data): New.
(core_process_module_section): New.
(win32_core_xfer_shared_libraries): New.
(i386_cygwin_skip_trampoline_code): Register gregset_reg_offset,
gregset_num_regs, sizeof_gregset members of tdep. Register
regset_from_core_section and core_xfer_shared_libraries callbacks.
* Makefile.in (i386-cygwin-tdep.o): Update dependencies.
* gdbarch.h, gdbarch.c: Regenerate.
2007-09-03 23:06:35 +00:00
Joel Brobecker
a9762ec78a
Switch the license of all .c files to GPLv3.
...
Switch the license of all .h files to GPLv3.
Switch the license of all .cc files to GPLv3.
2007-08-23 18:08:50 +00:00
Ulrich Weigand
1c0fdd0e37
* infrun.c (adjust_pc_after_break): Do not assume software single-step
...
is always active if SOFTWARE_SINGLE_STEP_P is true.
(resume): Use gdbarch_software_single_step[_p] instead of
SOFTWARE_SINGLE_STEP[_P].
(handle_inferior_event): Do not check for SOFTWARE_SINGLE_STEP_P.
* gdbarch.sh (software_single_step): Remove target macro.
* gdbarch.h, gdbarch.c: Regenerate.
2007-06-22 12:47:48 +00:00
Ulrich Weigand
e487cc15a4
* gdbarch.sh (gdbarch_swap_ftype, deprecated_register_gdbarch_swap,
...
DEPRECATED_REGISTER_GDBARCH_SWAP): Remove.
(struct gdbarch_swap, struct gdbarch_swap_registration,
struct gdbarch_swap_registry, gdbarch_swap_registry,
current_gdbarch_swap_init_hack, current_gdbarch_swap_out_hack,
current_gdbarch_swap_in_hack): Remove.
(find_arch_by_info): Do not call current_gdbarch_swap_init_hack.
(gdbarch_find_by_info): Do not call current_gdbarch_swap_in_hack
and current_gdbarch_swap_out_hack, update current_gdbarch directly.
(deprecated_current_gdbarch_select_hack): Likewise.
* gdbarch.h, gdbarch.c: Regenerate.
2007-06-22 12:45:38 +00:00
Ulrich Weigand
7f5c84d395
2007-06-19 Markus Deuling <deuling@de.ibm.com>
...
* gdbarch.sh (TARGET_PRINT_INSN): Replace by gdbarch_print_insn.
* disasm.c (dump_insns, gdb_print_insn): Likewise.
* gdbarch.c, gdbarch.h: Regenerate.
2007-06-19 17:30:37 +00:00
Ulrich Weigand
f73e88f92f
* gdbarch.sh (BELIEVE_PCC_PROMOTION): Replace by
...
gdbarch_believe_pcc_promotion.
* stabsread.c (define_symbol): Likewise.
Remove unnecessary definition.
* coffread.c (process_coff_symbol): Remove unnecessary code.
* gdbarch.c, gdbarch.h: Regenerate.
2007-06-19 17:21:51 +00:00
Ulrich Weigand
f0c9063c42
* gdbarch.sh (deprecated_register_size): Remove.
...
* gdbarch.h, gdbarch.c: Regenerate.
* arm-tdep.c (arm_push_dummy_call): Replace DEPRECATED_REGISTER_SIZE
by INT_REGISTER_SIZE.
(thumb_get_next_pc, arm_return_in_memory): Likewise.
(arm_gdbarch_init): Do not call set_gdbarch_deprecated_register_size.
* ia64-tdep.c (ia64_gdbarch_init): Do not call
set_gdbarch_deprecated_register_size.
2007-06-18 18:58:13 +00:00
Ulrich Weigand
064f515651
2007-06-18 Markus Deuling <deuling@de.ibm.com>
...
* gdbarch.sh (DEPRECATED_FP_REGNUM): Replace by
gdbarch_deprecated_fp_regnum.
* std-regs.c (value_of_builtin_frame_fp_reg): Likewise.
* remote-mips.c (mips_wait, mips_fetch_registers): Likewise.
* arch-utils.c (legacy_virtual_frame_pointer): Likewise.
* arch-utils.h (gdbarch_virtual_frame_pointer_ftype): Likewise
(comment).
* gdbarch.c, gdbarch.h: Regenerate.
2007-06-18 18:37:12 +00:00
Ulrich Weigand
82d1552e97
2007-06-18 Markus Deuling <deuling@de.ibm.com>
...
* gdbarch.sh (EXTRACT_RETURN_VALUE): Replace with
gdbarch_extract_return_value.
* value.c (generic_use_struct_convention): Likewise (comment).
* ia64-tdep.c (ia64_use_struct_convention): Likewise (comment).
* arch-utils.c (legacy_return_value): Likewise.
* arch-utils.h (legacy_return_value): Likewise (comment).
* gdbarch.sh (STORE_RETURN_VALUE): Replace by
gdbarch_store_return_value.
* stack.c (return_command): Likewise (comment).
* arch-utils.h (legacy_return_value): Likewise (comment).
* arch-utils.c (legacy_return_value): Likewise.
* gdbarch.c, gdbarch.h: Regenerate.
2007-06-18 18:28:29 +00:00