aboutsummaryrefslogtreecommitdiff
path: root/gdb/i386-linux-nat.c
AgeCommit message (Collapse)AuthorFilesLines
2003-12-26* i386-linux-nat.c: Add comment.Mark Kettenis1-0/+2
2003-10-31* i386-linux-nat.c (fetch_core_registers): Remove.Mark Kettenis1-94/+1
(linux_elf_core_fns): Remove. (_initialize_i386_linux_nat): Remove.
2003-09-28* i387-tdep.c (i387_supply_fsave, i387_supply_fxsave): AddMark Kettenis1-2/+2
regcache argument and reverse the order of the other two arguments. Remove local regcache variable. Determine architecture from REGCACHE. Update comments. * x86-64-tdep.c (x86_64_supply_fxsave): Add regcache argument and reverse the order of the other two arguments. Remove local regcache variable. Determine architecture from REGCACHE. Update comments. * i387-tdep.h (i387_supply_fsave, i387_supply_fxsave): Adjust prototypes. Update comments. * x86-64-tdep.c (x86_64_supply_fxsave): Adjust prototype. Adjust comment. * amd64fbsd-nat.c (supply_fpregset, fetch_inferior_registers): Update. * go32-nat.c (fetch_register, go32_fetch_registers): Update. * i386-interix-nat.c (supply_fpregset): Update. * i386-linux-nat.c (supply_fpregset, supply_fpxregset): Update. * i386-nto-tdep.c (i386nto_supply_fpregset): Update. * i386gnu-nat.c (fetch_fpregs, supply_fpregset): Update. * i386bsd-nat.c (supply_fpregset, fetch_inferior_registers): Update. * i386nbsd-tdep.c (fetch_core_registers, fetch_elfcore_registers): Update. * i386obsd-tdep.c (fetch_core_registers): Update. * i386v4-nat.c (supply_fpregset): Update. * x86-64-linux-nat.c (supply_fpregset): Update. * x86-64-linux-tdep.c (fetch_core_registers): Update.
2003-08-31* i386-linux-nat.c (ps_get_thread_area): Don't define as extern.Mark Kettenis1-35/+40
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-262003-08-26 Andrew Cagney <cagney@redhat.com>Andrew Cagney1-1/+21
* i386-linux-nat.c (ps_get_thread_area): Make "desc" four "int"s in size. Add comments.
2003-08-23* go32-nat.c (fetch_register): Call i387_supply_fsave instead ofMark Kettenis1-2/+2
i387_supply_register. (go32_fetch_registers): Adjust call to i387_supply_fsave. * i386nbsd-tdep.c (fetch_core_registers): Adjust call to i387_supply_fsave. (fetch_elfcore_registers): Adjust call to i387_supply_fsave and i387_supply_fxsave. * i386obsd-tdep.c (fetch_core_registers): Adjust call to i387_supply_fsave. * i386bsd-nat.c (supply_fpregset): Adjust call to i387_supply_fsave. (fetch_inferior_registers): Remove extraneous whitespace. Adjust call to i387_supply_fxsave. Call i387_supply_fsave instead of supply_fpregset. (store_inferior_registers): Remove extraneous whitespace. Call i387_fill_fsave instead of fill_fpregset. * i386gnu-nat.c (fetch_fpregs): Adjust call to i387_supply_fsave. (supply_fpregset): Likewise. * i386v4-nat.c (supply_fpregset): Adjust call to i387_supply_fsave. * i386-interix-nat.c (supply_fpregset): Adjust call to i387_supply_fsave. * i386-linux-nat.c (supply_fpregset): Adjust call to i387_supply_fsave. (supply_fpxregset): Adjust call to i387_adjust_fxsave. * i386-nto-tdep.c (i386nto_supply_fpregset): Adjust calls to i387supply_fsave and i387_supply_fxsave. * i387-tdep.c (i387_supply_fsave): Add `regnum' argument. Incorporate code from `i387_supply_register. (i387_supply_register): Remove. (i387_supply_fxsave): Add `regnum' argument. Update comments. * i387-tdep.h (i387_supply_fsave, i387_supply_fsxave): Adjust prototype. (i387_supply_register): remove prototype. Update comments.
2003-08-17 * Makefile.in (i386-linux-nat.o): Update dependencies.Daniel Jacobowitz1-0/+8
* config/i386/nm-linux.h (LINUX_CHILD_POST_STARTUP_INFERIOR): Define. * config/nm-linux.h (CHILD_POST_STARTUP_INFERIOR, CHILD_POST_ATTACH) (CHILD_FOLLOW_FORK, KILL_INFERIOR): Define. * i386-linux-nat.c: Include "linux-nat.h". (child_post_startup_inferior): New function. * i386-nat.c (child_post_startup_inferior): Wrap in #ifdef. * infptrace.c (kill_inferior): Wrap in #ifdef. * lin-lwp.c (lin_lwp_attach_lwp): Call child_post_attach after attaching to each LWP. (child_wait, lin_lwp_wait): Call linux_handle_extended_wait. (init_lin_lwp_ops): Fill in some more operations. * linux-nat.h (linux_enable_event_reporting) (linux_handle_extended_wait, linux_child_post_startup_inferior): New prototypes. * linux-nat.c (linux_enable_event_reporting): New function. (child_post_attach, linux_child_post_startup_inferior) (child_post_startup_inferior, child_follow_fork) (linux_handle_extended_wait, kill_inferior): New functions.
2003-06-042003-06-04 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston1-0/+18
* acconfig.h: Add HAVE_TKILL_SYSCALL definition check. * config.in: Regenerated. * configure.in: Add test for syscall function and check for __NR_tkill macro in <syscall.h> to set HAVE_TKILL_SYSCALL. * configure: Regenerated. * lin-lwp.c [HAVE_TKILL_SYSCALL]: Include <unistd.h> and <sys/syscall.h>. (kill_lwp): New function that uses tkill syscall or uses kill, depending on whether threading model is nptl or not. All callers of kill() changed to use kill_lwp(). (lin_lwp_wait): Make special check when WIFEXITED occurs to see if all threads have already exited in the nptl model. (stop_and_resume_callback): New callback function used by the lin_lwp_wait thread exit handling code. (stop_wait_callback): Check for threads already having exited and delete such threads fromt the lwp list when discovered. (stop_callback): Don't assert retcode of kill call. Roland McGrath <roland@redhat.com> * i386-linux-nat.c (ps_get_thread_area): New function needed by nptl libthread_db.
2003-06-01* i386-linux-nat.c (child_resume): Use I386_ESP_REGNUM instead ofMark Kettenis1-1/+1
SP_REGNUM. * i386-linux-tdep.c (i386_linux_sigcontext_addr): Likewise. * i386bsd-tdep.c (i386bsd_sigcontext_addr): Likewise.
2003-05-04* i386-linux-nat.c (supply_gregset): Remove unnecessary casts.Mark Kettenis1-3/+2
2003-04-16* i386-linux-nat.c: Add some whitespace to make things moreMark Kettenis1-9/+16
readable. (fetch_register, store_register, fetch_inferior_registers, store_inferior_registers): Get rid of assignment in if-statement. (store_register): Fix typo in error message.
2002-11-09* i386-linux-nat.c (ORIG_EAX): Define to -1 if not alreadyMark Kettenis1-137/+61
defined. (regmap): Extend to cover all registers. (PT_READ_U, PT_WRITE_U, PTRACE_XFER_TYPE, OLD_CANNOT_FETCH_REGISTERS, OLD_CANNOT_STORE_REGISTERS): Remove definitions. (fetch_register, sore_register): Simplify. (old_fetch_inferior_registers, old_store_inferior_registers): Remove functions. (cannot_fetch_register, cannot_store_register): Change implementation to use regmap array to decide which registers cannot be fetched/stored. This removes $orig_eax from the registers that cannot be fetched/stored. (fetch_inferior_registers): Call fetch_register directly instead of calling old_fetch_inferior_registers. (store_inferior_registers): Call store_register directly instead of calling old_store_inferior_registers. (i386_linux_dr_get): Replace PT_READ_U with PTRACE_PEEKUSER. (i386_linux_dr_set): Replace PT_WRITE_U with PTRACE_POKEUSER. * config/i386/nm-linux.h (U_REGS_OFFSET): Remove definition.
2002-09-01* i386-linux-nat.c (dummy_sse_values): Only try to fill in the SSEMark Kettenis1-2/+4
registers if the target really has them. * defs.h: Move inclusion of "ansidecl.h" before "gdb_locale.h". Fix some whitespace problems.
2002-08-27 * Makefile.in (osabi.o, i387-tdep.o, i386-linux-nat.o, lin-lwp.o,Tom Tromey1-0/+1
ax-gdb.o, signals.o, jv-valprint.o, c-valprint.o, cp-abi.o): Update dependencies. * i387-tdep.c: Include gdb_string.h. * osabi.c: Likewise. * i386-linux-nat.c: Likewise. * lin-lwp.c: Likewise. * ax-gdb.c: Likewise. * signals/signals.c: Likewise. * jv-valprint.c: Likewise. * p-lang.c: Likewise. * c-valprint.c: Likewise. * cp-abi.c: Likewise.
2002-06-15* i386-linux-nat.c (OLD_CANNOT_FETCH_REGISTER,Mark Kettenis1-4/+4
OLD_CANNOT_STORE_REGISTER, supply_gregset, fill_gregset): Replace usage of NUM_GREGS with I386_NUM_GREGS.
2002-06-15* i386-linux-nat.c (fill_gregset): Remove redundant parentheses.Mark Kettenis1-1/+1
2002-06-14* Makefile.in (i386_linux_tdep_h): Define.Andrew Cagney1-0/+3
(i386_tdep_h, i387_tdep_h): Define. (i386-linux-nat.o): Add $(i386_linux_tdep_h), $(i386_tdep_h) and $(i387_tdep_h). * i386-linux-nat.c: Include "i386-linux-tdep.h".
2002-06-09* i386-linux-nat.c (suppy_gregset): Don't supplyMark Kettenis1-2/+4
I386_LINUX_ORIG_EAX_REGNUM if there isn't room for it in GDB's register cache. (fill_gregset): Don't fetch it under the same circumstances.
2002-05-11* Makefile.in (ALLDEPFILES): Remove i387-nat.c.Jason Thorpe1-1/+1
(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-02-24s/Linux/.../Andrew Cagney1-11/+13
Fix PR gdb/378.
2002-01-092002-01-09 Michael Snyder <msnyder@redhat.com>Michael Snyder1-3/+3
* i386-linux-nat.c (fill_fpxregset): Make global. (store_fpxregset): Ditto.
2001-12-272001-12-27 Michael Snyder <msnyder@redhat.com>Michael Snyder1-0/+3
* i386-linux-nat.c: Include i386-tdep.h.
2001-11-18 * i386-linux-nat.c (fill_gregset): Fix botched regcache_collect()Kevin Buettner1-1/+1
conversion for I386_LINUX_ORIG_EAX_REGNUM.
2001-11-18 * i386-linux-nat.c (fill_gregset): Use regcache_collect() insteadKevin Buettner1-3/+2
of accessing registers[] directly.
2001-11-17 * i386-linux-nat.c (fill_gregset): Don't invoke read_register_gen()Kevin Buettner1-1/+2
when fetching ORIG_EAX.
2001-11-04* i386-linux-nat.c (GETREGS_SUPPLIES, supply_gregset,Mark Kettenis1-1/+6
fill_gregset): Add support for "orig_eax" register.
2001-05-15Redefine ptid_t to be a struct rather than an int.Kevin Buettner1-11/+0
2001-05-04Phase 1 of the ptid_t changes.Kevin Buettner1-16/+19
2001-04-01* i386-linux-nat.c (i386_linux_dr_get): Change type of returnMark Kettenis1-6/+6
value to `unsigned long'. Change type of `value' to `unsigned long'. (i386_linux_dr_set): Change type of second argument to `unsigned long'. (i386_linux_dr_set_control): Change type of first argument to `unsigned long'. (i386_linux_dr_get_status): Change type of return value to unsigned long. * config/i386/nm-linux.h (i386_linux_dr_set_control, i386_linux_dr_get_status): Adjust prototypes accordingly.
2001-03-28* i386-linux-nat.c (i386_linux_dr_get): Return 0 if ptrace callMark Kettenis1-0/+9
fails instead of calling perror_with_name. This should fix debugging remote i386 targets with a native Linux/x86 GDB. Add FIXME for this hack.
2001-03-21Make Linux use the new unified support for hardware breakpointsMark Kettenis1-0/+107
and watchpoints on x86 targets. * i386-linux-nat.c: Doc fixes. Include "gdb_assert.h". [HAVE_SYS_DEBUGREG_H]: Include <sys/debugreg.h>. (DR_FIRSTADDR, DR_LASTADDR, DR_STATUS, DR_CONTROL): Define to appropriate value if not already defined. (register_u_addr): New function. (kernel_u_size): New function. (i386_linux_dr_get, i386_linux_dr_set): New functions. (i386_linux_dr_set_control, i386_linux_dr_set_addr, i386_linux_reset_addr, i386_linux_dr_get_status): New functions. * config/i386/nm-linux.h: Don't include "nm-i386v.h". (I386_USE_GENERIC_WATCHPOINTS): Define and include "nm-i386.h". (TARGET_HAS_HARDWARE_WATCHPOINTS, TARGET_CAN_USE_HARDWARE_WATCHPOINTS, HAVE_CONTINUABLE_WATCHPOINT, STOPPED_BY_WATCHPOINT, target_insert_watchpoint, target_remove_watchpoint): Remove macros. (i386_stopped_by_watchpoint, i386_insert_watchpoint, i386_remove_watchpoint): Remove prototypes. (register_u_addr): New prototype. (REGISTER_U_ADDR): Define in terms of register_u_addr. (i386_linux_dr_set_control, i386_linux_dr_set_addr, i386_linux_reset_addr, i386_linux_dr_get_status): New prototypes. (I386_DR_LOW_SET_CONTROL, I386_DR_LOW_SET_ADDR, I386_DR_LOW_RESET_ADDR, I386_DR_LOW_GET_STATUS): New macros. * config/i386/linux.mh (NATDEPFILES): Replace i386v-nat.o with i386-nat.o.
2001-03-13Eliminate ARCH_NUM_REGS.Andrew Cagney1-2/+2
2001-03-01Create new file regcache.h. Update all uses.Andrew Cagney1-0/+1
2001-02-08Add __FILE__ and __LINE__ parameter to internal_error() /Andrew Cagney1-3/+5
internal_verror().
2001-01-03* alphabsd-nat.c, i386-linux-nat.c, i386bsd-nat.c: Fix typo in comment.J.T. Conklin1-1/+1
2000-12-21* i386-linux-nat.c (store_fpxregs): Add code to detect support forMark Kettenis1-1/+9
the PTRACE_GETFPXREGS request, and return zero if it's not.
2000-09-22 * i386-linux-nat.c (OLD_CANNOT_FETCH_REGISTER,Peter Schauer1-8/+24
OLD_CANNOT_FETCH_REGISTER): New definitions for accessible registers when accessing the registers via the U area. (fetch_register, store_register): Use them. (cannot_fetch_register, cannot_store_register): New functions, all registers should be accessible if we have GETREGS support. * config/i386/nm-linux.h: Use cannot_fetch/store_register for CANNOT_FETCH/STORE_REGISTER definitions.
2000-08-292000-08-29 Michael Snyder <msnyder@cleaver.cygnus.com>Michael Snyder1-97/+0
* i386-linux-nat.c (i386_linux_skip_solib_resolver, skip_hurd_resolver, find_minsym_and_objfile): Move these solib functions into i386-linux-tdep.c for cross debugging. * i386-linux-tdep.c: Receive the above functions.
2000-08-28* i386-linux-nat.c (fetch_inferior_registers): Move call toMark Kettenis1-1/+4
dummy_sse_values ... (supply_fpregset): ... here.
2000-08-11* i386-linux-nat.c [! HAVE_PTRACE_GETFPXREGS] (fetch_fpxregs,Mark Kettenis1-2/+2
store_fpxregs): Return 0.
2000-08-10Adapt support for SSE registers in Linux/x86 for Linux 2.4.Mark Kettenis1-352/+103
* i386-linux-nat.c: Various doc fixes. Include "i387-nat.h". (GETFPXREGS_SUPPLIES): Renamed from GETXFPREGS_SUPPLIES. (have_ptrace_getfpxregs): Renamed from have_ptrace_getxfpregs. (convert_to_gregset): Removed. Moved logic to ... (fill_gregset): ... here. Simplified function. (fetch_regs): Use perror_with_name for error reporting. (store_regs): Add `regno' parameter. Use perror_with_name for error reporting. Call fill_gregset instead of convert_to_gregset. (FPREG_ADDR): Remove. (supply_fpregset): Implement by calling i387_supply_fsave. (convert_to_fpregset): Remove. (fill_fpregset): Implement by calling i387_fill_fsave. (fetch_fpregs): Use perror_with_name fro error reporting. (store_fpregs) Add `regno' parameter. Use perror_with_name fro error reporting. Call fill_fpregset instead of convert_to_fpregset. (supply_xfpregset, convert_to_xfpregset): Removed. (supply_fpxregset, fill_fpxregset): New functions. (fetch_fpxregs): Renamed from fetch_xfpregs. Use perror_with_name for error reporting. Call supply_fpxregset instead of supply_xfpregset. (store_xfpregs): Removed. (store_fpxregs): New function. (fetch_inferior_registers): Adjust for xfp -> fpx change. Tweak message in call to internal_error. (store_inferior_registers): Adjust for xfp ->fpx change. Pass REGNO to store_regs, store_fpregs and store_fpxregs. (fetch_core_registers): Adjust for xfp -> fpx change. * acconfig.h (HAVE_PTRACE_GETFPXREGS): Renamed from HAVE_PTRACE_GETXFPREGS. * config.in: Regenerated. * configure.in: Replace check for PTRACE_GETXFPREGS with check for PTRACE_GETFPXREGS. Remove comment about Cygnus SSE extensions. * configure: Regenerated. * config/i386/linux.mh (NATDEPFILES): Add i387-nat.o. * config/i386/tm-linux.h: Base definition of HAVE_SSE_REGS on HAVE_PTRACE_GETFPXREGS instead of HAVE_PTRACE_GETXFPREGS.
2000-07-30Protoization.Kevin Buettner1-9/+5
2000-05-262000-05-26 Michael Snyder <msnyder@seadog.cygnus.com>Michael Snyder1-0/+3
* gregset.h: New file. Typedefs for gdb_gregset_t and gdb_fpregset_t, prototypes for supply_gregset and friends. * procfs.c: Include gregset.h. Delete local prototypes for supply_gregset etc., and local typedef gdb_gregset_t etc. * sol-thread.c: Include gregset.h, delete local prototypes, add appropriate casts to gdb_gregset_t. * uw-thread.c, lin-thread.c, core-sol2.c, core-regset.c, sparc-tdep.c, ptx4-nat.c, ppc-linux-nat.c, mipsv4-nat.c, m88k-nat.c, m68klinux-nat.c, m68k-tdep.c, irix5-nat.c, irix4-nat.c, ia64-linux-nat.c, i386v4-nat.c, cxux-nat.c, arm-linux-nat.c, alpha-nat.c: Include gregset.h. * config/nm-linux.h: Define GDB_GREGSET_T, GDB_FPREGET_T. * config/sparc/tm-sun4sol2.h: Ditto.
2000-05-04* i386-linux-nat.c: Define PT_READ_U and PT_WRITE_U if they're notMark Kettenis1-0/+7
already defined.
2000-04-302000-04-30 Mark Kettenis <kettenis@gnu.org>Mark Kettenis1-0/+85
Fix single-stepping out of signal trampolines. * config/i386/nm-linux.h (CHILD_RESUME): Define. * i386-linux-nat.c (child_resume): New function.
2000-04-022000-04-02 Mark Kettenis <kettenis@gnu.org>Mark Kettenis1-0/+1
* i386-linux-nat.c: Add copyright notice.
2000-03-20* i386-linux-nat.c: No need to #include "frame.h" any more.Jim Blandy1-258/+0
(LINUX_SIGTRAMP_INSN0, LINUX_SIGTRAMP_OFFSET0, LINUX_SIGTRAMP_INSN1, LINUX_SIGTRAMP_OFFSET1, LINUX_SIGTRAMP_INSN2, LINUX_SIGTRAMP_OFFSET2, linux_sigtramp_code, LINUX_SIGTRAMP_LEN, i386_linux_sigtramp_start, LINUX_RT_SIGTRAMP_INSN0, LINUX_RT_SIGTRAMP_OFFSET0, LINUX_RT_SIGTRAMP_INSN1, LINUX_RT_SIGTRAMP_OFFSET1, linux_rt_sigtramp_code, LINUX_RT_SIGTRAMP_LEN, i386_linux_rt_sigtramp_start, i386_linux_in_sigtramp, i386_linux_sigcontext_addr, LINUX_SIGCONTEXT_PC_OFFSET, i386_linux_sigtramp_saved_pc, LINUX_SIGCONTEXT_SP_OFFSET, i386_linux_sigtramp_saved_sp): Deleted. Folks rightly pointed out that these are target-dependent, and useful in non-native configurations. Moved to... * i386-linux-tdep.c: ... Here, a new file. * Makefile.in (ALLDEPFILES): Add i386-linux-tdep.c. (i386-linux-tdep.o): New rule. (i386-linux-nat.o): We no longer depend on frame.h. * config/i386/linux.mt (TDEPFILES): Add i386-linux-tdep.o.
2000-03-16* i386-linux-nat.c (i386_linux_saved_pc_after_call): Lost in theJim Blandy1-0/+11
merge; reinstated.
2000-03-16Doc fix.Jim Blandy1-0/+2
2000-03-16* i386-tdep.c (LINUX_SIGTRAMP_INSN0, LINUX_SIGTRAMP_OFFSET0,Jim Blandy1-0/+246
LINUX_SIGTRAMP_INSN1, LINUX_SIGTRAMP_OFFSET1, LINUX_SIGTRAMP_INSN2, LINUX_SIGTRAMP_OFFSET2, linux_sigtramp_code, LINUX_SIGTRAMP_LEN, i386_linux_sigtramp_start, LINUX_RT_SIGTRAMP_INSN0, LINUX_RT_SIGTRAMP_OFFSET0, LINUX_RT_SIGTRAMP_INSN1, LINUX_RT_SIGTRAMP_OFFSET1, linux_rt_sigtramp_code, LINUX_RT_SIGTRAMP_LEN, i386_linux_rt_sigtramp_start, i386_linux_in_sigtramp, i386_linux_sigcontext_addr, LINUX_SIGCONTEXT_PC_OFFSET, i386_linux_sigtramp_saved_pc, LINUX_SIGCONTEXT_SP_OFFSET, i386_linux_sigtramp_saved_sp): Deleted. These all implement Linux-specific signal trampoline detection, and should be moved to... * i386-linux-nat.c: ... here. * config/i386/tm-linux.h (I386_LINUX_SIGTRAMP): No need to define this any more, since we're not enabling OS-specific code in a OS-independent file.