Commit Graph

29 Commits

Author SHA1 Message Date
Mark Kettenis 5bca7895b7 * i386-linux-nat.c (ps_get_thread_area): Don't define as extern.
Only define PTRACE_GET_THREAD_AREA is not already defined.
Various style fixes in code and comments and some additional
spelling fixes in comments.  Move after functions dealing with
debug registers.
* x86-64-linux-nat.c (ps_get_thread_area): Don't define as extern.
Fix coding-style.
2003-08-31 15:18:58 +00:00
Mark Kettenis 60fac5b81a * i386-linux-tdep.h (I386_LINUX_NUM_REGS): New define.
* x86-64-linux-nat.c: Include "i386-linux-tdep.h" and "amd64.h".
Change "register array" to "register cache" in comments.
(x86_64_linux_gregset64_reg_offset): New variable.
(GETREGS_SUPPLIES): Remove macro.
(supply_gregset): Call amd64_supply_native_gregset instead of
x86_64_linux_supply_gregset.
(fill_gregset): Rename `regno' to `regnum'.  Call
amd64_collect_native_gregset instead of x86_64_linux_fill_gregset.
(store_regs): Rename `regno' to `regnum'.
(store_fpregs): Rename `regno' to `regnum'.
(fetch_inferior_registers): Rename `regno' to `regnum'.  Use
amd64_native_gregset_supplies_p instead of GREGSET_SUPPLIES.
Reorganize function a bit.
(store_inferior_registers): Rename `regno' to `regnum'.  Use
amd64_native_gregset_supplies_p instead of GREGSET_SUPPLIES.
Reorganize function a bit.
(_initialize_x86_64_linux_nat): New function.
* config/i386/x86-64linux.mh.
2003-08-29 16:28:39 +00:00
Mark Kettenis 0485f6ad30 * x86-64-tdep.c (x86_64_supply_fxsave): Add `regnum' argument.
Update comments.
* x86-64-tdep.h (x86_64_supply_fxsave): Adjust prototype.  Update
comments.
* x86-64-linux-tdep.c (fetch_core_registers): Adjust call to
x86_64_supply_fxsave.
* x86-64-linux-nat.c (supply_fpregset): Adjust call to
x86_64_supply_fxsave.
* amd64fbsd-nat.c (supply_fpregset): Adjust call to
x86_64_supply_fxsave.
2003-08-23 13:58:18 +00:00
Michal Ludvig 4056d25828 2003-08-18 Michal Ludvig <mludvig@suse.cz>
* config/i386/nm-x86-64linux.h (LINUX_CHILD_POST_STARTUP_INFERIOR):
	Define.
	* i386-linux-nat.c: Include "linux-nat.h".
	(child_post_startup_inferior): New function.
2003-08-18 13:42:13 +00:00
Elena Zannoni c43af07cc8 2003-07-17 Elena Zannoni <ezannoni@redhat.com>
* Makefile.in (x86-64-linux-nat.o): Update dependencies.
	* x86-64-linux-nat.c (ps_get_thread_area): New function.  Add
	include of asm/prctl.h, asm/ptrace.h, and gdb_proc_service.h.
2003-07-17 12:49:52 +00:00
Michal Ludvig eba29c8cbb 2003-07-15 Michal Ludvig <mludvig@suse.cz>
* x86-64-linux-nat.c (regmap): Removed.
	(supply_gregset, fill_gregset): Call
	x86_64_linux_(fill,supply)_gregset functions.
	* x86-64-linux-tdep.c (USER_*): New defines.
	(user_to_gdb_regmap, x86_64_core_fns): New structure.
	(x86_64_linux_supply_gregset, x86_64_linux_fill_gregset):
	New functions.
	(fetch_core_registers): Ditto.
	(_initialize_x86_64_linux_tdep): Call add_core_fns().
	* x86-64-linux-tdep.h: New file.
	* config/i386/x86-64linux.mh (NATDEPFILES): Remove corelow.o
	and core-regset.o.
	* config/i386/x86-64linux.mt (TDEPFILES): Add corelow.o.
2003-07-15 11:33:59 +00:00
Andreas Jaeger 6a2751d273 * x86-64-linux-nat.c: Fix comment. 2003-05-31 18:00:04 +00:00
Mark Kettenis c4f35dd8e1 * x86-64-tdep.h (x86_64_num_regs, x86_64_num_gregs): Remove
variable declarations.
(x86_64_register_number, x86_64_register_name): Remove prototypes.
(x86_64_linux_frame_saved_pc, x86_64_linux+saved_pc_after_call,
x86_64_linux_in_sigtramp, x86_64_linux_frame_chain,
x86_64_init_frame_pc, x86_64_init_frame_pc,
x86_64_function_has_prologue): Remove prototypes.
(X86_64_NUM_GREGS): New define.
(x86_64_supply_fxsave, x86_64_fill_fxsave): New prototypes.
* x86-64-tdep.c: Don't include "dwarf2cfi.h".  Include
"dummy_frame.h", "frame.h", "frame-base.h", "frame-unwind.h".
(RAX_REGNUM, RDX_REGNUM, RDI_REGNUM, EFLAGS_REGNUM, ST0_REGNUM,
XMM1_REGNUM): Remove defines.
(X86_64_RAX_REGNUM, X86_64_RDX_REGNUM, X86_64_RDI_REGNUM,
X86_64_RBP_REGNUM, X86_64_RSP_REGNUM, X86_64_RIP_REGNUM,
X86_64_EFLAGS_REGNUM, X86_64_ST0_REGNUM, X86_64_XMM0_REGNUM,
X86_64_XMM1_REGNUM): New defines.
(struct x86_64_register_info): Renamed from `struct
register_info'.  Remove `size' member.
(x86_64_register_info_table): Remove variable.
(x86_64_register_info): New variable.
(X86_64_NUM_REGS): New define.
(X86_64_NUM_GREGS): Remove define.
(x86_64_num_regs, x86_64_num_gregs): Remove variables.
(x86_64_dwarf2gdb_regno_map, x86_64_dwarf2gdb_regno_map_length):
Remove variables.
(x86_54_dwarf2_reg_to_regnum): Remove function.
(x86_64_dwarf_regmap, x86_64_dwarf_regmap_len): New variables.
(x86_64_dwarf_reg_to_regnum): New function.
(x86_64_register_name): Rewrite.
(x86_64_register_raw_size): Remove function.
(x86_64_register_byte_table): Remove variable.
(x86_64_register_byte): Remove function.
(x86_64_register_virtual_type): Remove function.
(x86_64_register_type): New function.
(x86_64_register_convertible, x86_64_register_convert_to_virtual,
x86_64_register_convert_to_raw): Remove functions.
(x86_64_push_return_address, x86_64_pop_frame): Remove functon.
(x86_64_use_struct_convention): Make static.  Adjust for renamed
defines.
(x86_64_frame_init_saved_regs): Remove function.
(x86_64_push_arguments): Make static.  Change to accept a regcache
as argument.
(x86_64_store_return_value, x86_64_extract_return_value): Make
static.  Rewrite based on i386 counterparts.
(x86_64_push_dummy_call): New function.
(X86_64_NUM_SAVED_REGS): New define.
(x86_64_register_number): Remove function.
(x86_64_store_struct_return): Remove function.
(x86_64_frameless_function_invocation,
x86_64_function_has_prologue): Remove functions.
(PROLOG_BUFSIZE): Remove define.
(struct x86_64_frame_cache): New structure.
(x86_64_alloc_frame_cache, x86_64_analyze_prologue,
x86_64_frame_cache, x86_64_frame_this_id,
x86_64_frame_prev_register, x86_64_frame_p,
x86_64_sigtramp_frame_cache, x86_64_sigtramp_frame_this_id,
x86_64_sigtramp_frame_prev_register, x86_sigtramp_frame_p): New
functions.
(x86_64_frame_unwind, x86_64_sigtramp_frame_unwind): New
variables.
(x86_64_skip_prologue): Rewrite in terms of
x86_64_analyze_prologue.
(x86_64_frame_base_address): New function.
(x86_64_frame_base): New variable.
(x86_64_save_dummy_frame_tos, x86_64_unwind_dummy_id): Rewrite.
(x86_64_init_abi): Set register_type and push_dummy_call.  Don't
set deprecated_fp_regnum, deprecated_register_size,
deprecated_register_bytes, register_raw_size, register_byte,
register_virtual_type, register_convertiable,
register_convert_to_virtual, convert_to_raw,
deprecated_get_saved_register, deprecated_target_read_fp,
deprecated_push_arguments, deprecated_push_return_address,
deprecated_pop_frame, deprecated_store_struct_return,
deprecated_frame_init_saved_regs, deprecated_frame_chain,
frameless_function_invocation, deprecated_frame_saved_pc,
deprecated_saved_pc_after_call, frame_num_args, pc_in_sigtramp,
dwarf2_build_frame_info, deprecated_init_extra_frame_info,
deprecated_init_frame_pc and virtual_frame_pointer.  Call
frame_unwind_append_predicate to register x86_64_sigtramp_frame_p
and x86_64_frame_p.  Call frame_base_set_default to register
x86_64_frame_base.
(I387_FISEG_REGNUM, I387_FOSEG_REGNUM): New defines.
(x86_64_supply_fxsave, x86_64_fill_fxsave): New functions.
(_initialize_x86_64_tdep): Remove function.
* x86-64-linux-tdep.c: Don't include "dwarf2cfi.h".
(LINUX_SIGINFO_SIZE, LINUX_UCONTEXT_SIGCONTEXT_OFFSET,
LINUX_SIGCONTEXT_PC_OFFSET, LINUX_SIGCONTEXT_FP_OFFSET): Don't
define.
(X86_64_LINUX_UCONTEXT_SIGCONTEXT_OFFSET): Define.
(x86_64_linux_sigcontext_addr): Rewrite.
(x86_64_linux_sigtramp_saved_pc, x86_64_linux_saved_pc_after_call,
x86_64_linux_frame_saved_pc): Remove functions.
(x86_64_linux_pc_in_sigtramp): Renamed from
x86_64_linux_in_sigtramp.  Try harder to recognize a signal
trampoline.
(x86_64_linux_frame_chain, x86_64_init_frame_pc):
Remove_functions.
(x86_64_linux_init_abi): Set pc_in_sigtramp.  Initialize
TDEP->sigcontext_addr, TDEP->sc_pc_offset and TDEP->sc_sp_offset.
* x86-64-linux-nat.c: Sync with i386-linux-tdep.c.
(x86_64_regmap): Rename to regmap.
(GETREGS_SUPPLIES): Use X86_64_NUM_GREGS instead of
x86_64_num_gregs.
(supply_gregset, fill_gregset): Likewise.  Use regmap instead of
x86_64_regmap.
(x86_64_fxsave_offset): Remove function.
(supply_fpregset): Simply call x86_64_supply_fxsave.
(fill_fpregset): Simply call x86_64_fill_fxsave.
(fetch_inferior_registers, store_inferior_registers): Avoid
asignment in if-statement.
(LINUX_SYSCALL_LEN, LINUX_SYSCALL_REGNUM, SYS_Sigreturn,
SYS_rt_sigreturn, LINUX_SIGCONTEXT_EFLAGS_OFFSET,
LINUX_UCONTEXT_SIGCONTEXT_OFFSET): Remove defines.
(fetch_core_registers): Remove function.
(linux_elf_core_fns): Remove.
(offsetoff): Don't define.
(_initialize_x86_64_linux_nat, kernel_u_size): Remove functions.
* config/i386/x86-64linux.mt (TDEPFILES): Add i386-linux-tdep.o.
* config/i386/x86-64linux.mh (NATDEPFILES): Remove core-aout.o,
add core-regset.o.
* config/i386/nm-x86-64linux.h: Use NM_X86_64_LINUX_H for
protection against multiple includes instead of NM_X86_64_h.  Add
various comments.  Include "config/nm-linux.h".  Don't include
<signal.h>.
(REGISTER_U_ADDR, KERNEL_U_SIZE, U_REGS_OFFSET, KERN_U_ADDR,
GET_THREAD_SIGNALS): Remove defines.
(x86_64_register_u_addr, kernel_u_size,
lin_thread_get_thread_signals): Remove prototypes.
(PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define to `long'.
[HAVE_LINK_H]: Don't include "solib.h".
[HAVE_LINK_H] (SVR4_SHARED_LIBS): Remove define.
* config/i386/tm-x86-64linux.h: Fix comments.
* Makefile.in (x86-64-linux-nat.o, x86_64-linux-tdep.o,
x86-64-tdep.o): Update dependencies.
2003-05-31 08:15:38 +00:00
Michal Ludvig 48037eadc7 2003-02-12 Michal Ludvig <mludvig@suse.cz>
* x86-64-tdep.c (x86_64_extract_return_value)
	(x86_64_store_return_value): Use regcache instead of regbuf.
	(x86_64_gdbarch_init): Change related set_gdbarch_* functions.
	* x86-64-linux-nat.c (fill_gregset): Use regcache.
2003-02-11 23:09:59 +00:00
Andrew Cagney 1bac305b72 2003-01-13 Andrew Cagney <ac131313@redhat.com>
* ax-gdb.c, c-valprint.c, charset.c, corefile.c: Update copyright.
	* demangle.c, disasm.c, dwarf2cfi.c, dwarfread.c: Update copyright.
	* elfread.c, eval.c, expprint.c, expression.h: Update copyright.
	* f-typeprint.c, findvar.c, gcore.c, gdb_mbuild.sh: Update copyright.
	* gdbtypes.h, gnu-v2-abi.c, inferior.h, inftarg.c: Update copyright.
	* language.c, language.h, m32r-tdep.c: Update copyright.
	* mn10200-tdep.c, scm-lang.c, scm-lang.h: Update copyright.
	* somsolib.c, somsolib.h, symfile.c, symtab.h: Update copyright.
	* thread-db.c, typeprint.c, utils.c, valarith.c: Update copyright.
	* values.c, win32-nat.c, x86-64-linux-nat.c: Update copyright.
	* x86-64-linux-tdep.c, z8k-tdep.c: Update copyright.
	* cli/cli-decode.h, config/h8500/tm-h8500.h: Update copyright.

Index: mi/ChangeLog
2003-01-13  Andrew Cagney  <ac131313@redhat.com>

	* mi-cmd-env.c: Update copyright.
2003-01-14 00:49:06 +00:00
Michal Ludvig b089b3da75 2003-01-06 Michal Ludvig <mludvig@suse.cz>
* x86-64-linux-nat.c (i386_sse_regnum_p): Deleted. Not needed anymore
	since it is in i386-tdep.c.
2003-01-06 14:47:37 +00:00
Andrew Cagney a6b063af0f 2002-11-15 Andrew Cagney <cagney@redhat.com>
* x86-64-linux-nat.c (i386_sse_regnum_p): New function.  Copy from
	i386-tdep.c.
2002-11-16 00:53:23 +00:00
Andrew Cagney 4caf0990c1 2002-11-02 Andrew Cagney <cagney@redhat.com>
* regcache.h (deprecated_read_register_gen): Rename
	read_register_gen.
	(deprecated_write_register_gen): Rename write_register_gen.
	* i387-tdep.c: Update.
	* x86-64-linux-nat.c: Update
	* wince.c: Update.
	* thread-db.c: Update.
	* win32-nat.c: Update.
	* mips-tdep.c: Update.
	* d10v-tdep.c: Update.
	* cris-tdep.c: Update.
	* remote-sim.c: Update.
	* remote-rdi.c: Update.
	* remote-rdp.c: Update.
	* frame.c: Update.
	* target.c: Update.
	* blockframe.c: Update.
	* x86-64-tdep.c: Update.
	* xstormy16-tdep.c: Update.
	* sh-tdep.c: Update.
	* s390-tdep.c: Update.
	* rs6000-tdep.c: Update.
	* sparc-tdep.c: Update.
	* i386-tdep.c: Update.
	* dwarf2cfi.c: Update.
	* regcache.c: Update.
2002-11-02 14:59:10 +00:00
Michal Ludvig cb7e422f1e 2002-09-18 Michal Ludvig <mludvig@suse.cz>
* x86-64-linux-nat.c (x86_64_regmap): Added CS and SS
	registers.
2002-09-18 11:24:02 +00:00
Michal Ludvig 30d524915d 2002-09-03 Michal Ludvig <mludvig@suse.cz>
* x86-64-linux-tdep.c: Include gdb_string.h
	* x86-64-linux-nat.c: Ditto.
2002-09-03 13:06:33 +00:00
Michal Ludvig 1cf877ad9b 2002-06-20 Michal Ludvig <mludvig@suse.cz>
* x86-64-tdep.c (x86_64_register_nr2name): Rename to
	x86_64_register_name. Return type changed to 'const char *'.
	(x86_64_register_name2nr): Rename to x86_64_register_number.
	(x86_64_gdbarch_init): Update to reflect the change.
	* x86-64-tdep.h: Ditto.
	* x86-64-linux-nat.c (x86_64_fxsave_offset)
	(supply_fpregset): Ditto.
2002-06-20 13:08:12 +00:00
Michal Ludvig 8dda97708f 2002-06-07 Michal Ludvig <mludvig@suse.cz>
* x86-64-linux-nat.c (x86_64_fxsave_offset): New.
	(supply_fpregset, fill_fpregset): Don't call i387_*_fxsave,
	better do the things actually here.
	* x86-64-tdep.c (x86_64_register_name2nr): New.
	(x86_64_register_name): Renamed to x86_64_register_nr2name.
	(x86_64_gdbarch_init): Respect the above change.
	* x86-64-tdep.h (x86_64_register_name2nr)
	(x86_64_register_nr2name): Add prototypes.
	* config/i386/x86-64linux.mt (TDEPFILES): Remove i387-tdep.o.
2002-06-07 16:11:10 +00:00
Jason Thorpe e750d25e90 * Makefile.in (ALLDEPFILES): Remove i387-nat.c.
(i387-nat.o): Delete dependency list.
(go32-nat.o): Change i387-nat.h to i387-tdep.h.
(x86-64-linux-nat.o): Likewise.
* i387-nat.c: Delete file, moving contents to...
* i387-tdep.c: ...here.
* i387-nat.h: Rename...
* i387-tdep.h: ...to this.
* go32-nat.c: Include i387-tdep.h instead of i387-nat.h.
* i386-linux-nat.c: Likewise.
* i386bsd-nat.c: Likewise.
* i386gnu-nat.c: Likewise.
* i386nbsd-nat.c: Likewise.
* i386v4-nat.c: Likewise.
* x86-64-linux-nat.c: Likewise.
* config/i386/fbsd.mh (NATDEPFILES): Remove i387-nat.o.
* config/i386/go32.mh (NATDEPFILES): Likewise.
* config/i386/i386gnu.mh (NATDEPFILES): Likewise.
* config/i386/i386sol2.mh (NATDEPFILES): Likewise.
* config/i386/i386v42mp.mh (NATDEPFILES): Likewise.
* config/i386/linux.mh (NATDEPFILES): Likewise.
* config/i386/nbsd.mh (NATDEPFILES): Likewise.
* config/i386/nbsdelf.mh (NATDEPFILES): Likewise.
* config/i386/obsd.mh (NATDEPFILES): Likewise.
* config/i386/x86-64linux.mh (NATDEPFILES): Likewise.
2002-05-11 17:22:27 +00:00
Michal Ludvig 4657573b80 2002-05-07 Michal Ludvig <mludvig@suse.cz>
* dwarf2cfi.c: Code cleanup, removed unused variables,
	added default labels to switch {} statements.
	* x86-64-tdep.c: Ditto.
	* x86-64-linux-nat.c: Ditto.
2002-05-07 11:22:54 +00:00
Michal Ludvig 91fd20f71f 2002-04-29 Michal Ludvig <mludvig@suse.cz>
* x86-64-linux-nat.c (fill_gregset): Explicit cast to avoid warning.
	* x86-64-tdep.c (i386_gdbarch_init): Ditto.
	(x86_64_register_info_table): Added comments with register numbers.
2002-04-29 18:27:31 +00:00
Michal Ludvig 8cfda98c96 * x86-64-linux-nat.c (child_resume, child_xfer_memory): Delete.
(PTRACE_XFER_TYPE): Moved to config/i386/nm-x86-64.h.
	(kernel_u_size): Added.
	* config/i386/nm-x86-64.h (CHILD_XFER_MEMORY, CHILD_RESUME): Delete.
	(PTRACE_XFER_TYPE): Moved here from config/i386/nm-x86-64.h.
2002-04-10 12:12:36 +00:00
Michal Ludvig 7b3fabf05e * x86-64-linux-nat.c (child_xfer_memory): x86-64 ptrace() ABI change sync 2002-04-04 13:18:59 +00:00
Michal Ludvig de220d0ff6 * x86-64-tdep.h (X86_64_NUM_REGS, X86_64_NUM_GREGS): Delete #defines.
(x86_64_num_regs, x86_64_num_gregs): Added extern variables.
	* x86-64-linux-nat.c (x86_64_regmap): Swapped RBX <> RDX, added DS, ES, FS, GS.
	(x86_64_linux_dr_get_status, supply_gregset),
	(fill_gregset): Changed X86_64_NUM_GREGS to x86_64_num_gregs.
	* x86-64-tdep.c (x86_64_register_raw_size_table): Delete.
	(x86_64_register_info_table): Add.
	(X86_64_NUM_REGS, X86_64_NUM_GREGS): Add.
	(x86_64_register_raw_size, x86_64_register_virtual_type),
	(x86_64_register_name, _initialize_x86_64_tdep): Changed to reflect new
	general x86_64_register_info_table.
	(i386_gdbarch_init): gdbarch_register_bytes is now set
	dynamicaly during initialization.
	* regformats/reg-x86-64.dat: Synced with changes to registers above.
	* gdbserver/linux-x86-64-low.c: Ditto.
2002-03-27 10:21:29 +00:00
Michal Ludvig 33a0a2ac44 * x86-64-tdep.h (sys/reg.h, x86_64_regmap): Moved to x86-64-linux-nat.c
* x86-64-linux-nat.c (sys/reg.h, x86_64_regmap): Moved here
        from x86-64-tdep.h
2002-03-10 18:16:26 +00:00
Andrew Cagney a4b6fc86fa s/Linux/.../
Fix PR gdb/378.
2002-02-24 22:14:33 +00:00
Andreas Jaeger b7c4cbf8b4 2002-01-20 Jiri Smid <smid@suse.cz>
* config/i386/x86-64linux.mh (NATDEPFILES): x86-64-nat.o removed.
	* x86-64-linux-nat.c (x86_64_register_u_addr): New function.
	* config/i386/nm-x86-64.h (ATTACH_LWP): Removed.
	* Makefile.in (x86-64-tdep.o, x86-64-linux-tdep.o,
	x86-64-linux-nat.o): Fix dependencies.
2002-01-20 09:29:41 +00:00
Andrew Cagney 0a65a603d3 Remove ATTRIBUTE_UNUSED. Update (C). 2002-01-19 03:32:43 +00:00
Michael Snyder 94cd915f48 2002-01-07 Michael Snyder <msnyder@redhat.com>
* infptrace.c (GDB_MAX_ALLOCA): New define.
	(child_xfer_memory): Use xmalloc/xfree instead of alloca if the
	size of the buffer exceeds GDB_MAX_ALLOCA (default 1 megabyte,
	can be overridden with whatever value is appropriate to the host).
	* infttrace.c (child_xfer_memory): Add FIXME warning about use of
	alloca to allocate potentially large buffer.
	* rs6000-nat.c (child_xfer_memory): Ditto.
	* symm-nat.c (child_xfer_memory): Ditto.
	* x86-64-linux-nat.c (child_xfer_memory): Ditto.
2002-01-08 00:59:31 +00:00
Jiri Smid 53e95fcfec * config/i386/x86-64linux.mh: New file.
* config/i386/x86-64linux.mt: New file.
* config/i386/nm-x86_64.h: New file.
* x86-64-linux-tdep.c: New file.
* x86-64-linux-nat.c: New file.
* x86-64-tdep.c: New file.
* x86-64-tdep.h: New file.
* config/djgpp/fnchange.lst: Add entries for x86_64-linux-tdep.c
and x86_64-linux-nat.c
* Makefile.in: Add x86_64-linux-tdep.o, x86_64-tdep.o,
x86_64-linux-tdep.o, x86_64-nat.o, update dependencies.
2001-09-21 12:19:15 +00:00