aboutsummaryrefslogtreecommitdiff
path: root/gdb/i386-tdep.c
AgeCommit message (Collapse)AuthorFilesLines
2005-07-18 Jason Molenda <jmolenda@apple.com>Mark Kettenis1-4/+6
* i386-tdep.c (i386_match_insn): Match complete instruction pattern.
2005-07-18* i386-tdep.c (i386_reg_struct_return_p): Handle structures with aMark Kettenis1-5/+15
single 'long double' member correctly. (i386_return_value): Tweak comment.
2005-06-24 * i386-tdep.c (struct i386_frame_cache): Define sp_offset as LONGEST.Corinna Vinschen1-1/+1
2005-06-11* i386-tdep.c (i386_register_type): ReturnMark Kettenis1-3/+5
builtin_type_void_func_ptr for %eip and builtin_type_void_data_ptr for %ebp and %esp.
2005-05-28 * dwarf2-frame.c (dwarf2_frame_prev_register): Use gdb_byte.Daniel Jacobowitz1-2/+2
* i386-linux-nat.c (fetch_register, store_register, supply_gregset) (fill_gregset): Likewise. * i386-tdep.c (i386_frame_prev_register) (i386_sigtramp_frame_prev_register): Likewise. * linux-nat.c (linux_nat_xfer_memory, linux_nat_make_corefile_notes): Likewise. * linux-thread-db.c (thread_db_xfer_memory): Likewise. * remote.c (remote_insert_hw_breakpoint, remote_remove_hw_breakpoint): Likewise. * target.c (debug_to_insert_hw_breakpoint) (debug_to_remove_hw_breakpoint, update_current_target): Likewise.
2005-05-14* i386-tdep.c (i386_supply_gregset, i386_collect_gregset): UseMark Kettenis1-2/+2
gdb_byte instead of bfd_byte.
2005-05-14* amd64-tdep.c (amd64_return_value): Change type of readbuf andMark Kettenis1-12/+10
writebuf arguments to `gdb_byte *'. Remove now redundant casts. * i386-tdep.c (i386_return_value): Change type of readbuf and writebuf arguments to `gdb_byte *'. (i386_pseudo_register_read, i386_pseudo_register_write): Change type of last argument to `gdb_byte *'. (i386_register_to_value, i386_value_to_register): Change type of last argument to `gdb_byte *'. Simplify function a bit. * i387-tdep.h (i387_value_to_register, i387_register_to_value): Change type of last argument to `gdb_byte *'. * i387-tdep.c: Likewise.
2005-05-08* i386-tdep.c (i386_breakpoint_from_pc): Change return type toMark Kettenis1-37/+37
`const gdb_byte *'. Use gdb_byte for break_insn. (i386_follow_jump): Use gdb_byte for op. (i386_analyze_struct_return): Use gdb_byte for proto1, proto2, buf and op. (i386_skip_probe): Use gdb_byte for buf and op. (struct i386_insn): Use gdb_byte for insn and mask. (i386_match_insn, i386_analyze_frame_setup) (i386_analyze_register_saves): Use gdb_byte for op. (i386_skip_prologue): Use gdb_byte for pic_pat and op; (i386_unwind_pc, i386_frame_cache, i386_sigtramp_frame_cache) (i386_unwind_dummy_id, i386_get_longjmp_target): Use gdb_byte for buf. (i386_extract_return_value, i386_store_return_value): Use `bfd_byte *' instead of `void *' for valbuf argument. Remove now redundant cast. (i386_pseudo_register_read, i386_pseudo_register_write): Use gdb_byte for mmx_buf. (i386_register_to_value, i386_value_to_register): Use `gdb_byte *' instead of `char *' for buf. (i386_supply_gregset, i386_collect_gregset): Use `gdb_byte *' instead of `char *' for regs. (i386_svr4_sigcontext_addr): Use gdb_byte for buf. * i386obsd-tdep.c (i386obsd_sigtramp_p): Use gdb_byte for sigreturn and `gdb_byte *' for buf. (i386obsd_aout_supply_regset): Use `const gdb_byte *' in cast. (i386obsd_supply_uthread, i386obsd_collect_uthread): Use gdb_byte for buf. * i386bsd-tdep.c (i386bsd_sigcontext_addr): Use gdb_byte for buf.
2005-04-06Move construction of IA-32 vector types to i386-tdep.c.Jim Blandy1-2/+66
* gdbtypes.c (build_builtin_type_vec64i, build_builtin_type_vec128i): Delete functions. (builtin_type_vec64i, builtin_type_vec128i): Delete variables. (build_gdbtypes): Don't initialize them. (_initialize_gdbtypes): Don't register GDBARCH swap entries for them. * gdbtypes.h (builtin_type_vec64i, builtin_type_vec128i): Delete declarations. (builtin_type_v2_float, builtin_type_v2_int32, builtin_type_v4_int16, builtin_type_v8_int8, builtin_type_v2_double, builtin_type_v4_float, builtin_type_v2_int64, builtin_type_v4_int32, builtin_type_v8_int16, builtin_type_v16_int8): Add extern declarations. * i386-tdep.c (i386_mmx_type, i386_sse_type): New variables. (i386_build_mmx_type, i386_build_sse_type): New functions. (i386_register_type): Call them, rather than referring to builtin_type_vec64i and builtin_type_vec128i.
2005-02-212005-02-20 Andrew Cagney <cagney@gnu.org>Andrew Cagney1-23/+17
Use add_setshow_enum_cmd through out. * arch-utils.c, charset.c, demangle.c, i386-tdep.c: Update. * infrun.c, mips-tdep.c, osabi.c, serial.c, tui/tui-win.c: Update.
2005-02-112005-02-11 Andrew Cagney <cagney@gnu.org>Andrew Cagney1-2/+2
Mark up error_no_arg, query, perror_with_name, complaint, and internal_error. * breakpoint.c, cp-abi.c, cp-namespace.c, cp-support.c: Update. * cris-tdep.c, dbxread.c, dictionary.c, dsrec.c: Update. * dummy-frame.c, dve3900-rom.c, dwarf2-frame.c, dwarf2expr.c: Update. * dwarf2read.c, dwarfread.c, elfread.c, event-loop.c: Update. * exceptions.c, exec.c, f-lang.c, findvar.c, fork-child.c: Update. * frame-unwind.c, frame.c, frv-linux-tdep.c, frv-tdep.c: Update. * gdb_assert.h, gdbarch.c, gdbtypes.c, gnu-nat.c: Update. * go32-nat.c, hppa-tdep.c, hppabsd-nat.c, hpread.c: Update. * i386-linux-nat.c, i386-nat.c, i386-tdep.c, i386bsd-nat.c: Update. * i386fbsd-nat.c, inf-ptrace.c, inf-ttrace.c, infcall.c: Update. * infcmd.c, inflow.c, infptrace.c, infrun.c, inftarg.c: Update. * interps.c, language.c, linespec.c, linux-nat.c: Update. * m32r-linux-nat.c, m68k-tdep.c, m68kbsd-nat.c: Update. * m68klinux-nat.c, m88kbsd-nat.c, macroexp.c, macroscope.c: Update. * macrotab.c, maint.c, mdebugread.c, memattr.c: Update. * mips-linux-tdep.c, mips-tdep.c, mips64obsd-nat.c: Update. * mipsnbsd-nat.c, mn10300-tdep.c, monitor.c, nto-procfs.c: Update. * objc-lang.c, objfiles.c, objfiles.h, ocd.c, osabi.c: Update. * parse.c, ppc-bdm.c, ppc-linux-nat.c, ppc-sysv-tdep.c: Update. * ppcnbsd-nat.c, ppcobsd-nat.c, printcmd.c, procfs.c: Update. * regcache.c, reggroups.c, remote-e7000.c, remote-mips.c: Update. * remote-rdp.c, remote-sds.c, remote-sim.c, remote-st.c: Update. * remote-utils.c, remote.c, rs6000-nat.c, rs6000-tdep.c: Update. * s390-nat.c, s390-tdep.c, sentinel-frame.c, serial.c: Update. * sh-tdep.c, sh3-rom.c, sh64-tdep.c, shnbsd-nat.c: Update. * solib-aix5.c, solib-svr4.c, solib.c, source.c: Update. * sparc-nat.c, stabsread.c, stack.c, symfile.c, symtab.c: Update. * symtab.h, target.c, tracepoint.c, ui-file.c, ui-out.c: Update. * utils.c, valops.c, valprint.c, vax-nat.c, vaxbsd-nat.c: Update. * win32-nat.c, xcoffread.c, xstormy16-tdep.c: Update. * cli/cli-cmds.c, cli/cli-logging.c, cli/cli-script.c: Update. * cli/cli-setshow.c, mi/mi-cmd-break.c, mi/mi-cmds.c: Update. * mi/mi-console.c, mi/mi-getopt.c, mi/mi-out.c: Update. * tui/tui-file.c, tui/tui-interp.c: Update.
2005-02-112005-02-10 Andrew Cagney <cagney@gnu.org>Andrew Cagney1-2/+2
Mark up all error and warning messages. * ada-lang.c, amd64-tdep.c, arch-utils.c, breakpoint.c: Update. * bsd-kvm.c, bsd-uthread.c, coff-solib.h, coffread.c: Update. * core-aout.c, core-regset.c, corefile.c, corelow.c: Update. * cp-abi.c, cp-support.c, cp-valprint.c, cris-tdep.c: Update. * dbxread.c, demangle.c, doublest.c, dsrec.c: Update. * dve3900-rom.c, dwarf2expr.c, dwarf2loc.c: Update. * dwarf2read.c, dwarfread.c, elfread.c, eval.c: Update. * event-top.c, exec.c, expprint.c, f-lang.c: Update. * f-typeprint.c, f-valprint.c, fbsd-nat.c, findvar.c: Update. * frame.c, frv-linux-tdep.c, gcore.c, gdbtypes.c: Update. * gnu-nat.c, gnu-v2-abi.c, gnu-v3-abi.c, go32-nat.c: Update. * hpacc-abi.c, hppa-hpux-nat.c, hppa-hpux-tdep.c: Update. * hppa-linux-nat.c, hppa-linux-tdep.c, hppa-tdep.c: Update. * hpread.c, hpux-thread.c, i386-linux-nat.c: Update. * i386-linux-tdep.c, i386-tdep.c, i386bsd-nat.c: Update. * i386gnu-nat.c, i387-tdep.c, ia64-linux-nat.c: Update. * ia64-tdep.c, inf-child.c, inf-ptrace.c, inf-ttrace.c: Update. * infcall.c, infcmd.c, inflow.c, infptrace.c, infrun.c: Update. * inftarg.c, interps.c, irix5-nat.c, jv-lang.c: Update. * kod-cisco.c, kod.c, language.c, libunwind-frame.c: Update. * linespec.c, linux-nat.c, linux-thread-db.c, m2-lang.c: Update. * m32r-rom.c, m68hc11-tdep.c, m68k-tdep.c: Update. * m68klinux-nat.c, macrocmd.c, macroexp.c, main.c: Update. * maint.c, mdebugread.c, mem-break.c, memattr.c: Update. * mips-linux-tdep.c, mips-tdep.c, mipsread.c, monitor.c: Update. * nlmread.c, nto-procfs.c, objc-lang.c, objfiles.c: Update. * observer.c, ocd.c, p-lang.c, p-typeprint.c: Update. * p-valprint.c, pa64solib.c, parse.c, ppc-linux-tdep.c: Update. * ppcnbsd-tdep.c, printcmd.c, procfs.c, remote-e7000.c: Update. * remote-fileio.c, remote-m32r-sdi.c, remote-rdi.c: Update. * remote-rdp.c, remote-sim.c, remote-st.c: Update. * remote-utils.c, remote-utils.h, remote.c: Update. * rom68k-rom.c, rs6000-nat.c, s390-tdep.c, scm-lang.c: Update. * ser-e7kpc.c, ser-tcp.c, ser-unix.c, sh-tdep.c: Update. * sh3-rom.c, shnbsd-tdep.c, sol-thread.c, solib-aix5.c: Update. * solib-frv.c, solib-irix.c, solib-osf.c, solib-pa64.c: Update. * solib-som.c, solib-sunos.c, solib-svr4.c, solib.c: Update. * somread.c, somsolib.c, source.c, stabsread.c: Update. * stack.c, std-regs.c, symfile-mem.c, symfile.c: Update. * symmisc.c, symtab.c, target.c, thread.c, top.c: Update. * tracepoint.c, trad-frame.c, typeprint.c, utils.c: Update. * uw-thread.c, valarith.c, valops.c, valprint.c: Update. * value.c, varobj.c, version.in, win32-nat.c, wince.c: Update. * xcoffread.c, xcoffsolib.c, cli/cli-cmds.c: Update. * cli/cli-decode.c, cli/cli-dump.c, cli/cli-logging.c: Update. * cli/cli-script.c, cli/cli-setshow.c, mi/mi-cmd-break.c: Update. * mi/mi-cmd-disas.c, mi/mi-cmd-env.c, mi/mi-cmd-file.c: Update. * mi/mi-cmd-stack.c, mi/mi-cmd-var.c, mi/mi-getopt.c: Update. * mi/mi-symbol-cmds.c, tui/tui-layout.c, tui/tui-stack.c: Update. * tui/tui-win.c: Update.
2005-02-022005-02-02 Andrew Cagney <cagney@gnu.org>Andrew Cagney1-1/+1
* value.h (VALUE_CONTENTS_ALL): Delete. (value_contents_all): Declare. * value.c (value_contents_all): New function. * hpacc-abi.c, cp-valprint.c, valops.c, c-valprint.c: Update. * m68k-tdep.c, i386-tdep.c, infcall.c, valops.c: Update.
2005-02-022005-02-02 Andrew Cagney <cagney@gnu.org>Andrew Cagney1-2/+2
* value.c (value_enclosing_type): New function. * value.h (VALUE_ENCLOSING_TYPE): Delete. (value_enclosing_type): Declare. * xstormy16-tdep.c, vax-tdep.c, m68k-tdep.c, i386-tdep.c: Update. * gnu-v3-abi.c, hpacc-abi.c, infcall.c, valops.c: Update.
2004-10-312004-10-31 Andrew Cagney <cagney@gnu.org>Andrew Cagney1-1/+0
* sparc-sol2-tdep.c (sparc32_sol2_init_abi): Do not set in_solib_call_trampoline to in_plt_entry, IN_SOLIB_CALL_TRAMPOLINE isn't used by this architecture. * sparc64-sol2-tdep.c (sparc64_sol2_init_abi): Ditto. * sparc64obsd-tdep.c (sparc64obsd_init_abi): Ditto. * sparc64nbsd-tdep.c (sparc64nbsd_init_abi): Ditto. * s390-tdep.c (s390_gdbarch_init): Ditto. * ppc-linux-tdep.c (ppc_linux_init_abi): Ditto. * m68klinux-tdep.c (m68k_linux_init_abi): Ditto. * i386-tdep.c (i386_svr4_init_abi): Ditto. * i386-nto-tdep.c (i386nto_init_abi): Ditto. * arm-linux-tdep.c (arm_linux_init_abi): Ditto. * amd64-tdep.c (amd64_init_abi): Ditto.
2004-10-292004-10-27 Andrew Cagney <cagney@gnu.org>Andrew Cagney1-4/+12
* trad-frame.c (trad_frame_get_prev_register): Use frame_unwind_register instead of frame_register_unwind, do not recurse the register's location. * xstormy16-tdep.c (xstormy16_frame_prev_register): * sparc-tdep.c (sparc32_frame_prev_register): Ditto. * sparc64-tdep.c (sparc64_frame_prev_register): Ditto. * sh-tdep.c (sh_frame_prev_register): Ditto. * m68k-tdep.c (m68k_frame_prev_register): Ditto. * i386-tdep.c (i386_frame_prev_register): Ditto. * dwarf2-frame.c (dwarf2_frame_prev_register): Ditto. * amd64-tdep.c (amd64_frame_prev_register): Ditto.
2004-09-18* i386-tdep.c (i386_register_name): Rename regno to regnum.Mark Kettenis1-6/+6
2004-08-01* i386-tdep.c (I386_MAX_INSN_LEN): New define.Mark Kettenis1-84/+147
(struct i386_insn): New structure. (i386_match_insn): New function. (i386_frame_setup_skip_insns): New variable. (i386_analyze_frame_setup): Change to use i386_match_insn and the array i386_frame_setup_insns of instructions that should be skipped inside the frame setup sequence.
2004-07-262004-07-26 Andrew Cagney <cagney@gnu.org>Andrew Cagney1-2/+2
* cli/cli-decode.c (deprecated_add_show_from_set): Deprecate. * xcoffsolib.c (_initialize_xcoffsolib): Update. * wince.c (_initialize_wince): Update. * win32-nat.c (_initialize_win32_nat): Update. * varobj.c (_initialize_varobj): Update. * valops.c (_initialize_valops): Update. * utils.c (initialize_utils, initialize_utils): Update. * tui/tui-win.c (_initialize_tui_win): Update. * top.c (init_main): Update. * symfile.c (_initialize_symfile): Update. * source.c (_initialize_source): Update. * somsolib.c (_initialize_som_solib): Update. * solib.c (_initialize_solib): Update. * solib-frv.c (_initialize_frv_solib): Update. * serial.c (_initialize_serial): Update. * ser-go32.c (_initialize_ser_dos, _initialize_ser_dos): Update. * remote.c (_initialize_remote, _initialize_remote): Update. * remote-vx.c (_initialize_vx): Update. * remote-utils.c (_initialize_sr_support): Update. * remote-sds.c (_initialize_remote_sds): Update. * remote-mips.c (_initialize_remote_mips): Update. * remote-e7000.c (_initialize_remote_e7000): Update. * proc-api.c (_initialize_proc_api): Update. * printcmd.c: Update. * parse.c (_initialize_parse): Update. * pa64solib.c (_initialize_pa64_solib): Update. * p-valprint.c (_initialize_pascal_valprint): Update. * monitor.c (_initialize_remote_monitors): Update. * mips-tdep.c (_initialize_mips_tdep): Update. * mcore-tdep.c (_initialize_mcore_tdep): Update. * maint.c (_initialize_maint_cmds): Update. * lin-lwp.c (_initialize_lin_lwp): Update. * language.c (_initialize_language): Update. * kod.c (_initialize_kod): Update. * infrun.c (set_schedlock_func, _initialize_infrun): Update. * i386-tdep.c (_initialize_i386_tdep): Update. * gdbtypes.c (build_gdbtypes, _initialize_gdbtypes): Update. * gdbarch.sh: Update. * gdbarch.c: Re-generate. * gdb-events.sh: Update. * gdb-events.c: Re-generate. * frame.c (_initialize_frame): Update. * exec.c: Update. * demangle.c (_initialize_demangler): Update. * dcache.c (_initialize_dcache): Update. * cris-tdep.c (_initialize_cris_tdep, cris_version_update): Update. * cp-valprint.c (_initialize_cp_valprint): Update. * corefile.c (_initialize_core): Update. * command.h: Update. * cli/cli-decode.h: Update. * cli/cli-cmds.c (init_cli_cmds): Update. * charset.c (_initialize_charset): Update. * breakpoint.c (_initialize_breakpoint): Update. * arm-tdep.c (_initialize_arm_tdep_initialize_arm_tdep): Update. * alpha-tdep.c (_initialize_alpha_tdep): Update. * aix-thread.c (_initialize_aix_thread): Update.
2004-07-24Partial fix for PR backtrace/1718.Mark Kettenis1-17/+39
* i386-tdep.c (i386_analyze_frame_setup): Handle more instructions that GCC migrates into the prolugue. Don't handle any instructions that clobber %ebx.
2004-06-18* i386-tdep.c (i386_collect_fpregset): Fix comment.Mark Kettenis1-3/+4
2004-06-072004-06-06 Randolph Chung <tausq@debian.org>Randolph Chung1-1/+1
* gdbarch.sh (PUSH_DUMMY_CALL): Change CORE_ADDR func_addr argument to struct value *function. * gdbarch.c: Regenerate. * gdbarch.h: Likewise. * infcall.c (call_function_by_hand): Pass entire function value to push_dummy_call. * Makefile.in (alpha-tdep.o, frv-tdep.o, ia64-tdep.o, mips-tdep.o) (ppc-sysv-tdep.o, rs6000-tdep.o): Update dependencies. * alpha-tdep.c (alpha_push_dummy_call): Update call signature. * amd64-tdep.c (amd64_push_dummy_call): Likewise. * arm-tdep.c (arm_push_dummy_call): Likewise. * avr-tdep.c (avr_push_dummy_call): Likewise. * cris-tdep.c (cris_push_dummy_call): Likewise. * d10v-tdep.c (d10v_push_dummy_call): Likewise. * frv-tdep.c (frv_push_dummy_call): Likewise. * h8300-tdep.c (h8300_push_dummy_call): Likewise. * hppa-tdep.c (hppa32_push_dummy_call) (hppa64_push_dummy_call): Likewise. * i386-tdep.c (i386_push_dummy_call): Likewise. * ia64-tdep.c (ia64_push_dummy_call): Likewise. * m32r-tdep.c (m32r_push_dummy_call): Likewise. * m68hc11-tdep.c (m68hc11_push_dummy_call): Likewise. * m68k-tdep.c (m68k_push_dummy_call): Likewise. * m88k-tdep.c (m88k_push_dummy_call): Likewise. * mips-tdep.c (mips_eabi_push_dummy_call, mips_n32n64_push_dummy_call) (mips_o32_push_dummy_call, mips_o64_push_dummy_call): Likewise. * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call) (ppc64_sysv_abi_push_dummy_call): Likewise. * ppc-tdep.h (ppc_sysv_abi_push_dummy_call) (ppc64_sysv_abi_push_dummy_call): Likewise. * rs6000-tdep.c (rs6000_push_dummy_call): Likewise. * s390-tdep.c (s390_push_dummy_call): Likewise. * sh-tdep.c (sh_push_dummy_call_fpu) (sh_push_dummy_call_nofpu): Likewise. * sparc-tdep.c (sparc32_push_dummy_call): Likewise. * sparc64-tdep.c (sparc64_push_dummy_call): Likewise. * vax-tdep.c (vax_push_dummy_call): Likewise.
2004-05-30* i386-tdep.c (i386_supply_gregset): Adjust comment.Mark Kettenis1-8/+55
(i386_collect_gregset): New function. (i386_supply_fpregset): Adjust comment. (i386_collect_fpregset): New function. (i386_regset_from_core_section): Use i386_collect_gregset and i386_collect_fpregset.
2004-05-22* regset.c: Tweak comment.Mark Kettenis1-6/+4
(regset_alloc): Remove descr argument. Use GDBARCH_OBSTACK_ZALLOC macro. * regset.h: Update copyright year. (struct regset): Remove `descr' member, add `gdbarch' member. (regset_alloc): Adjust prototype and comment. * i386-tdep.c (i386_supply_gregset): Get TDEP from REGSET->arch. (i386_supply_fpregset): Likewise. (i386_regset_from_core_section): Update call to regset_alloc. * i386obsd-tdep.c (i386obsd_aout_supply_regset): Get TDEP from REGSET->arch. (i386obsd_aout_regset_from_core_section): Update call to regset_alloc. * i386nbsd-tdep.c (i386nbsd_aout_supply_regset): Get TDEP from REGSET->arch. (i386nbsd_aout_regset_from_core_section): Update call to regset_alloc. * amd64-tdep.c (amd64_supply_fpregset): Get TDEP from REGSET->arch. (amd64_regset_from_core_section): Update call to regset_alloc. * amd64obsd-tdep.c (amd64obsd_supply_regset): Get TDEP from REGSET->arch. (amd64obsd_regset_from_core_section): Update call to regset_alloc. * sparcnbsd-tdep.c (sparc32nbsd_supply_gregset): Directly pass &sparc32nbsd_gregset in sparc32_supply_gregset call. (sparc32nbsd_init_abi): Update call to regset_alloc. * sparc64obsd-tdep.c (sparc64obsd_supply_gregset): Directly pass &sparc64obsd_core_gregset in sparc64_supply_gregset call. (sparc64obsd_init_abi): Update call to regset_alloc. * sparc64nbsd-tdep.c (sparc64nbsd_supply_gregset): Directly pass &sparc64nbsd_gregset in sparc64_supply_gregset call. (sparc64nbsd_init_abi): Update call to regset_alloc. * sparc64fbsd-tdep.c (sparc64fbsd_supply_gregset): Directly pass &sparc64fbsd_gregset in sparc64_supply_gregset call. (sparc64fbsd_init_abi): Update call to regset_alloc.
2004-05-21Allocate regset structures in the gdbarch's obstack, not usingJim Blandy1-2/+4
xmalloc. * regset.c (regset_alloc): Renamed from regset_xmalloc. Add 'arch' argument. Allocate the regset on arch's obstack, not using xmalloc. * regset.h (regset_alloc): Update declaration. * am64-tdep.c (amd64_regset_from_core_section): Update call; pass gdbarch argument. * amd64obsd-tdep.c (amd64obsd_regset_from_core_section): Same. * i386-tdep.c (i386_regset_from_core_section): Same. * i386nbsd-tdep.c (i386nbsd_aout_regset_from_core_section): Same. * i386obsd-tdep.c (i386obsd_aout_regset_from_core_section): Same. * sparc64fbsd-tdep.c (sparc64fbsd_init_abi): Same. * sparc64nbsd-tdep.c (sparc64nbsd_init_abi): Same. * sparc64obsd-tdep.c (sparc64obsd_init_abi): Same. * sparcnbsd-tdep.c (sparc32nbsd_init_abi): Same.
2004-05-20Use a constructor function to create regset structures.Jim Blandy1-10/+2
* regset.h (supply_regset_ftype, collect_regset_ftype): New typedefs. (struct regset): Use supply_regset_ftype. Add new 'collect_regset' member. (regset_xmalloc): New declaration. * regset.c: New file. * am64-tdep.c (amd64_regset_from_core_section): Use regset_xmalloc to construct regset structures. * amd64obsd-tdep.c (amd64obsd_regset_from_core_section): Same. * i386-tdep.c (i386_regset_from_core_section): Same. * i386nbsd-tdep.c (i386nbsd_aout_regset_from_core_section): Same. * i386obsd-tdep.c (i386obsd_aout_regset_from_core_section): Same. * sparc64fbsd-tdep.c (sparc64fbsd_init_abi): Same. * sparc64nbsd-tdep.c (sparc64nbsd_init_abi): Same. * sparc64obsd-tdep.c (sparc64obsd_init_abi): Same. * sparcnbsd-tdep.c (sparc32nbsd_init_abi): Same. * Makefile.in (COMMON_OBS): Add regset.o. (regset.o): New rule.
2004-05-08* defs.h (enum return_value_convention): AddMark Kettenis1-1/+22
RETURN_VALUE_ABI_RETURNS_ADDRESS and RETURN_VALUE_ABI_PRESERVES_ADDRESS. * infcmd.c (legacy_return_value): New function. (print_return_value): Rwerite to implement RETURN_VALUE_ABI_RETURNS_ADDRESS. * values.c (using_struct_return): Check for inequality to RETURN_VALUE_REGISTER_CONVENTION instead of equality to RETURN_VALUE_STRUCT_CONVENTION. * i386-tdep.c (i386_return_value): Implement RETURN_VALUE_ABI_RETURNS_ADDRESS.
2004-04-30 Revert 2004-04-16 change.Brian Ford1-13/+3
* i386-tdep.c (i386_gdbarch_init): Fix comment typos. (i386_coff_init_abi): Remove. * i386-tdep.h (i386_coff_init_abi): Remove. * i386-cygwin-tdep.c (i386_cygwin_init_abi): Remove call to above.
2004-04-29 Mark Kettenis <kettenis@gnu.org>Mark Kettenis1-1/+7
* i386-tdep.c (i386_skip_prologue): follow the last jump only if the function begins with a branch instruction.
2004-04-29* i386-tdep.c: Fix spelling mistakes.Mark Kettenis1-13/+13
2004-04-18Based on a patch from Brian Ford <ford@vss.fsi.com>:Mark Kettenis1-60/+58
* i386-tdep.c: Correct register numbering scheme comments throughout. (i386_stab_reg_to_regnum): Rename to i386_dbx_reg_to_regnum. (i386_dwarf_reg_to_regnum): Rename to i386_svr4_reg_to_regnum. (i386_coff_init_abi, i386_elf_init_abi): Accomodate renames above. (i386_gdb_arch_init): Likewise.
2004-04-16From Brian Ford <ford@vss.fsi.com>:Mark Kettenis1-0/+10
* i386-tdep.c (i386_coff_init_abi): New function. * i386-tdep.h (i386_coff_init_abi): New prototype. * i386-cygwin-tdep.c (i386_cygwin_init_abi): Call it. Use correct register number translation functions for DWARF and DWARF 2.
2004-04-09* amd64-linux-tdep.c, amd64nbsd-tdep.c, amd64obsd-tdep.c,Mark Kettenis1-2/+2
i386-linux-tdep.c, i386-tdep.c, i386nbsd-tdep.c, i386obsd-tdep.c: Fix typo.
2004-04-09* amd64-tdep.c (amd64_sigtramp_frame_sniffer): Rewrite to use newMark Kettenis1-25/+37
sigtramp_p member of `struct gdbarch_tdep'. Also check whether the program counter is in the range specified by `struct gdbarch_tdep'. * amd64-linux-tdep.c: Include "symtab.h". (amd64_linux_pc_in_sigtramp): Remove function. (amd64_linux_sigtramp_p): New function. (amd64_linux_init_abi): Initialize TDEP->sigtramp_p. Don't set deprecated_pc_in_sigtramp. * amd64nbsd-tdep.c: Include "symtab.h". (amd64nbsd_sigtramp_p): New function. (amd64nbsd_init_abi): Initialize TDEP->sigtramp_p. Don't set deprecated_pc_in_sigtramp. * amd64obsd-tdep.c: Include "symtab.h" and "objfiles.h". Add a few comments. (amd64obsd_pc_in_sigtramp): Remove function. (amd64obsd_sigtramp_p): New function. (amd64obsd_init_abi): Initialize TDEP->sigtramp_p. Don't set deprecated_pc_in_sigtramp. * i386-tdep.h (struct gdbarch_tdep): Add sigtramp_p member. (i386bsd_pc_ins_sigtramp): Remove prototype. (i386bsd_sigtramp_start, i386bsd_sigtramp_end): Remove prototypes. * i386-tdep.c (i386_sigtramp_frame_sniffer): Rewrite to use new sigtramp_p member of `struct gdbarch_tdep'. Also check whether the program counter is in the range specified by `struct gdbarch_tdep'. (i386_pc_in_sigtramp, i386_svr4_pc_in_sigtramp): Remove functions. (i386_sigtramp_p, i386_svr4_sigtramp_p): New functions. (i386_go32_pc_in_sigtramp): Remove function. (i386_svr4_init_abi): Don't set deprecated_pc_in_sigtramp. Initialize TDEP->sigtramp_p. (i386_go32_init_abi): Initialize TDEP->sigtramp_p to NULL. (i386_gdbarch_init): Initialize TDEP->sigtramp_p. Don't set deprecated_pc_in_sigtramp. * i386-linux-tdep.c: Adjust comments. (i386_linux_pc_in_sigtramp): Remove function. (i386_linux_sigtramp_p): New function. (i386_linux_init_abi): Initialize TDEP->sigtramp_p. Don't set deprecated_pc_in_sigtramp. * i386-nto-tdep.c: Update copyright year. (i386nto_pc_in_sigtramp): Remove function. (i386nto_sigtramp_p): New function. (i386nto_sigcontext_addr): Use I386_ESP_REGNUM instead of SP_REGNUM. (i386nto_init_abi): Initialize TDEP->sigtramp_p. Don't set deprecated_pc_in_sigtramp. * i386-sol2-tdep.c: Update copyright year. (i386_sol2_pc_in_sigtramp): Remove function. (i386_sol2_sigtramp_p): New function. (i386_sol2_init_abi): Initialize TDEP->sigtramp_p. Don't set deprecated_pc_in_sigtramp. * i386bsd-tdep.c (i386bsd_pc_in_sigtramp): Remove function. (i386bsd_sigtramp_start, i386bsd_sigtramp_end): Remove functions. (i386bsd_init_abi): Don't set deprecated_pc_in_sigtramp, deprecated_sigtramp_start and deprecated_sigtramp_end. * i386nbsd-tdep.c: Include "frame.h" and "symtab.h". (i386nbsd_pc_in_sigtramp): Remove function. (i386nbsd_sigtramp_p): New function. (i386nbsd_init_abi): Don't set deprecated_pc_in_sigtramp, deprecated_sigtramp_start, deprecated_sigtramp_end. Initialize TDEP->sigtramp_start, TDEP->sigtramp_end and TDEP->sigtramp_p. * i386obsd-tdep.c: Include "frame.h", "symtab.h" and "objfiles.h". (i386obsd_pc_in_sigtramp): Remove function. (i386obsd_sigtramp_p): New function. (i386obsd_sigtramp_start, i386obsd_sigtramp_end): Remove functions. (i386bsd_init_abi): Don't set deprecated_pc_in_sigtramp, deprecated_sigtramp_start, deprecated_sigtramp_end. Initialize TDEP->sigtramp_p. * Makefile.in (amd64-linux-tdep.o, amd64nbsd-tdep.o, amd64obsd-tdep.o, i386nbsd-tdep.o, i386obsd-tdep.o): Update dependencies.
2004-04-07* i386-tdep.c (i386_stab_reg_to_regnum): Correct numbering forJim Blandy1-2/+7
%esp and %ebp
2004-04-01* i386-tdep.c: Add FIXME regarding STABS vs. Dwarf 2 registerJim Blandy1-0/+36
numbering.
2004-03-232004-03-23 Andrew Cagney <cagney@redhat.com>Andrew Cagney1-4/+4
* gdbarch.sh (PC_IN_SIGTRAMP): Change to a function with predicate, deprecate. * gdbarch.h, gdbarch.c: Re-generate. * alpha-linux-tdep.c (alpha_linux_init_abi): Update. * alpha-osf1-tdep.c (alpha_osf1_init_abi): Update. * alpha-tdep.c (alpha_sigtramp_frame_sniffer): Update. * alphafbsd-tdep.c (alphafbsd_init_abi): Update. * alphanbsd-tdep.c (alphanbsd_init_abi): Update. * amd64-linux-tdep.c (amd64_linux_init_abi): Update. * amd64-tdep.c (amd64_sigtramp_frame_sniffer): Update. * amd64nbsd-tdep.c (amd64nbsd_init_abi): Update. * amd64obsd-tdep.c (amd64obsd_init_abi): Update. * arm-tdep.c (arm_sigtramp_unwind_sniffer): Update. * blockframe.c (find_pc_partial_function): Update. * breakpoint.c (bpstat_what): Update. * frame.c (frame_type_from_pc, legacy_get_prev_frame): Update. * frv-linux-tdep.c (frv_linux_init_abi): Update. * frv-tdep.c (frv_sigtramp_frame_sniffer): Update. * hppa-hpux-tdep.c (hppa_hpux_init_abi): Update. * i386-interix-tdep.c (i386_interix_init_abi): Update. * i386-linux-tdep.c (i386_linux_init_abi): Update. * i386-nto-tdep.c (i386nto_init_abi): Update. * i386-sol2-tdep.c (i386_sol2_init_abi): Update. * i386-tdep.c (i386_sigtramp_frame_sniffer) (i386_svr4_init_abi, i386_go32_init_abi, i386_gdbarch_init): Update. * i386bsd-tdep.c (i386bsd_init_abi): Update. * i386nbsd-tdep.c (i386nbsd_init_abi): Update. * i386obsd-tdep.c (i386obsd_init_abi): Update. * ia64-tdep.c (ia64_sigtramp_frame_sniffer): Update. * infrun.c (pc_in_sigtramp): Update. * m68k-tdep.c (m68k_sigtramp_frame_sniffer): Update. * m68klinux-tdep.c (m68k_linux_init_abi): Update. * mips-tdep.c (mips_gdbarch_init): Update. * mipsnbsd-tdep.c (mipsnbsd_init_abi): Update. * ppc-linux-tdep.c: Update comment. * ppcnbsd-tdep.c (ppcnbsd_init_abi): Update. * shnbsd-tdep.c (shnbsd_init_abi): Update. * sparc-linux-tdep.c (sparc32_linux_init_abi): Update. * sparc-sol2-tdep.c (sparc32_sol2_init_abi): Update. * sparc64-sol2-tdep.c (sparc64_sol2_init_abi): Update. * sparc64fbsd-tdep.c (sparc64fbsd_init_abi): Update. * sparc64nbsd-tdep.c (sparc64nbsd_init_abi): Update. * sparc64obsd-tdep.c (sparc64obsd_init_abi): Update. * sparcnbsd-tdep.c (sparc32nbsd_init_abi): Update. * sparcobsd-tdep.c (sparc32obsd_init_abi): Update. Index: doc/ChangeLog 2004-03-23 Andrew Cagney <cagney@redhat.com> * gdbint.texinfo (Target Architecture Definition): Deprecate references to PC_IN_SIGTRAMP.
2004-01-172004-01-17 Andrew Cagney <cagney@redhat.com>Andrew Cagney1-16/+2
* x86-64-tdep.c (x86_64_init_abi): No need to clear extract_struct_value_address, i386 does not set it. * sparc64-tdep.c (sparc64_init_abi): Do not set extract_struct_value_address, never called. (sparc64_extract_struct_value_address): Delete function. * m68hc11-tdep.c: Update copyright. (m68hc11_gdbarch_init): Delete redundant assignment of extract_struct_value_address. * i386-tdep.c: Update copyright. (i386_gdbarch_init): Do not set extract_struct_value_address, never called. (i386_extract_struct_value_address): Delete function. * sparc-tdep.c (sparc32_gdbarch_init): Do not set extract_struct_value_address, never called. (sparc32_extract_struct_value_address): #if 0 function.
2004-01-132004-01-13 Andrew Cagney <cagney@redhat.com>Andrew Cagney1-1/+0
* gdbarch.sh (FUNCTION_START_OFFSET): Make zero the default. * gdbarch.c: Re-generate. * xstormy16-tdep.c (xstormy16_gdbarch_init): Do not set FUNCTION_START_OFFSET. * v850-tdep.c (v850_gdbarch_init): Ditto. * sparc-tdep.c (sparc32_gdbarch_init): Ditto. * sh64-tdep.c (sh64_gdbarch_init): Ditto. * sh-tdep.c (sh_gdbarch_init): Ditto. * s390-tdep.c (s390_gdbarch_init): Ditto. * rs6000-tdep.c (rs6000_gdbarch_init): Ditto. * ns32k-tdep.c (ns32k_gdbarch_init): Ditto. * mn10300-tdep.c (mn10300_gdbarch_init): Ditto. * mips-tdep.c (mips_gdbarch_init): Ditto. * mcore-tdep.c (mcore_gdbarch_init): Ditto. * m68k-tdep.c (m68k_gdbarch_init): Ditto. * m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto. * m32r-tdep.c (m32r_gdbarch_init): Ditto. * ia64-tdep.c (ia64_gdbarch_init): Ditto. * i386-tdep.c (i386_gdbarch_init): Ditto. * hppa-tdep.c (hppa_gdbarch_init): Ditto. * h8300-tdep.c (h8300_gdbarch_init): Ditto. * frv-tdep.c (frv_gdbarch_init): Ditto. * d10v-tdep.c (d10v_gdbarch_init): Ditto. * cris-tdep.c (cris_gdbarch_init): Ditto. * avr-tdep.c (avr_gdbarch_init): Ditto. * arm-tdep.c (arm_gdbarch_init): Ditto. * alpha-tdep.c (alpha_gdbarch_init): Ditto.
2003-12-14* i386-tdep.c (i386_analyze_frame_setup): Add missing encodingsMark Kettenis1-1/+5
for `subl' and `xorl' instructions.
2003-11-20* i386-tdep.c (i386_extract_return_value,Mark Kettenis1-38/+63
i386_store_return_value): Add gdbarch argument. Use it instead of determining it from REGCACHE. Remove recursive call for structures with a single member. (i386_use_struct_convention): Remove. (i386_reg_struct_return_p): New function. (i386_return_value): New function. (i386_gdbarch_init): Set return_value, don't set extract_return_value, store_return_value and use_struct_convention. * x86-64-tdep.c (x86_64_init_abi): Set return_value to NULL.
2003-11-16* i386-tdep.h (i386_supply_gregset): Provide prototype.Mark Kettenis1-1/+1
* i386-tdep.c (i386_supply_gregset): Make public.
2003-11-16* i386-tdep.c (i386_extract_return_value): Don't use bfd_byte.Mark Kettenis1-3/+2
2003-10-30* i386-tdep.c (i386_supply_fpregset): Support floating-pointMark Kettenis1-1/+9
registers in `fxsave' format. (i386_regset_from_core_section): Deal with ".reg-xfp" sections.
2003-10-26Change register numbers to enumartion values.Mark Kettenis1-8/+0
* i386-tdep.h (enum i386_regnum): New. (I386_EAX_REGNUM, I386_EDX_REGNUM, I386_ESP_REGNUM, I386_EBP_REGNUM, I386_IP_REGNUM, I386_EFLAGS_REGNUM, I386_ST0_REGNUM): Remove defines. * i386-tdep.c (I386_EBX_REGNUM, I386_ECX_REGNUM, I386_ESI_REGNUM, I386_EDI_REGNUM): Remove defines.
2003-10-11* i386-tdep.c (i386_regset_from_core_section): New function.Mark Kettenis1-0/+41
(i386_gdbarch_init): Initialize regset_from_core_section if appropriate. * i386-tdep.h (i386_regset_from_core_section): New declaration.
2003-10-06 * i386-tdep.c (i386_analyze_frame_setup): Also handle xorl/sublAndreas Schwab1-0/+3
with %eax.
2003-10-05* i386-tdep.h (struct gdbarch_tdep): Add members gregset,Mark Kettenis1-0/+46
gregset_reg_offset, gregset_num_regs, sizeof_gregset, fpregset, sizeof_fpregset. * i386-tdep.c: Include "regset.h". (i386_supply_gregset): New function. (i386_supply_fpregset): New function. (i386_gdbarch_init): Initialze register set-related members of TDEP. * x86-64-tdep.c (x86_64_supply_fpregset): New function. (x86_64_init_abi): Initialize TDEP->sizeof_fpregset.
2003-09-27* i386-tdep.h: Put opaque declarations in alphabeticalMark Kettenis1-62/+121
order. Remove spurious whitespace. (struct gdbarch_tdep): add st0_regnum and mm0_regnum members. (i386_sse_regnum_p, i386_mxcsr_regnum_p): Remove prototypes. * i386-tdep.c (MM0_REGNUM): Remove define. (i386_mmx_regnum_p): Add gdbarch argument. (i386_sse_regnum_p, i386_mxcsr_regnum_p): Add gdbarch argument. Rewrite using new macro definitions for FPU/SSE registers. (i386_fp_regnum_p, i386_fpc_regnum_p): Rewrite using new macro definitions from i387-tdep.h. (i386_register_name): Update. (i386_stab_reg_to_regnum, i386_dwarf_reg_to_regnum): Update to use new macro definitions for FPU/SSE registers. (i386_extract_return_value): Determine whether floating-point registers are present by examining REGCACHE's architecture. (i386_store_return_value): Likewise. Use I386_MAX_REGISTER_SIZE instead of FPU_REG_RAW_SIZE. Use new macro definitions for FPU/SSE registers. (i386_register_type): Update. (i386_mmx_regnum_to_fp_regnum): Rewrite using new macro definitions for FPU registers. Use REGCACHE's architecture to determine the appropriate register numbers. (i386_pseudo_register_read, i386_pseudo_register_write, i386_register_reggroup_p): Update. (i386_gdbarch_init): Initialize TDEP->st0_regnum and TDEP->mm0_regnum. * i387-tdep.h (I387_FCTRL_REGNUM, I387_FSTAT_REGNUM, I387_FTAG_REGNUM, I387_FISEG_REGNUM, I387_FIOFF_REGNUM, I387_FOSEG_REGNUM, I387_FOOFF_REGNUM, I387_FOP_REGNUM, I387_XMM0_REGNUM, I387_MXCSR_REGNUM): New defines. (i387_supply_fsave, i387_fill_fsave, i387_supply_fxsave, i387_fill_fxsave): Change type of fsave/fxsave argument from `char *' to `void *'. * i387-tdep.c (i387_print_float_info, fsave_offset, FSAVE_ADDR, i387_supply_fsave, i387_fill_fsave, fxsave_offset, FXSAVE_ADDR, i387_supply_fxsave, i387_fill_fxsave): Update to use new macro definitions for FPU/SSE registers. (FXSAVE_MXCSR_ADDR): New define. * x86-64-tdep.c (x86_64_init_abi): Override TDEP->st0_regnum and TDEP->mm0_regnum. (I387_FISEG_REGNUM, I387_FOSEG_REGNUM): Remove defines. (I387_ST0_REGNUM): Define.
2003-09-27* i386-tdep.c (i386_num_register_names, i386_num_mmx_regs):Mark Kettenis1-4/+2
Initialize using ARRAY_SIZE.