Commit graph

347 commits

Author SHA1 Message Date
Mark Kettenis
46711df821 * event-top.c (async_stop_sig) [HAVE_SIGPROCMASK]: Some
gratuitious whitespace changes.
[!HAVE_SIGPROCMASK]: Call sigsetmask if HAVE_SIGSETMASK is defined.
* top.c: Remove redundant logic to define HAVE_SIGSETMASK.
(sigsetmask) Don't define macro.
(stop_sig) [HAVE_SIGPROCMASK]: Add bit of code snatched from
async_stop_sig from event-top.c.
[!HAVE_SIGPROCMASK]: Call sigsetmask if HAVE_SIGSETMASK is
defined.
* configure.in (AC_CHECK_FUNCS): Put functions in alphabetical
order.  Add sigsetmask.
(AC_FUNC_VFORK, AC_FUNC_ALLOCA): Reorder such that they're in
alphabetical order.
* config/xm-aix4.h, config/alpha/xm-alphalinux.h,
config/i386/xm-cygwin.h, config/rs6000/xm-rs6000.h
(HAVE_SIGSETMASK): Remove.
* aclocal.m4, config.in, configure
2001-08-27 22:39:56 +00:00
Mark Kettenis
ceacb162a1 * config/xm-lynx.h, config/xm-nbsd.h, config/xm-sysv4.h,
config/i386/xm-i386aix.h, config/m68k/xm-dpx2.h: Remove redundant
inclusion of <limits.h>.
2001-08-24 12:19:59 +00:00
Andrew Cagney
5ea92dfe6a Convert some floatformat_{to,from}_double to floatformat_{to,from}_doublest. 2001-08-12 03:19:22 +00:00
Eli Zaretskii
40cd916ff9 * config/i386/xm-go32.h: Include xm-i386.h.
(HOST_BYTE_ORDER, HOST_LONG_DOUBLE_FORMAT): Remove definitions.
2001-08-02 15:18:15 +00:00
Andrew Cagney
d16aafd8c8 * defs.h (HOST_FLOAT_FORMAT, HOST_DOUBLE_FORMAT)
(HOST_FLOAT_FORMAT, HOST_DOUBLE_FORMAT)
(HOST_LONG_DOUBLE_FORMAT, DOUBLEST)
(floatformat_to_doublest, floatformat_from_doublest)
(floatformat_is_negative, floatformat_is_nan)
(floatformat_mantissa, store_floating)
(extract_floating): Move declaration from here.
* doublest.h: To here.  New file.
* utils.c (get_field, floatformat_to_doublest, put_field)
(ldfrexp, floatformat_from_doublest, floatformat_is_negative)
(floatformat_is_nan, floatformat_mantissa)
(FLOATFORMAT_CHAR_BIT): Move from here.
* doublest.c: To here.  New file.
* findvar.c (store_floating, extract_floating): Move from here.
* doublest.c: To here.
* Makefile.in (SFILES): Add doublest.c.
(COMMON_OBS): Add doublest.o.
(doublest.o): Specify dependencies.
(doublest_h): Define.

* config/m88k/tm-m88k.h: Include "doublest.h".
* config/i960/tm-i960.h: Ditto.
* config/i386/tm-symmetry.h: Ditto.
* rs6000-tdep.c, valarith.c: Ditto.
* valprint.c, stabsread.c, sh-tdep.c: Ditto.
* ia64-tdep.c, i387-tdep.c, i386-tdep.c: Ditto.
* values.c, arm-tdep.c, arm-linux-tdep.c: Ditto.
* alpha-tdep.c, ax.h, expression.h: Ditto.
* sh-tdep.c, parse.c, top.c, value.h: Ditto.

* Makefile.in (arm-tdep.o): Add $(doublest_h).
(i386-tdep.o, i387-tdep.o, ia64-tdep.o): Ditto.
(rs6000-tdep.o, stabsread.o, valarith.o): Ditto.
(values.o, valprint.o, arm-linux-tdep.o): Ditto.
(alpha-tdep.o, ax_h, parse.o, top.o, value_h): Ditto.
(parser_defs_h): Ditto.
(expression_h): Add $(doublest_h) and $(symtab_h).
2001-08-01 18:39:27 +00:00
Mark Kettenis
1ca66634bd * config/i386/xm-i386.h: New file.
* config/i386/xm-fbsd.h: Removed.
* config/i386/xm-linux.h: Removed.
* config/i386/fbsd.mh: Reorganize a bit.
(XM_FILE): Set to xm-i386.h instead of xm-fbsd.h.
* config/i386/linux.mh (XM_FILE): Set to xm-i386.h insread of
xm-linux.h.
2001-07-31 19:22:57 +00:00
Mark Kettenis
4b418e06b0 * config/i386/tm-i386sol2.h (STAB_REG_TO_REGNUM): Redefine to call
i386_dwarf_reg_to_regnum.
2001-07-30 21:45:26 +00:00
Mark Kettenis
846a440c9c * config/i386/tm-i386.h (STAB_REG_TO_REGNUM, SDB_REG_TO_REGNUM,
DWARF_REG_TO_REGNUM, DWARF2_REG_TO_REGNUM): New defines.
(i386_stab_reg_to_regnum, i386_dwarf_reg_to_regnum): New
prototypes.
* config/i386/tm-fbsd.h, config/i386/tm-i386gnu.h,
config/i386/tm-linux.h (STAB_REG_TO_REGNUM): Redefine to call
i386_dwarf_reg_to_regnum.
* i386-tdep.c (i386_stab_reg_to_regnum, i386_dwarf_reg_to_regnum):
New functions.
2001-07-30 10:17:46 +00:00
Eli Zaretskii
6c56c06965 Support for stepping through longjmp in DJGPP programs:
* config/i386/tm-go32.h (JB_ELEMENT_SIZE, JB_PC): New macros.
	(GET_LONGJMP_TARGET): Define to call get_longjmp_target.
	(get_longjmp_target): Add prototype.
2001-07-29 08:03:36 +00:00
Mark Kettenis
a2585ce735 * config/i386/tm-i386.h (STAB_REG_TO_REGNUM, SDB_REG_TO_REGNUM,
DWARF_REG_TO_REGNUM, DWARF2_REG_TO_REGNUM): New defines.
(i386_stab_reg_to_regnum, i386_dwarf_reg_to_regnum): New
prototypes.
* config/i386/tm-fbsd.h, config/i386/tm-i386gnu.h,
config/i386/tm-linux.h (STAB_REG_TO_REGNUM): Redefine to call
i386_dwarf_reg_to_regnum.
* i386-tdep.c (i386_stab_reg_to_regnum, i386_dwarf_reg_to_regnum):
New functions.
2001-07-28 19:30:41 +00:00
Mark Kettenis
85540d8c4a * config/i386/tm-i386.h (STAB_REG_TO_REGNUM, SDB_REG_TO_REGNUM,
DWARF_REG_TO_REGNUM, DWARF2_REG_TO_REGNUM): New defines.
(i386_stab_reg_to_regnum, i386_dwarf_reg_to_regnum): New
prototypes.
* config/i386/tm-fbsd.h, config/i386/tm-i386gnu.h,
config/i386/tm-linux.h (STAB_REG_TO_REGNUM): Redefine to call
i386_dwarf_reg_to_regnum.
* i386-tdep.c (i386_stab_reg_to_regnum, i386_dwarf_reg_to_regnum):
New functions.
2001-07-28 17:03:38 +00:00
Mark Kettenis
0200359f12 * configure.in (AC_CHECK_FUNCS): Add setpggrp.
(AC_FUNC_SETPGRP): Add.
* aclocal.m4, configure, config.in: Regenerated.
* inflow.c (gdb_setpgid): Get rid of NEED_POSIX_SETPGID and
SETPGRP_ARGS.  Always use setpgid if it is available, fall back on
setpgrp if it isn't.  Use SETPGRP_VOID (defined by autoconf) to
distinguish between the two setpgrp flavours.
* config/xm-sysv4.h, config/arm/xm-linux.h,
config/i386/xm-i386aix.h, config/i386/xm-sco.h,
config/i386/xm-linux.h, config/i386/xm-ptx.h,
config/m68k/xm-linux.h, config/powerpc/xm-linux.h,
config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h,
config/ia64/xm-linux.h (NEED_POSIX_SETPGID): Remove.
* config/rs6000/xm-rs6000.h (SETPGRP_ARGS): Remove.
2001-07-23 19:21:57 +00:00
Mark Kettenis
383d750bf3 * i386gnu-nat.c: Include "i387-nat.h".
(struct env387): Removed.
(reg_offset): Fix comment.
(fetch_fpregs): Use FCTRL_REGNUM and FOP_REGNUM instead of
FIRST_FPU_CONTROL_REGNUM and LAST_FPU_CONTROL_REGNUM.  Rewrite to
use i387_supply_fsave.
(gnu_fetch_registers): Remove spurious whitespace.
(convert_to_env387): Remove.
(store_fpregs): Add argument regno.  Use i387_fill_fsave instead
of convert_to_env387.
(gnu_store_registers): Remove spurious whitespace.  Pass REGNO to
store_fpregs.
* config/i386/i386gnu.mt (TDEPFILES): Add i387-tdep.o.
* config/i386/i386gnu.mh (XDEPFILES): Remove i387-tdep.o.
(NATDEPFILES): Add i387-nat.o.
2001-07-22 20:35:14 +00:00
Mark Kettenis
256304449f * i386bsd-nat.c: Do not include <sys/sysctl.h>.
(_initialize_i386bsd_nat) [KERN_PS_STRINGS]: Move FreeBSD-specific
code to ...
* i386fbsd-nat.c: ... here.  New file.
* config/i386/fbsd.mh (NATDEPFILES): Add i386-fbsd.o.
* config/i386/nm-fbsd.h (CHILD_RESUME): Define.
* Makefile.in (ALLDEPFILES): Add i386fbsd-nat.c.
(i386fbsd-nat.o): Add dependencies.
2001-07-21 20:16:44 +00:00
Mark Kettenis
1fe7ac855c * config/i386/xm-linux.h (KERNEL_U_ADDR): Move from here...
* config/i386/nm-linux.h: ...to here.  Change comments about user
area/struct a bit.
2001-07-14 11:55:29 +00:00
Mark Kettenis
d0f3ce3c53 * config/i386/xm-linux.h (HAVE_TERMIOS): Really remove. 2001-07-14 11:12:52 +00:00
Mark Kettenis
b724791951 * i386bsd-nat.c: Include <signal.h>, <stddef.h> and
<sys/sysctl.h>.
(store_inferior_registers): Wrap long line.
(i386bsd_dr_get_status): Fix typo in comment.
(_initialize_i386bsd_nat): New function.  * i386bsd-tdep.c: New
file.  * config/i386/tm-fbsd.h (IN_SIGTRAMP): New define.
(i386bsd_in_sigtramp): New prototype.
(SIGTRAMP_START, SIGTRAMP_END): Redefine in terms...
(i386bsd_sigtramp_start, i386bsd_sigtramp_end): ...these new
(external) variables.
(SIGCONTEXT_PC_OFFSET): Removed.
(FRAME_SAVED_PC): New define.
(i386bsd_frame_saved_pc): New function.  * config/i386/fbsd.mt
(TDEPFILES): Add i386bsd-tdep.o.
2001-07-13 18:27:21 +00:00
Daniel Jacobowitz
6ef7fa21cf fix i386-linux cannot_fetch/store_register 2001-07-13 05:19:30 +00:00
Mark Kettenis
e087d0d6ee * config/i386/xm-go32.h (HOST_I386): Removed.
* config/i386/xm-linux.h (HOST_I386): Removed.
2001-07-05 14:40:51 +00:00
Eli Zaretskii
4ac40b292f * config/i386/xm-go32.h (SLASH_P, ROOTED_P, SLASH_CHAR)
(SLASH_STRING): Remove unised definitions.
	* config/i386/xm-cygwin.h: Likewise.
2001-06-13 09:08:05 +00:00
Kevin Buettner
ca6724c16a Redefine ptid_t to be a struct rather than an int. 2001-05-15 00:03:38 +00:00
Mark Kettenis
0d17c81d95 * i386-tdep.c (i386_frame_saved_pc): New function.
* config/i386/tm-i386.h (FRAME_SAVED_PC): Redefine in terms of
i386_frame_saved_pc.
(i386_frame_saved_pc): New prototype.
2001-05-09 16:16:33 +00:00
Mark Kettenis
d7a0d72c95 * i386-tdep.c (i386_register_virtual_type): New function.
(i386_register_convertible): New function.
* config/i386/tm-i386.h (REGISTER_VIRTUAL_TYPE): Redefine in terms
of i386_register_virtual_type.
(REGISTER_CONVERTIBLE): Redefine in terms of
i386_register_convertible.
(i386_register_virtual_type, i386_register_convertible): New
prototypes.
2001-05-09 09:58:45 +00:00
Mark Kettenis
c6ec85d6ae * config/i386/tm-i386v.h (struct frame_info, struct
frame_saved_regs):  Remove declarations.
(i386_frame_num_args): Remove prototype.
2001-05-08 12:00:49 +00:00
Kevin Buettner
39f770628a Phase 1 of the ptid_t changes. 2001-05-04 04:15:33 +00:00
Mark Kettenis
539ffe0b42 * i386-tdep.c (i386_frameless_function_invocation): New function.
* config/i386/tm-i386.h (FRAMELESS_FUNCTION_INVOCATION): Redefine
in terms of i386_frameless_function_invocation.  Adjust comment.
(i386_frameless_function_invocation): New prototype.
2001-04-19 11:39:48 +00:00
Mark Kettenis
ed84f6c149 * i386-tdep.c (i386_saved_pc_after_call): New function.
* config/i386/tm-i386.h (SAVED_PC_AFTER_CALL): Redefine in terms
of i386_saved_pc_after_call.
(i386_saved_pc_after_call): New prototype.
2001-04-17 23:20:55 +00:00
Mark Kettenis
c833a37e77 * i386-tdep.c (i386_frame_chain): New function.
* config/i386/tm-i386.h (FRAME_CHAIN): Redefine in terms of
i386_frame_chain.
(i386_frame_chain): New prototype.
2001-04-16 13:03:15 +00:00
Kevin Buettner
7f6b83a5db * config/i386/fbsd.mh (NATDEPFILES): Add i386-nat.o. 2001-04-12 18:44:40 +00:00
Andrew Cagney
24f89b6880 Obsolete sun386i. 2001-04-11 22:39:07 +00:00
Mark Kettenis
f7af964784 * i386-tdep.c (i386_extract_struct_value_address): New function.
* config/i386/tm-i386.h (EXTRACT_STRUCT_VALUE_ADDRESS): Redefine
in terms of i386_extract_struct_value_address.
(i386_extract_struct_value_address): New prototype.
2001-04-01 12:39:52 +00:00
Mark Kettenis
7bf0983e94 * i386-linux-nat.c (i386_linux_dr_get): Change type of return
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-04-01 10:48:48 +00:00
Mark Kettenis
0afdd43759 * i386bsd-nat.c: Include "gdb_assert.h".
[HAVE_PT_GETDBREGS] (DBREG_DRX): Define if not
already defined.
[HAVE_PT_GETDBREGS] (i386bsd_dr_set, i386bsd_dr_set_control,
i386bsd_dr_set_addr, i386bsd_dr_reset_addr,
i386bsd_dr_get_status): New functions.
* config/i386/nm-fbsd.h [HAVE_PT_GETDBREGS]
(I386_USE_GENERIC_WATCHPOINTS): Define.
Include "i386/nm-i386.h".
(I386_DR_LOW_SET_CONTROL, I386_DR_LOW_SET_ADDR,
I386_DR_LOW_RESET_ADDR, I386_DR_LOW_GET_STATUS): New macros.
(i386bsd_dr_set_control, i386bsd_dr_set_addr,
i386bsd_dr_reset_addr, i386bsd_dr_get_status): New prototypes.
* acconfig.h (HAVE_PT_GETDBREGS): New configure macro.
* configure.in: Cleanup a few comments.  Check for PT_GETDBREGS
ptrace request.
* config.in, configure: Regenerate.
2001-03-31 18:09:03 +00:00
Mark Kettenis
b05f243280 * i386-linux-tdep.c (FRAMELESS_SIGNAL): Moved here from
config/i386/nm-linux.h (including comment).
(i386_linux_frame_chain): New function implementing guts of the
former FRAME_CHAIN macro, but using read_memory_unsigned_integer
instead of read_memory_integer.
(i386_linux_frame_saved_pc): Removed doc pointing to
i386/tm-linux.h for an explanation of FRAMELESS_SIGNAL since that
now lives in this file.
* config/i386/tm-linux.h (FRAMELESS_SIGNAL): Moved to
i386-linux-tdep.c (including comment).
(FRAME_CHAIN): Redefined in terms of i386_linux_frame_chain.
(i386_linux_frame_chain): New prototype.
2001-03-28 11:36:23 +00:00
Mark Kettenis
50e27f84bf * i386-linux-tdep.c (i386_linux_sigtramp_saved_pc,
i386_linux_sigtramp_saved_sp): Make static.
(i386_linux_frame_saved_pc): New function based on the old
FRAME_SAVED_PC macro, but use read_memory_unsigned_integer instead
of read_memory_integer.
* config/i386/tm-linux.h (sigtramp_saved_pc): Remove definition.
(i386_linux_sigtramp_saved_pc): Remove prototype.
(FRAME_SAVED_PC): Redefine in terms of i386_linux_frame_saved_pc.
(i386_linux_frame_saved_pc): New prototype.
2001-03-26 19:51:47 +00:00
Mark Kettenis
5b31405b6e * config/i386/tm-symmetry.h (PUSH_ARGUMENTS): #undef. 2001-03-26 12:25:31 +00:00
Mark Kettenis
22f8ba5774 * i386-tdep.c (i386_push_arguments, i386_store_struct_return): New
functions.
* config/i386/tm-i386.h (PUSH_ARGUMENTS): New macro.
(STORE_STRUCT_RETURN): Redefine in terms of
i386_store_struct_return.
(i386_push_arguments, i386_store_struct_return): New prototypes.
* config/i386/tm-i386v.h (STORE_STRUCT_RETURN): Remove.  It's
definition was identical to the definition in "i386/tm-i386.h" so
the new definition should suffice too.
2001-03-26 12:11:14 +00:00
Mark Kettenis
207e433e1d * config/i386/nm-i386.h: Fix formatting and change reference to
i386-tdep.c to i386-nat.c.
2001-03-23 16:17:45 +00:00
Eli Zaretskii
e24d4c64ff * config/i386/nm-go32.h <top level>: Don't include nm-i386v.h,
include nm-i386.h instead.
	(TARGET_HAS_HARDWARE_WATCHPOINTS, HAVE_CONTINUABLE_WATCHPOINT)
	(TARGET_CAN_USE_HARDWARE_WATCHPOINT, STOPPED_BY_WATCHPOINT)
	(TARGET_REGION_OK_FOR_HW_WATCHPOINT, DECR_PC_AFTER_HW_BREAK)
	(target_stopped_data_address, target_insert_watchpoint)
	(target_remove_watchpoint, target_insert_hw_breakpoint)
	(target_remove_hw_breakpoint): Don't define.
	(I386_USE_GENERIC_WATCHPOINTS, I386_DR_LOW_SET_CONTROL)
	(I386_DR_LOW_SET_ADDR, I386_DR_LOW_RESET_ADDR)
	(I386_DR_LOW_GET_STATUS): Define to call appropriate go32_*
	functions from go32-nat.c.

	* config/i386/go32.mh (NATDEPFILES): Add i386-nat.o.

	* go32-nat.c <top level>: Remove prototypes for watchpoint-
	related functions.  Remove definitions of watchpoint-related
	macros.
	(go32_mourn_inferior): Call i386_cleanup_dregs instead of the
	private cleanup_dregs function.
	(cleanup_dregs, go32_insert_watchpoint)
	(go32_insert_aligned_watchpoint, go32_handle_nonaligned_watchpoint)
	(go32_remove_watchpoint, go32_remove_aligned_watchpoint)
	(go32_region_ok_for_watchpoint, go32_stopped_by_watchpoint)
	(go32_remove_hw_breakpoint, go32_insert_hw_breakpoint): Remove.
	(go32_set_dr, go32_set_dr7, go32_get_dr6): New functions.
2001-03-22 09:35:19 +00:00
Mark Kettenis
84346e11ea Make Linux use the new unified support for hardware breakpoints
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-21 21:22:49 +00:00
Eli Zaretskii
52b9821179 Unified support for hardware breakpoints and watchpoints on
x86 targets:

	* config/i386/nm-i386.h: New file.

	* config/i386/nm-i386.h: (i386_cleanup_dregs)
	(i386_insert_watchpoint, i386_remove_watchpoint)
	(i386_region_ok_for_watchpoint, i386_stopped_by_hwbp)
	(i386_stopped_data_address, i386_insert_hw_breakpoint)
	(i386_remove_hw_breakpoint): Declare prototypes.
	[I386_USE_GENERIC_WATCHPOINTS] (TARGET_CAN_USE_HARDWARE_WATCHPOINT):
	Define if not already defined.
	(TARGET_REGION_OK_FOR_HW_WATCHPOINT, HAVE_CONTINUABLE_WATCHPOINT)
	(STOPPED_BY_WATCHPOINT, target_stopped_data_address)
	(target_insert_watchpoint, target_remove_watchpoint)
	(target_insert_hw_breakpoint, target_remove_hw_breakpoint): Define
	to call the appropriate i386_* functions.

	* i386-nat.c: New file.

	* i386-nat.c (I386_DR_CONTROL_MASK, I386_DR_LOCAL_ENABLE)
	(I386_DR_GLOBAL_ENABLE, I386_DR_DISABLE, I386_DR_SET_RW_LEN)
	(I386_DR_GET_RW_LEN, I386_DR_WATCH_HIT): New macros.
	(dr_mirror, dr_status_mirror, dr_control_mirror, dr_ref_count)
	(maint_show_dr): New variables.
	(i386_cleanup_dregs, i386_show_dr, i386_length_and_rw_bits)
	(i386_insert_aligned_watchpoint, i386_remove_aligned_watchpoint)
	(i386_handle_nonaligned_watchpoint, i386_insert_watchpoint)
	(i386_remove_watchpoint, i386_region_ok_for_watchpoint)
	(i386_stopped_data_address, i386_stopped_by_hwbp)
	(i386_insert_hw_breakpoint, i386_remove_hw_breakpoint): New
	functions.
	(_initialize_i386_nat): New function.
	[I386_USE_GENERIC_WATCHPOINTS]: Add new	maint command
	`show-debug-regs', sets maint_show_dr to non-zero value and
	activates debugging print-outs in functions which insert, remove,
	and test watchpoints and hardware breakpoints.

	* Makefile.in (i386-nat.o): New target.
	(ALLDEPFILES): Add i386-nat.o.
2001-03-21 11:36:58 +00:00
Kevin Buettner
087bb2e240 Fix ``make'' problems when building cross debugger. 2001-03-20 02:37:55 +00:00
Kevin Buettner
8aa16b78d8 Fix NetBSD 1.4 build problem. 2001-03-19 05:15:32 +00:00
Mark Kettenis
e3c6d36d49 * config/i386/tm-linux.h (TARGET_ANALYZE_FLOATING): Remove. It's
no longer used.  Also remove associated FIXME.
2001-03-17 22:24:00 +00:00
Andrew Cagney
f88e2c5226 Include regcache.h 2001-03-14 23:23:16 +00:00
Kevin Buettner
21479deda0 Cleanup solib-svr4.c by moving legacy code out to its own file. 2001-03-10 06:17:24 +00:00
Kevin Buettner
b6ba6518e9 Update/correct copyright notices. 2001-03-06 08:22:02 +00:00
J.T. Conklin
3a644c8da1 * defs.h (__CYGWIN__): Moved conditional which defines __CYGWIN__
if __CYGWIN32__ is set from here.
* config/i386/xm-cygwin.h: To here.
* config/powerpc/xm-cygwin.h: To here.
2001-03-02 02:54:10 +00:00
Eli Zaretskii
89dea5aa55 * go32-nat.c: Include i387-nat.h.
(fetch_register): New function, uses some of the guts of
	go32_fetch_registers and i387_supply_register.
	(go32_fetch_registers): Most of the code moved into
	fetch_register.  Use i387_supply_fsave.
	(store_register): Use i387_fill_fsave instead of custom code.
	(go32_store_registers): Use i387_fill_fsave.

	* Makefile.in (go32-nat.o): Depend on i387-nat.h.

	* config/i386/go32.mh (NATDEPFILES): Add i387-nat.o.
2001-02-18 07:22:17 +00:00
Jeff Holcomb
5b616ba11e 2001-01-24 Jeff Holcomb <jeffh@redhat.com>
* remote-udi.c (udi_open): Change strdup to xstrdup.
        * thread.c (thread_apply_all_command): Change strdup to xstrdup.
        Update copyright message.
        * varobj.c (delete_variable_1): Likewise.

        * gdb_string.h: Remove declaration of strdup.  Update copyright
        message.
        * config/xm-mpw.h: Likewise.
        * config/i386/xm-i386mach.h: Likewise.
        * config/m68k/xm-apollo68b.h: Likewise.
        * config/m68k/xm-hp300bsd.h: Likewise.
        * config/rs6000/xm-rs6000.h: Likewise.
        * config/vax/xm-vaxult.h: Remove declaration of strdup.
        * config/vax/xm-vaxult2.h: Likewise.
2001-01-26 19:47:23 +00:00
J.T. Conklin
f6427adebb * ns32k-tdep.c: #include "frame.h"
* config/ns32k/tm-umax.h (FRAME_FIND_SAVED_REGS): Restore.  It
appears to have been inadvertantly removed sometime in May 1999.

* Revert 2000-11-09 changes where shared library objects were
moved from NATDEPFILES to TDEPFILES on NetBSD targets.  While
we'd like to be able to debug dynamically linked executables,
this makes it impossible to build a cross debugger on a many
hosts.

* config/i386/nbsd.mt: Remove solib.o, solib-svr4.o from TDEPFILES.
* config/i386/nbsdelf.mt: Likewise.
* config/m68k/nbsd.mt: Likewise.
* config/ns32k/nbsd.mt: Likewise.
* config/powerpc/nbsd.mt: Likewise.
* config/sparc/nbsd.mt: Likewise.
* config/sparc/nbsdelf.mt: Likewise.
* config/i386/nbsd.mh: Add solib.o, solib-svr4.o to NATDEPFILES.
* config/i386/nbsdelf.mh: Likewise.
* config/m68k/nbsd.mh: Likewise.
* config/ns32k/nbsd.mh: Likewise.
* config/powerpc/nbsd.mh: Likewise.
* config/sparc/nbsd.mh: Likewise.
2001-01-22 20:23:25 +00:00
Nicholas Duffek
cc533b9d85 * config/i386/tm-i386.h (REGISTER_CONVERT_TO_VIRTUAL,
REGISTER_CONVERT_TO_RAW): Delete trailing semicolon.
2001-01-04 15:46:22 +00:00
Mark Kettenis
ef9dff19c4 * i386-tdep.c: Add missing ')' in comment.
(i386_extract_return_value): Return directly after issuing the
warning and filling *VALBUF with zeroes if we cannot get at the
floating-point registers.
(i386_store_return_value): New function.
* config/i386/tm-i386.h (STORE_RETURN_VALUE): Simply call
i386_store_return_value.
Add prototype for i386_store_return_value.
2000-12-21 20:52:59 +00:00
J.T. Conklin
74e0dee8a1 * config/i386/nbsd.mh: Remove solib.o, solib-svr4.o from NATDEPFILES.
* config/i386/nbsdelf.mh: Likewise.
* config/m68k/nbsd.mh: Likewise.
* config/ns32k/nbsd.mh: Likewise.
* config/powerpc/nbsd.mh: Likewise.
* config/sparc/nbsd.mh: Likewise.
* config/sparc/nbsdelf.mh: Likewise.
* config/i386/nbsd.mt: Add solib.o, solib-svr4.o to TDEPFILES.
* config/i386/nbsdelf.mt: Likewise.
* config/m68k/nbsd.mt: Likewise.
* config/ns32k/nbsd.mt: Likewise.
* config/powerpc/nbsd.mt: Likewise.
* config/sparc/nbsd.mt: Likewise.
2000-11-09 22:57:03 +00:00
Michael Snyder
1a8629c735 2000-10-30 Michael Snyder <msnyder@cleaver.cygnus.com>
* config/sh/tm-linux.h: New file.  Include generic tm-linux.h,
	plus tm-sh.h, then define SVR4_FETCH_LINK_MAP_OFFSETS to use
	the sh target function instead of the default link map offsets.
	* config/sh/sh.mt: Add solib.o and solib-svr4.o to TDEPFILES.
	Use sh/tm-linux.h instead of sh/tm-sh.h.
	* sh-tdep.c (sh_linux_svr4_fetch_link_map_offsets):
	New function.  Construct target-specific link map offsets.
	* i386-linux-tdep.c (i386_linux_svr4_fetch_link_map_offsets:
	New function.  Construct target-specific link map offsets.
	* config/i386/tm-linux.h: Use above function instead of default.

2000-10-30  Michael Snyder  <msnyder@cleaver.cygnus.com>

	* config/i386/tm-linux.h: Remove definition of SVR4_SHARED_LIBS,
	and inclusion of solib.h.  Move up into ../tm-linux.h.
	config/tm-linux.h: Define SVR4_SHARED_LIBS, include solib.h.
2000-10-31 19:35:04 +00:00
Michael Snyder
85b29e5e93 2000-10-30 Michael Snyder <msnyder@cleaver.cygnus.com>
* config/m68k/linux.mh: Remove solib.c, solib-svr4.c from NATDEPFILES.
        * config/powerpc/linux.mh: ditto.
        * config/ia64/linux.mh: ditto.
        * config/i386/linux.mh: ditto.
        * config/alpha/alpha-linux.mh: ditto.
        * config/arm/linux.mh: ditto.
        * config/m68k/linux.mt: Add solib.c, solib-svr4.c to TDEPFILES.
        * config/powerpc/linux.mt: ditto.
        * config/ia64/linux.mt: ditto.
        * config/i386/linux.mt: ditto.
        * config/alpha/alpha-linux.mt: ditto.
        * config/arm/linux.mt: ditto.
2000-10-30 22:33:32 +00:00
Kevin Buettner
13437d4b4b Reorganize solib.c. 2000-10-24 20:05:36 +00:00
Peter Schauer
16d6ab6428 * config/i386/i386sol2.mh: Add XM_CLIBS definition to resolve
reference to gethostbyname.
2000-10-09 19:40:37 +00:00
Peter Schauer
d5d653533c * i386-linux-nat.c (OLD_CANNOT_FETCH_REGISTER,
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-09-22 17:45:47 +00:00
J.T. Conklin
0fc93e6bc4 * config/i386/nbsd.mt (TDEPFILES): Add i386nbsd-tdep.o.
* i386nbsd-nat.c (i386nbsd_use_struct_convention): Moved from here.
* i386nbsd-tdep.c (i386nbsd_use_struct_convention): To here.
* i386nbsd-tdep.c: New file.
2000-09-07 20:08:40 +00:00
Mark Kettenis
8c3a79982e * config/i386/nm-linux.h: Include <signal.h>. 2000-09-04 09:58:06 +00:00
Mark Kettenis
fb0e1ba780 * config/i386/nm-linux.h (PREPARE_TO_PROCEED, ATTCH_LWP,
GET_THREAD_SIGNALS): New defines.
* config/i386/linux.mh (NATDEPFILES): Remove lin-thread.o and
linux-threads.o.  Add proc-service.o, thread-db.o and lin-lwp.o.
* proc-service.c: New file.
* thread-db.c: New file.
* lin-lwp.c: New file.
2000-09-03 18:41:28 +00:00
Christopher Faylor
8e860359d1 * win32-nat.c (dll_symbol_command): Tack a .dll on the end of a supplied
argument if it is missing an extension.

* corelow.c: Define O_BINARY if it isn't defined.
(core_open): Open core file in binary mode.
* config/i386/tm-cygwin.h (child_clear_solibs): Rename from child_clear_solib.
* config/i386/cygwin.mh: Add dependency from corelow.o.
* win32-nat.c (register_loaded_dll): New function.  Add dll to the list of
currently loaded dlls.
(handle_load_dll): Use register_loaded_dll.
(child_solib_add): Distinguish between active process and core targets.
(solib_symbols_add): Load symbols from loaded dll.
(core_dll_symbols_add): New function.  Load symbols from dll referenced in
core.
(core_section_load_dll_symbols): New function.
(dll_code_sections_add): New function.
(map_single_dll_code_section): New function.
(fetch_elf_core_registers): New function.
(_initialize_core_win32): New function.
2000-08-27 04:21:35 +00:00
Mark Kettenis
6ce2ac0be0 Adapt support for SSE registers in Linux/x86 for Linux 2.4.
* 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-08-10 17:04:33 +00:00
Christopher Faylor
9d3789f7f1 * win32-nat.c: Perform various gcc warning cleanups.
(safe_symbol_file_add_cleanup): Reset stdout to saved stdout, not stderr.
(dll_symbol_command): Pass OBJF_USERLOADED to safe_symbol_file_add.
(get_child_debug_event): Always reset last_sig.  Always reset inferior pid
appropriately.
(do_initial_child_stuff): New function.  Called when attaching or starting a
new inferior process.
(child_attach): Use do_initial_child_stuff.
(child_create_inferior): Ditto.
* config/i386/cygwin.mh (NAT_FILE): Set to modern location.
* config/i386/tm-cygwin.h: Define ATTACH_NO_WAIT.
2000-08-06 23:25:32 +00:00
Michael Snyder
6dff448f84 2000-07-21 Michael Snyder <msnyder@cleaver.cygnus.com>
* config/i386/tm-i386.h: treat PC and FP as unsigned.
      (SAVED_PC_AFTER_CALL): Use read_memory_unsigned_integer.
      (FRAME_SAVED_PC): Ditto.
      (FRAME_CHAIN): Ditto.
2000-07-21 20:52:27 +00:00
Mark Kettenis
f19ebbbc84 * config/i386/tm-linux.h: Add longjmp support.
(JB_ELEMENT_SIZE, JB_PC): New defines.
(GET_LONGJMP_TARGET): Define.
(get_longjmp_target): Add prototype.
2000-07-07 00:30:35 +00:00
Andrew Cagney
90f59acafb Keep NATDEPFILES on a single line. 2000-07-05 11:11:58 +00:00
Andrew Cagney
aff38e615a Set SER_HARDWIRE using autoconf instead of via XDEPFILES. Include
ser-tcp.o by default.
2000-06-12 06:09:06 +00:00
Mark Kettenis
a7769679c2 * config/i386/tm-i386.h: Add forward declaration of `struct value'.
(FIX_CALL_DUMMY): Redefined to call i386_fix_call_dummy.
(i386_fix_call_dummy): Add prototype.
* i386-tdep.c (i386_fix_call_dummy): New function based on the
code from the old FIX_CALL_DUMMY macro.
2000-06-12 01:44:35 +00:00
Fernando Nasser
4acafb8638 2000-06-08 Fernando Nasser <fnasser@cygnus.com>
* config/i386/tm-embed.h: New file.  Specific for embedded targets
        like i386-elf, i386-coff and i386-aout.
        * config/i386/embed.mt (): Specify tm-embed.h instead of the System V
        header file.
2000-06-09 23:32:48 +00:00
Christopher Faylor
450005e7c2 * win32-nat.c (safe_symbol_file_add_cleanup): Ensure that gdb_stderr is flushed
before deleting and restoring it.
(safe_symbol_file_add): Ensure that gdb_stderr is flushed before reassigning
it.
(handle_load_dll): Split into two functions so that WFI can handle shared
library events.
(child_solib_loaded_library_pathname): New function.
(child_clear_solibs): New function.  Clears shared library list.
(child_solib_add): New function.  Adds shared library symbols.
(dll_symbol_command): New function.  Handles "dll-symbol" command.
(info_dll_command): New function.  Handles info "sharedlibrary" command.
(handle_exceptions): Eliminate 'ignore_trap' argument.
(get_child_debug_event): Eliminate two arguments.  Return "pid" when
appropriate.  Break out on most events to allow WFI to handle stuff.
(child_wait): Accomodate get_child_debug_event changes.
(child_attach): Clear thread list and list of loaded dlls.
(child_create_inferior): Clear list of loaded dlls.  Use wait_for_inferior in a
loop to look for first "trap".
(child_resume): Avoid accessing a possibly-freed thread pointer.
(_initialize_inftarg): Add "dll-symbols", "sharedlibrary", and "info
dll", and "info sharedlibrary" commands.
* config/i386/tm-cygwin.h: Add some shared library (aka DLL) hooks.
2000-06-04 00:28:17 +00:00
J.T. Conklin
b0cb5b8de2 * configure.tgt: Add pattern for i[3456]86-*-netbsdelf*.
* config/i386/nbsdelf.mt: New file.
* config/i386/tm-nbsdelf.h: New file.

* config/i386/tm-nbsd.h: change include of tm-nbsd.h to
the more explicit config/tm-nbsd.h.
2000-06-02 23:15:28 +00:00
J.T. Conklin
ca04024df1 * configure.host: Add patterns for i[3456]86-*-netbsdaout*
and i[3456]86-*-netbsdelf*.
* config/i386/nm-nbsdelf.h: New file.
* config/i386/nbsdelf.mh: New file.

* config/i386/nm-nbsd.h: change include of nm-nbsd.h to
the more explicit config/nm-nbsd.h.
* config/i386/tm-nbsd.h: change include of tm-i386bsd.h to
tm-i386.h.
(SIGTRAMP_START, SIGTRAMP_END, SIGCONTEXT_PC_OFFSET): Define.
-------------------------------------------------------------------
2000-06-01 04:13:36 +00:00
Kevin Buettner
a14ed312fd PARAMS removal. 2000-05-28 01:12:42 +00:00
Mark Kettenis
e6031aeb52 Add support for FreeBSD/i386 ELF.
* i386bsd-nat.c: New file.
* config/i386/tm-fbsd.h (HAVE_I387_REGS): Define.
Include "i386/tm-i386.h" instead of "i386/tm-i386b.h".
(NUM_REGS): Remove redefinition.
(USE_STRUCT_CONVENTION): Define.
(i386_float_info): Remove prototype.
(FLOAT_INFO): Remove define.
(JB_ELEMENT_SIZE): Define to 4.
(JB_PC): Define to 0.
(GET_LONGJMP_TARGET): Define.
(SIGTRAMP_START, SIGTRAMP_END): Define.
(SIGCONTEXT_PC_OFFSET): Define.
(IN_SOLIB_CALL_TRAMPOLINE): Only define if !SVR4_SHARED_LIBS
* config/i386/nm-fbsd.h (PTRACE_ARG3_TYPE): Define to caddr_t.
(FETCH_INFERIOR_REGISTERS): Define.
(ATTACH_DETACH): Define.
(kernel_u_size): Remove PARAMS.
(register_u_addr): Use CORE_ADDR in prototype where appropriate.
Remove PARAMS.
(SVR4_SHARED_LIBS) [FREEBSD_ELF || __ELF__ && !FREEBSD_AOUT]:
Define.
[SVR4_SHARED_LIBS]: Include "elf/common.h".
Only define aliases for struct members from <link.h> if
!SVR4_SHARED_LIBS.
* config/i386/xm-fbsd.h: New file.
* config/i386/fbsd.mt (TDEPFILES): Remove solib.o.
* config/i386/fbsd.mh (NATDEPFILES): Remove i386b-nat.o.  Add
core-regset.o i387-nat.o i386bsd-nat.o.
2000-05-24 22:32:58 +00:00
J.T. Conklin
9cebe72f24 * config/i386/nbsd.mt (TDEPFILES): Move solib.o from here...
* config/i386/nbsd.mh (NATDEPFILES): ...to here.
* config/m68k/nbsd.mt (TDEPFILES): Move solib.o from here...
* config/m68k/nbsd.mh (NATDEPFILES): ...to here.
* config/ns32k/nbsd.mt (TDEPFILES): Move solib.o from here...
* config/ns32k/nbsd.mh (NATDEPFILES): ...to here.

* config/powerpc/nbsd.mt (GDBSERVER_DEPFILES): Add low-nbsd.o.
* configure.tgt (powerpc-*-netbsd*): add gdbserver to configdirs.
* gdbserver/low-nbsd.c (initialize_arch): Define for PPC.
(fetch_inferior_registers): Likewise.
(store_inferior_registers): Likewise.

* gdbserver/low-nbsd.c (fetch_inferior_registers): Handle X86
floating point registers.
(store_inferior_registers): Likewise.
-------------------------------------------------------------------
2000-05-24 04:16:28 +00:00
Michael Snyder
aca52a9bcc 2000-05-12 Michael Snyder <msnyder@.cygnus.com>
* config/i386/tm-i386sol2.h (COERCE_FLOAT_TO_DOUBLE): Define.
2000-05-17 17:09:27 +00:00
Mark Kettenis
a6abb2c0e9 2000-04-30 Mark Kettenis <kettenis@gnu.org>
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-30 09:34:13 +00:00
Jim Blandy
7355ddbace Bring IEEE_FLOAT under gdbarch's control.
* gdbarch.sh (IEEE_FLOAT): New entry.
* gdbarch.c, gdbarch.h: Regenerated.
* valprint.c (IEEE_FLOAT): Provide a default #definition for this.
(print_floating): Use IEEE_FLOAT as if it were an expression; use
the code specific to IEEE-format numbers whenever the value of
IEEE_FLOAT is non-zero.
* config/a29k/tm-a29k.h, config/alpha/tm-alpha.h,
config/arc/tm-arc.h, config/arm/tm-arm.h, config/fr30/tm-fr30.h,
config/h8300/tm-h8300.h, config/i386/tm-i386.h,
config/i960/tm-i960.h, config/m88k/tm-m88k.h,
config/mips/tm-mips.h, config/pa/tm-hppa.h,
config/sparc/tm-sparc.h, config/delta/tm-delta.h,
config/frv/tm-frv.h (IEEE_FLOAT): For all ports that #define
IEEE_FLOAT, make sure they give it the value (1).
2000-04-14 19:14:19 +00:00
Peter Schauer
14164c30b6 * config/i386/nm-i386sol2.h (CANNOT_STEP_HW_WATCHPOINTS): Define.
* config/i386/tm-i386sol2.h (HAVE_I387_REGS):  Define.
	* i386v4-nat.c (supply_fpregset, fill_fpregset):  Add code
	to handle floating point registers if NUM_FREGS is not zero.
2000-04-13 18:11:41 +00:00
Nicholas Duffek
2f09097b73 * sol-thread.c (GET_LWP, GET_THREAD, BUILD_LWP, BUILD_THREAD):
Change to rely on PIDGET etc.
	* config/i386/nm-i386sol2.h (TARGET_HAS_WATCHPOINTS,
	TARGET_CAN_USE_HARDWARE_WATCHPOINT, HAVE_CONTINUABLE_WATCHPOINT,
	STOPPED_BY_WATCHPOINT, target_[insert/remove]_watchpoint):
	define.  Allow target to use procfs hardware watchpoints.
	* config/sparc/nm-sun4sol2.h: ditto.
	* config/i386/tm-i386sol2.h (PIDGET, TIDGET, MERGEPID): modify
	definitions to use 16 bits for the pid, 15 bits for the tid, and
	1 bit for the flag.
	* config/sparc/tm-sun4sol2.h: ditto.
	(SOFTWARE_SINGLE_STEP, SOFTWARE_SINGLE_STEP_P): undefine.
	* testsuite/gdb.threads/pthreads.exp (all_threads_running): Allow
	for more than 15 thread increments.
2000-04-07 01:14:10 +00:00
J.T. Conklin
c1ed99b861 2000-04-03 J.T. Conklin <jtc@redback.com>
* config/i386/xm-nbsd.h (HOST_LONG_DOUBLE_FORMAT): Define.
2000-04-03 21:33:21 +00:00
Eli Zaretskii
7f668b8658 * config/i386/xm-go32.h (HOST_LONG_DOUBLE_FORMAT): Define.
* config/i386/tm-go32.h (TARGET_LONG_DOUBLE_BIT): Remove
	definition (and use the common one in tm-i386.h).
	(REGISTER_CONVERT_TO_VIRTUAL, REGISTER_CONVERT_TO_RAW): Likewise.
	(I386_DJGPP_TARGET): Don't define, it's no longer required.
	(LOW_RETURN_REGNUM, HIGH_RETURN_REGNUM): Remove definition,
	i386-tdep.c defines it for all x86 targets.
	(LD_I387, HEX_LONG_DOUBLE_INPUT): Remove.

	* config/djgpp/fnchange.lst: Add i386-linux-tdep.c.

	* config/djgpp/djcheck.sh: Edit the copyright year out of the test
	results.  Fix editing of `main' arguments for non-GNU Sed.
2000-04-03 15:24:17 +00:00
Mark Kettenis
b1ced0139c 2000-04-02 Mark Kettenis <kettenis@gnu.org>
* config/i386/xm-linux.h (HOST_LONG_DOUBLE_FORMAT): Define as
	&floatformat_i387_ext.
	* config/i386/xm-i386gnu.h (HOST_LONG_DOUBLE_FORMAT): Likewise.
2000-04-02 14:41:45 +00:00
Mark Kettenis
6e2e8c243b 2000-03-27 Mark Kettenis <kettenis@gnu.org>
* config/i386/tm-i386.h: Fix typo.  It is TARGET_LONG_DOUBLE_BIT
	instead of TARGET_LONG_DOUBLE_BITS.
	* config/i386/tm-i386mk.h: Likewise.
2000-03-26 22:10:59 +00:00
Mark Kettenis
ac27f131b2 2000-03-26 Mark Kettenis <kettenis@gnu.org>
Provide `long double' support for most i386 targets.
	* config/i386/tm-i386.h (TARGET_LONG_DOUBLE_FORMAT): Define as
	&floatformat_i387_ext.
	(TARGET_LONG_DOUBLE_BITS): Define as 96.
	(REGISTER_VIRTUAL_TYPE): Change type for FPU registers to
	`builtin_type_long_double'.
	(REGISTER_CONVERT_TO_VIRTUAL): Call
	i386_register_convert_to_virtual.
	(REGISTER_CONVERT_TO_RAW): Call i386_register_convert_to_raw.
	(i387_to_double, double_to_i387): Remove prototypes.
	(i386_extract_return_value): Change prototype to match definition
	in i386-tdep.c.
	* config/i386/tm-i386mk.h (TARGET_LONG_DOUBLE_FORMAT): #undef.
	(TARGET_LONG_DOUBLE_BITS): #undef.
	* config/i386/tm-linux.h (TARGET_LONG_DOUBLE_BIT): Remove.
	[HAVE_LONG_DOUBLE && HOST_I386] (LD_I387): Remove.
	(i387_extract_floating, i387_store_floating): Remove prototypes.
	(TARGET_EXTRACT_FLOATING, TARGET_STORE_FLOATING): Remove.
	(REGISTER_CONVERT_TO_VIRTUAL, REGOISTER_CONVERT_TO_RAW): Remove.
	(REGISTER_VIRTUAL_TYPE): Remove.
	* i386-tdep.c (i386_register_convert_to_virtual): New function.
	(i386_register_convert_to_raw): New function.
	* i387-tdep.c [LD_I387] (i387_extract_floating): Remove.
	(i387_store_floating): Remove.
2000-03-26 21:21:50 +00:00
Christopher Faylor
8227c82d1d * win32-nat.c: Back out special frame walking code. It was broken.
(handle_exception): Correctly identify an illegal instruction.
* config/tm-cygwin.h: Eliminate special frame handling.  Just use normal i386
handling.
2000-03-25 02:26:21 +00:00
J.T. Conklin
76a2220988 2000-03-24 J.T. Conklin <jtc@redback.com>
* i386/tm-nbsd.h (USE_STRUCT_CONVENTION): Define.
        * i386nbsd-nat.c (i386nbsd_use_struct_convention): New function.
        (fetch_core_registers): Read fp registers.
        (i386nbsd_core_fns, _initialize_i386nbsd_nat): Added.
2000-03-24 23:06:57 +00:00
Mark Kettenis
1a309862a7 2000-03-22 Mark Kettenis <kettenis@gnu.org>
* config/i386/tm-i386aix.h (I386_AIX_TARGET): Remove.
	* config/i386/tm-linux.h (LOW_RETURN_REGNUM, HIGH_RETURN_REGNUM):
	Remove
	* i386-tdep.c (LOW_RETURN_REGNUM, HIGH_RETURN_REGNUM): New defines.
	(i386_extract_return_value): Rewritten.  Correctly support all
	floating-point types and large integer types on targets that use
	the standard i386 GDB register layout and return floating-point
	values in the FPU.
2000-03-22 09:45:01 +00:00
J.T. Conklin
5f04ac3de9 2000-03-21 J.T. Conklin <jtc@redback.com>
* i386/nbsd.mh (NATDEPFILES): Change i386b-nat.o to i386nbsd-nat.o.
        * i386nbsd-nat.c: New file.

        * i386/tm-nbsd.h (NUM_REGS): Removed.
        (HAVE_I387_REGS): Defined.
        * i386/nm-nbsd.h (FLOAT_INFO): Removed.

        * tm-nbsd.h (IN_SOLIB_CALL_TRAMPOLINE): Define if not
        SVR4_SHARED_LIBS.
2000-03-22 01:36:31 +00:00
Jim Blandy
e7ee86a99a * i386-linux-nat.c: No need to #include "frame.h" any more.
(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-20 20:38:29 +00:00
Elena Zannoni
58a2c44a26 2000-03-04 Eli Zaretskii <eliz@is.elta.co.il>
* event-loop.c (top-level) [NO_FD_SET]: Deprecate this branch.
	Print an error at compile time if we are to use select, but FD_SET
	is not available.
	(SELECT_MASK, NBBY, FD_SETSIZE, NFDBITS, MASK_SIZE): Define only
	if HAVE_POLL is not defined and NO_FD_SET *is* defined.
	(create_file_handler) [!HAVE_POLL]: Use FD_SET and FD_CLR.
	(delete_file_handler) [!HAVE_POLL]: Use FD_CLR and FD_ISSET.
	(gdb_wait_for_event) [!HAVE_POLL]: Copy fd_set sets directly
	instead of using memcpy and memset.  Use FD_ISSET.

	* config/i386/xm-go32.h (fd_mask): Remove typedef.
2000-03-20 19:59:38 +00:00
Jim Blandy
11708b95a3 * i386-tdep.c (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.  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.
2000-03-16 22:46:30 +00:00
Mark Kettenis
4cc2418890 2000-03-08 Mark Kettenis <kettenis@gnu.org>
* i386-tdep.c (i386_linux_saved_pc_after_call): New function.
	* config/i386/tm-linux.h (SAVED_PC_AFTER_CALL): Define to call
	i386_linux_saved_pc_after_call.
2000-03-08 22:34:19 +00:00
Mark Kettenis
f60300e72c 2000-03-05 Mark Kettenis <kettenis@gnu.org>
Allow GDB to run on Linux 2.0 again.
	* config.in: Add HAVE_PTRACE_GETREGS.
	* configure.in: Check if <sys/ptrace.h> defines PTRACE_GETREGS.
	* configure: Regenerated.
	* config/i386/nm-linux.h (CANNOT_FETCH_REGISTER,
	CANNOT_STORE_REGISTER): New defines.
	* i386-linux-nat.c (have_ptrace_getregs): New variable.
	(PTRACE_XFER_TYPE, CANNOT_FETCH_REGISTER, fetch_register,
	old_fetch_inferior_registers, CANNOT_STORE_REGISTER,
	store_register, old_store_inferior_registers): Copied over from
	`inptrace.c' as a temporary measure.
	(fetch_regs, store_regs, fetch_fpregs, store_fpregs):
	Conditionalize on HAVE_PTRACE_GETREGS.  Define stubs if
	HAVE_PTRACE_GETREGS isn't defined.
	(fetch_regs): Reset `have_ptrace_getregs' if ptrace call fails
	with EIO.
	(fetch_inferior_registers, store_inferior_registers): Fall back on
	the method use in `infptrace.c' (by calling
	old_fetch_inferior_registers and old_store_inferior_registers) if
	`have_ptrace_getregs' isn't set.
2000-03-05 22:57:06 +00:00
Mark Kettenis
45a816d93e 2000-03-04 Mark Kettenis <kettenis@gnu.org>
Fix support for Linux/i386 signal trampolines.  The old approach
	didn't work for Linux 2.2 and beyond, and didn't work with recent
	versions of the GNU C library.
	* i386-tdep.c (LINUX_RT_SIGTRAMP_INSN0, LINUX_RT_SIGTRAMP_OFFSET0,
	LINUX_RT_SIGTRAMP_INSN1, LINUX_RT_SIGTRAMP_OFFSET1): New defines.
	(linux_rt_sigtramp_code): New variable.
	(LINUX_RT_SIGTRAMP_LEN): New define.
	(i386_linux_rt_sigtramp_start): New function.  Detect start of
	signal trampolines for RT signals.
	(i386_linux_sigtramp): Removed.
	(i386_linux_in_sigtramp): New function.
	(i386_linux_sigcontext_addr): New function.  Recognize the names
	of the signal tranmpolines used by recent versions of the GNU C
	library, and add support for RT signals.
        (LINUX_SIGCONTEXT_PC_OFFSET, LINUX_SIGCONTEXT_SP_OFFSET):  New
	defines.  Moved here from config/i386/tm-linux.h.
	(i386_linux_sigtramp_saved_pc, i386_linux_sigtramp_saved_sp):
	Reimplement in terms of i386_linux_sigcontext_addr.
	* config/i386/tm-linux.h (LINUX_SIGCONTEXT_SIZE): Removed.
        (LINUX_SIGCONTEXT_PC_OFFSET, LINUX_SIGCONTEXT_SP_OFFSET):
        Moved to i386-tdep.c.
	(IN_SIGTRAMP): Redefine to call i386_linux_in_sigtramp.
2000-03-04 23:37:33 +00:00
Mark Kettenis
667620fa27 Attempt to fix AIX/i386 target. 2000-03-02 15:44:27 +00:00
Andrew Cagney
b241ba8eab From Peter Schauer: Define Solaris/x86 MERGEPID. 2000-02-29 13:38:55 +00:00
Andrew Cagney
1211c4e429 From J.T.: Convert i386 to updated frame_saved_regs. 2000-02-29 13:28:24 +00:00