summaryrefslogtreecommitdiff
path: root/gdb/i386-linux-nat.c
Commit message (Collapse)AuthorAgeFilesLines
* * i386-linux-nat.c: Update copyrigth year. Tweak comment.Mark Kettenis2004-04-091-2/+2
|
* * i386-linux-nat.c: Add comment.Mark Kettenis2003-12-261-0/+2
|
* * i386-linux-nat.c (fetch_core_registers): Remove.Mark Kettenis2003-10-311-94/+1
| | | | | (linux_elf_core_fns): Remove. (_initialize_i386_linux_nat): Remove.
* * i387-tdep.c (i387_supply_fsave, i387_supply_fxsave): AddMark Kettenis2003-09-281-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.
* * i386-linux-nat.c (ps_get_thread_area): Don't define as extern.Mark Kettenis2003-08-311-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-26 Andrew Cagney <cagney@redhat.com>Andrew Cagney2003-08-261-1/+21
| | | | | * i386-linux-nat.c (ps_get_thread_area): Make "desc" four "int"s in size. Add comments.
* * go32-nat.c (fetch_register): Call i387_supply_fsave instead ofMark Kettenis2003-08-231-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.
* * Makefile.in (i386-linux-nat.o): Update dependencies.Daniel Jacobowitz2003-08-171-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-04 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2003-06-041-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.
* * i386-linux-nat.c (child_resume): Use I386_ESP_REGNUM instead ofMark Kettenis2003-06-011-1/+1
| | | | | | SP_REGNUM. * i386-linux-tdep.c (i386_linux_sigcontext_addr): Likewise. * i386bsd-tdep.c (i386bsd_sigcontext_addr): Likewise.
* * i386-linux-nat.c (supply_gregset): Remove unnecessary casts.Mark Kettenis2003-05-041-3/+2
|
* * i386-linux-nat.c: Add some whitespace to make things morecarlton_dictionary-20030416-mergeMark Kettenis2003-04-161-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.
* * i386-linux-nat.c (ORIG_EAX): Define to -1 if not alreadyMark Kettenis2002-11-091-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.
* * i386-linux-nat.c (dummy_sse_values): Only try to fill in the SSEMark Kettenis2002-09-011-2/+4
| | | | | | | | registers if the target really has them. * defs.h: Move inclusion of "ansidecl.h" before "gdb_locale.h". Fix some whitespace problems.
* * Makefile.in (osabi.o, i387-tdep.o, i386-linux-nat.o, lin-lwp.o,Tom Tromey2002-08-271-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.
* * i386-linux-nat.c (OLD_CANNOT_FETCH_REGISTER,Mark Kettenis2002-06-151-4/+4
| | | | | OLD_CANNOT_STORE_REGISTER, supply_gregset, fill_gregset): Replace usage of NUM_GREGS with I386_NUM_GREGS.
* * i386-linux-nat.c (fill_gregset): Remove redundant parentheses.Mark Kettenis2002-06-151-1/+1
|
* * Makefile.in (i386_linux_tdep_h): Define.Andrew Cagney2002-06-141-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".
* * i386-linux-nat.c (suppy_gregset): Don't supplyMark Kettenis2002-06-091-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.
* * Makefile.in (ALLDEPFILES): Remove i387-nat.c.Jason Thorpe2002-05-111-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.
* s/Linux/.../Andrew Cagney2002-02-241-11/+13
| | | | Fix PR gdb/378.
* 2002-01-09 Michael Snyder <msnyder@redhat.com>Michael Snyder2002-01-091-3/+3
| | | | | * i386-linux-nat.c (fill_fpxregset): Make global. (store_fpxregset): Ditto.
* 2001-12-27 Michael Snyder <msnyder@redhat.com>Michael Snyder2001-12-271-0/+3
| | | | * i386-linux-nat.c: Include i386-tdep.h.
* * i386-linux-nat.c (fill_gregset): Fix botched regcache_collect()Kevin Buettner2001-11-181-1/+1
| | | | conversion for I386_LINUX_ORIG_EAX_REGNUM.
* * i386-linux-nat.c (fill_gregset): Use regcache_collect() insteadKevin Buettner2001-11-181-3/+2
| | | | of accessing registers[] directly.
* * i386-linux-nat.c (fill_gregset): Don't invoke read_register_gen()Kevin Buettner2001-11-171-1/+2
| | | | when fetching ORIG_EAX.
* * i386-linux-nat.c (GETREGS_SUPPLIES, supply_gregset,Mark Kettenis2001-11-041-1/+6
| | | | fill_gregset): Add support for "orig_eax" register.
* Redefine ptid_t to be a struct rather than an int.Kevin Buettner2001-05-151-11/+0
|
* Phase 1 of the ptid_t changes.gdb-post-ptid_t-2001-05-03Kevin Buettner2001-05-041-16/+19
|
* * i386-linux-nat.c (i386_linux_dr_get): Change type of returnMark Kettenis2001-04-011-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.
* * i386-linux-nat.c (i386_linux_dr_get): Return 0 if ptrace callMark Kettenis2001-03-281-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.
* Make Linux use the new unified support for hardware breakpointsMark Kettenis2001-03-211-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.
* Eliminate ARCH_NUM_REGS.Andrew Cagney2001-03-131-2/+2
|
* Create new file regcache.h. Update all uses.Andrew Cagney2001-03-011-0/+1
|
* Add __FILE__ and __LINE__ parameter to internal_error() /Andrew Cagney2001-02-081-3/+5
| | | | internal_verror().
* * alphabsd-nat.c, i386-linux-nat.c, i386bsd-nat.c: Fix typo in comment.J.T. Conklin2001-01-031-1/+1
|
* * i386-linux-nat.c (store_fpxregs): Add code to detect support forMark Kettenis2000-12-211-1/+9
| | | | the PTRACE_GETFPXREGS request, and return zero if it's not.
* * i386-linux-nat.c (OLD_CANNOT_FETCH_REGISTER,Peter Schauer2000-09-221-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-29 Michael Snyder <msnyder@cleaver.cygnus.com>Michael Snyder2000-08-291-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.
* * i386-linux-nat.c (fetch_inferior_registers): Move call toMark Kettenis2000-08-281-1/+4
| | | | | dummy_sse_values ... (supply_fpregset): ... here.
* * i386-linux-nat.c [! HAVE_PTRACE_GETFPXREGS] (fetch_fpxregs,Mark Kettenis2000-08-111-2/+2
| | | | store_fpxregs): Return 0.
* Adapt support for SSE registers in Linux/x86 for Linux 2.4.Mark Kettenis2000-08-101-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.
* Protoization.gdb-post-protoization-2000-07-29Kevin Buettner2000-07-301-9/+5
|
* 2000-05-26 Michael Snyder <msnyder@seadog.cygnus.com>gdb-pre-params-removal-2000-05-28Michael Snyder2000-05-261-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.
* * i386-linux-nat.c: Define PT_READ_U and PT_WRITE_U if they're notMark Kettenis2000-05-041-0/+7
| | | | already defined.
* 2000-04-30 Mark Kettenis <kettenis@gnu.org>Mark Kettenis2000-04-301-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-02 Mark Kettenis <kettenis@gnu.org>Mark Kettenis2000-04-021-0/+1
| | | | * i386-linux-nat.c: Add copyright notice.
* * i386-linux-nat.c: No need to #include "frame.h" any more.Jim Blandy2000-03-201-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.
* * i386-linux-nat.c (i386_linux_saved_pc_after_call): Lost in theJim Blandy2000-03-161-0/+11
| | | | merge; reinstated.
* Doc fix.Jim Blandy2000-03-161-0/+2
|