Commit graph

12030 commits

Author SHA1 Message Date
Mark Kettenis
baadce09a6 * i386bsd-tdep.c (i386nbsd_sigtramp_start, i386nbsd_sigtramp_end):
New variables.
(i386nbsd_init_abi): Use these to initialize tdep->sigtramp_start
and tdep->sigtramp_end.
* i386obsd-nat.c: New file.
* config/i386/obsd.mh (NATDEPFILES): Add i386obsd-nat.o.
2002-07-04 15:13:28 +00:00
Mark Kettenis
2404952e63 * dwarf2cfi.c (cfi_pop_frame): Use alloca() for regbuf.
Don't call get_current_frame().
2002-07-04 14:43:51 +00:00
Pierre Muller
9b4f1ba7ed 2002-07-04 Pierre Muller <muller@ics.u-strasbg.fr>
* i386-nat.c (child_post_startup_inferior): New function
	calling i386_cleanup_dregs if
	I386_USE_GENERIC_WATCHPOINTS is defined.
	* config/i386/nm-i386.h: define CHILD_POST_STARTUP_INFERIOR
	conditional to acknowledge that i386-nat.c has its
	own child_post_startup_inferior function.
2002-07-04 12:32:29 +00:00
Mark Kettenis
00f8375edd * i386-tdep.h (I386_MAX_REGISTER_SIZE): New define.
* i386-tdep.c (i386_do_pop_frame): Use I386_MAX_REGISTER_SIZE
instead of MAX_REGISTER_RAW_SIZE.
(i386_extract_return_value, i386_extract_struct_value_address):
Convert to use regcache.
(i386_gdbarch_init): Set max_register_raw_size and
max_register_virtual_size to I386_MAX_REGISTER_SIZE.
Set extract_return_value and extract_struct_value_address instead
of their deprecated variants.
2002-07-04 08:18:20 +00:00
Mark Kettenis
c0d1d88354 Convert i386 target to generic dummy frames.
* i386-tdep.c: Include "symfile.h".
(i386_frameless_signal_p): Consider a function to be frameless if
the pc points at the first instruction of the function.
(i386_frame_chain): Handle (generic) call dummies.
(i386_frame_saved_pc): Likewise.
(i386_frame_init_saved_regs): Remove code dealing with call
dummies on the stack.
(i386_push_dummy_frame): Removed.
(i386_call_dummy_words): Removed.
(i386_fix_call_dummy): Removed.
(i386_push_return_address): New function.
(i386_do_pop_frame): Renamed from i386_pop_frame.  Add FRAME
parameter, and don't call get_current_frame.
(i386_pop_frame): New function.
(i386_gdbarch_init): Set use_generic_dummy_frames to 1, set
call_dummy_location to AT_ENTRY_POINT, set call_dummy_address to
entry_point_address, set call_dummy_breakpoint_offset to 0, set
call_dummy_length to 0, set call_dummy_words to NULL, set
sizeof_call_dummy_words to 0, set fix_call_dummy to
generic_fix_call_dummy, set pc_in_call_dummy to
pc_in_call_dummy_at_entry_point, set push_dummy_frame to
generic_push_dummy_frame, set push_return_address to
i386_push_return_address and set frame_chain_valid to
generic_file_frame_chain_valid.
2002-07-04 07:22:11 +00:00
Michal Ludvig
638c158084 2002-07-04 Michal Ludvig <mludvig@suse.cz>
* gdbserver/linux-x86-64-low.c (x86_64_regmap): Make it an array of
	byte offsets instead of an array of indexes.
	(x86_64_store_gregset, x86_64_store_fpregset): Parameter made const.
2002-07-04 06:00:49 +00:00
gdbadmin
e2af7aea91 *** empty log message *** 2002-07-04 00:00:33 +00:00
Andrew Cagney
049ee0e44d * gdbarch.sh (struct regcache): Add opaque declaration.
(EXTRACT_RETURN_VALUE): New architecture method.
(EXTRACT_STRUCT_VALUE_ADDRESS): Ditto.
* gdbarch.h, gdbarch.c: Regenerate.
* arch-utils.c (legacy_extract_return_value): New function.
* arch-utils.h (legacy_extract_return_value): Declare.
* values.c (value_being_returned): Re-enable code handling
EXTRACT_STRUCT_VALUE_ADDRESS.  Move
deprecated_grub_regcache_for_registers call to block handling
DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS.
(EXTRACT_RETURN_VALUE): Do not define.
2002-07-03 21:27:55 +00:00
Grace Sainsbury
4e0d9804fe * config/mcore/tm-mcore.h (REGISTER_BYTES, NUM_REGS, PC_REGNUM)
(SP_REGNUM, FP_REGNUM, FUNCTION_START_OFFSET, DECR_PC_AFTER_BREAK)
	(BREAKPOINT_FROM_PC, INNER_THAN, SAVED_PC_AFTER_CALL)
	(INIT_EXTRA_FRAME_INFO, FRAME_INIT_SAVED_REGS, INIT_FRAME_PC)
	(FRAME_CHAIN, FRAME_CHAIN_VALID, FRAME_SAVED_PC)
	(STORE_RETURN_VALUE, DEPRECATED_EXTRACT_RETURN_VALUE)
	(STORE_STRUCT_RETURN, DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS)
	(SKIP_PROLOGUE, FRAME_ARGS_SKIP, FRAME_ARGS_ADDRESS)
	(FRAME_LOCALS_ADDRESS, FRAME_NUM_ARGS, POP_FRAME)
	(PUSH_RETURN_ADDRESS, PUSH_DUMMY_FRAME, PUSH_ARGUMENTS): Remove.
	* mcore-tdep.c (mcore_init_extra_frame_info): Add fromleaf
	argument so the function fits the prototype in the architecture
	vector.
	(mcore_pop_frame): Remove argument so the function fits the
	prototype. Use get_current_frame instead of the argument.
	(mcore_push_arguments): Change type of struct_return so the
	function can be used in the architecture vector.
	(mcore_store_struct_return): Add.
	(mcore_frame_init_saved_regs): Add.
	(mcore_gdbarch_init): Add function calls to replace the macros
	removed from tm-mcore.h
2002-07-03 21:23:02 +00:00
Andrew Cagney
36160dc4b2 * infcmd.c (print_return_value): Remove compatibility code calling
deprecated_grub_regcache_for_registers.

* values.c: Include "regcache.h".
(value_being_returned): Update.  Use
deprecated_grub_regcache_for_registers to extract the register
buffer address.
* value.h (value_being_returned): Change ``retbuf'' parameter to a
``struct regcache''.
* Makefile.in (values.o): Add dependency on $(regcache_h).

* inferior.h (run_stack_dummy): Change type of second parameter to
a ``struct regcache''.
* valops.c (hand_function_call): Change type of retbuf to ``struct
regcache''.  Allocate using regcache_xmalloc, clean using
make_cleanup_regcache_xfree.
* infcmd.c (run_stack_dummy): Update.  Use
regcache_cpu_no_passthrough instead of memcpy to copy the buffer.

* regcache.c (do_regcache_xfree): New function.
(make_cleanup_regcache_xfree): New function.
* regcache.h (make_cleanup_regcache_xfree): Declare.
2002-07-03 20:36:54 +00:00
Martin Hunt
4dd79c29b4 2002-07-03 Martin M. Hunt <hunt@redhat.com>
* event-top.c (command_line_handler): Don't read past
        beginning of buffer.
2002-07-03 20:27:12 +00:00
Martin Hunt
e64d9b3dea 2002-07-03 Martin M. Hunt <hunt@redhat.com>
* varobj.c (struct varobj_root): Change frame from CORE_ADDR to
        struct frame_id.
        (varobj_create): Store frame_id for root.
        (varobj_gen_name): Use xasprintf.
        (varobj_update): Save and restore frame using get_frame_id() and
        frame_find_by_id().
        (create_child): Use xasprintf.
        (new_root_variable): Initialize frame_id.
        (c_name_of_child): Use xasprintf. Call find_frame_by_id().
        (c_value_of_variable): Use xasprintf. Move mem_fileopen call
        to prevent memory leak.
2002-07-03 20:23:04 +00:00
Andrew Cagney
26e6c56a66 * valops.c (hand_function_call): Move declaration of retbuf to
start of function, allocate using malloc, add a cleanup but before
the inf_status cleanup, cleanup the buffer.  Rename local variable
old_chain to inf_status_cleanup.
2002-07-03 18:31:29 +00:00
Martin Hunt
f436dd25ca 2002-07-03 Martin M. Hunt <hunt@redhat.com>
* top.c (execute_command): Use cmd_func() and cmd_func_p().

	* cli/cli-decode.c (cmd_func_p): New function.
	(cmd_func): New function.

	* command.h: Add cmd_func() and cmd_func_p().
2002-07-03 17:35:21 +00:00
Grace Sainsbury
4cfe20842d * config/mcore/tm-mcore.h (GDB_MULTI_ARCH): Add macro. Set to 0.
(REGISTER_SIZE): Remove.
	(MAX_REGISTER_RAW_SIZE): Remove.
	(REGISTER_VIRTUAL_TYPE): Remove.
	(MAX_REGISTER_VIRTUAL_SIZE): Remove.
	(REGISTER_NAME): Remove.
	(USE_GENERIC_DUMMY_FRAMES): Remove.
	(CALL_DUMMY): Remove.
	(CALL_DUMMY_START_OFFSET): Remove.
	(CALL_DUMMY_BREAKPOINT_OFFSET): Remove.
	(CALL_DUMMY_LOCATION): Remove.
	(FIX_CALL_DUMMY): Remove.
	(CALL_DUMMY_ADDRESS): Remove.
	(SIZEOF_CALL_DUMMY_WORDS): Remove.
	(SAVE_DUMMY_FRAME_TOS): Remove.
	* mcore-tdep.c (MCORE_REG_SIZE, MCORE_NUM_REGS): Add macros.
	(mcore_register_virtual_type): New function.
	(mcore_register_byte): New function.
	(mcore_register_size): New function.
	(mcore_register_name): New function.
	(mcore_gdbarch_init): New function. Add set_gdbarch calls for
	macros removed from tm-mcore.h.
	(mcore_dump_tdep): Add.
	(_initialize_mcore_tdep): Add gdbarch_register call.
2002-07-03 17:17:06 +00:00
Mark Kettenis
4fd667e983 * i386-tdep.c (i386_frameless_signal_p): Provide an argument in to
frameless_look_for_prologue, such that we actually call this
function.
2002-07-03 09:39:47 +00:00
gdbadmin
67ce813b0c *** empty log message *** 2002-07-03 00:00:04 +00:00
Joel Brobecker
42f99ac23d * frame.h (frame_address_in_block): New function.
* blockframe.c (frame_address_in_block): New function extracted
        from get_frame_block().
        (get_frame_block): Use frame_address_in_block().
        (block_innermost_frame): Use frame_address_in_block() to match
        the frame pc address against the block boundaries rather than
        the frame pc directly. This prevents a failure when a frame pc
        is actually a return-address pointing immediately after the end
        of the given block.
2002-07-02 19:08:55 +00:00
Grace Sainsbury
83b4a0fe98 * MAINTAINERS: Add self under write after approval. 2002-07-02 18:25:41 +00:00
Grace Sainsbury
103a159751 * m68k-tdep.c (m68k_remote_breakpoint_from_pc): Add. Currently not
used in architecture vector. The default is
m68k_local_breakpoint_from_pc.
(m68k_local_breakpoint_from_pc): Add.
(enum): Add register numbers from tm-m68k.h.
(m68k_gdbarch_init): Add breakpoint_from_pc to architecture vector.
* config/m68k/tm-m68k.h (GDB_MULTI_ARCH): Set to
GDB_MULTI_ARCH_PARTIAL.
(BPT_VECTOR, REGISTER_BYTES_FP, REGISTER_BYTES_NOFP)
(NUM_FREGS, SIG_PC_FP_OFFSET, SP_ARG0, REMOTE_BPT_VECTOR): Move to
m68k-tdep.c.
(BREAKPOINT, REMOTE_BREAKPOINT): Remove.
(A1_REGNUM, FP0_REGNUM, FPC_REGNUM, FPS_REGNUM, FPI_REGNUM): Move
to enum in m68k-tdep.c
2002-07-02 18:13:54 +00:00
Joel Brobecker
7a5a05349e * solib-osf.c (open_map): Compute the list of shared libraries
loaded by the inferior, rather than the list of libraries loaded
        by GDB itself.  Otherwise, GDB ends up reading the symbols from
        the wrong shared libraries...
2002-07-02 17:05:28 +00:00
Mark Kettenis
b7d15bf718 * i386-linux-tdep.c (i386_linux_sigcontext_addr): Make static.
(LINUX_SIGCONTEXT_PC_OFFSET, LINUX_SIGCONEXT_SP_OFFSET): Remove
macros.
(i386_linux_sigtramp_saved_pc, i386_linux_sigtramp_saved_sp):
Remove functions.
(FRAMELESS_SIGNAL): Remove function.
(i386_linux_frame_chain, i386_linux_frame_saved_pc,
i386_linux_saved_pc_after_call): Removed.
(i386_linux_init_abi): Initialize tdep->sigcontext_addr,
tdep->sc_pc_offset and tdep->sc_sp_offset.  Don't override
frame_chain, frame_saved_pc and saved_pc_after_call any longer.
2002-07-02 13:48:16 +00:00
Mark Kettenis
6bff26defb * i386-tdep.c (i386_frameless_signal_p): New function.
(i386_frame_chain): Deal with frameless signals.
(i386_sigtramp_saved_sp): New function.
(i386_frame_saved_pc): Deal with frameless signals.
(i386_saved_pc_after_call): Make sure the correct value is
returned just after entry into a sigtramp.
* i386bsd-tdep.c (i386bsd_sc_sp_offset, i386nbsd_sc_sp_offset,
i386fbsd4_sc_sp_offset): New variables.
(i386bsd_init_abi, i386nbsd_init_abi, i386fbsd4_init_abi): Use
these variables to initialize tdep->sc_sp_offset.  * i386bsd-nat.c
(_initialize_i386bsd_nat): Add sanity check for sc_sp_offset
similiar to what we already did for sc_pc_offset.
* i386-sol2-tdep.c (i386_sol2_init_abi): Initialize
tdep->sc_sp_offset.
2002-07-02 09:12:37 +00:00
Mark Kettenis
6f558d7454 * i386nbsd-tdep.c (fetch_elfcore_registers): Wrap long line. 2002-07-02 08:39:54 +00:00
gdbadmin
7151e72eee *** empty log message *** 2002-07-02 00:00:36 +00:00
Michal Ludvig
145564b756 2002-07-02 Michal Ludvig <mludvig@suse.cz>
* config/i386/tm-x86-64linux.h: New.
	* config/i386/x86-64linux.mt: Add GDB_MULTI_ARCH and TM_FILE
	definitions.
	* config/i386/nm-x86-64.h: Rename to ...
	* config/i386/nm-x86-64linux.h: ... this one.
	* config/i386/x86-64linux.mh: Reflect the above change.
2002-07-01 22:09:52 +00:00
Mark Kettenis
21d0e8a401 * i386-tdep.h (struct gdbarch_tdep): Replace sigtramp_saved_pc
with sigcontext_addr.  Add sc_sp_offset.
(i386bsd_sigtramp_saved_pc): Remove prototype.
(i386bsd_sicontext_addr): Add prototype.
* i386-tdep.c (i386_sigtramp_saved_pc): New function.
(i386_frame_saved_pc): Rewrite to call i386_sigtramp_saved_pc.
(i386_svr4_sigtramp_saved_pc): Removed.
(i386_svr4_sigcontext_addr): New function.
(i386_svr4_init_abi): Don't initialize tdep->sigtramp_saved_pc.
Initialize tdep->sigcontext_addr instead.  Initialize
tdep->sc_pc_offset and tdep->sc_sp_offset.
(i386_gdbarch_init): Likewise.
* i386bsd-tdep.c (i386bsd_sigcontext_addr): Don't make it static
any more.
(i386bsd_sigtramp_saved_pc): Remove function.
(i386bsd_init_abi): Don't initialize tdep->sigtramp_saved_pc.
Initialize tdep->sigcontext_addr instead.  Initialize
tdep->sc_pc_offset.
* i386-linux-tdep.c (i386_linux_init_abi): Remove initialization
of tdep->sigtramp_saved_pc.
* i386-sol2-tdep.c (i386_sol2_init_abi): Don't initialize
tdep->sigtramp_saved_pc.  Initialize tdep->sigcontext_addr
instead.
2002-07-01 21:16:32 +00:00
Mark Kettenis
3a1e71e3b1 * i386-tdep.c (i386_frameless_function_invocation,
i386_frame_num_args, i386_frame_init_saved_regs,
i386_skip_prologue, i386_push_dummy_frame, i386_fix_call_dummy,
i386_pop_frame, i386_push_arguments, i386_store_struct_return,
i386_extract_return_value, i386_store_return_value,
i386_extract_struct_value_address, i386_register_virtual_type,
i386_register_convertible, i386_register_convert_to_virtual,
i386_register_convert_to_raw, i386_svr4_sigtramp_saved_pc,
i386_go32_init_abi, i386_nw_init_abi, i386_gdbarch_init): Make
static.
2002-07-01 10:20:40 +00:00
Mark Kettenis
77b13a25ae * i386bsd-tdep.c (i386bsd_frame_saved_pc): Removed. 2002-07-01 09:41:00 +00:00
Mark Kettenis
52e9098c24 * config/i386/tm-i386sol2.h (COERCE_FLOAT_TO_DOUBLE): Removed.
* i386-sol2-tdep.c (i386_sol2_init_abi): Adjust for the removal of
this macro.  Include "value.h".
2002-07-01 09:13:09 +00:00
gdbadmin
6fee999aa2 *** empty log message *** 2002-07-01 00:00:34 +00:00
Aidan Skinner
1b372fff90 Remove ada-lex.c and ada-exp.tab.c as they are generated files 2002-06-30 22:04:33 +00:00
Mark Kettenis
4a93c5bb96 * config/i386/tm-i386.h (struct frame_info, struct
frame_saved_regs, struct value, struct type): Remove forward
declarations.
2002-06-30 18:55:19 +00:00
Mark Kettenis
322d4fe017 * config/i386/tm-linux.h [HAVE_PTRACE_GETFPXREGS]
(FILL_FPXREGSET, HAVE_SSE_REGS): Remove define.
* config/i386/nm-linux.h [HAVE_PTRACE_GETFPXREGS]
(FILL_FPXREGSET): Define.
2002-06-30 18:43:06 +00:00
Mark Kettenis
fdd8263d0a * config/i386/tm-nbsd.h (HAVE_SSE_REGS): Remove define. 2002-06-30 17:22:57 +00:00
Mark Kettenis
482e577bab * configure.tgt (i[3456]86-*-openbsd*): Fold into
i[3456]86-*-netbsd* case.
* config/i386/tm-obsd.h: Removed.
* config/i386/obsd.mt: Removed.
* config/i386/obsd.mh (NATDEPFILES): Remove corelow.o and
core-aout.o.
(MH_CFLAGS): Add -DYYDEBUG=0.
2002-06-30 17:19:54 +00:00
Mark Kettenis
6916549ad7 * i386bsd-nat.c (_initialize_i386bsd_nat): Define SC_PC_OFFSET to
i386nbsd_sc_pc_offset on OpenBSD too.
2002-06-30 17:01:42 +00:00
Mark Kettenis
9c5045b552 * config/i386/tm-fbsd.h [!SVR4_SHARED_LIBS]
(IN_SOLIB_CALL_TRAMPOLINE): Remove define.
* config/i386/tm-nbsdaout.h (IN_SOLIB_CALL_TRAMPOLINE): Remove
define.
* i386bsd-tdep.c: Include "arch-utils.h".
(i386bsd_aout_in_solib_call_trampoline): New function.
(i386bsd_init_abi): Set in_solib_call_trampoline to
i386bsd_aout_in_solib_call_trampoline.
(i386nbsdelf_init_abi, i386fbsd_init_abi): Set
in_solib_call_trampoline to generic_in_solib_call_trampoline.
2002-06-30 14:43:24 +00:00
gdbadmin
99c847f217 *** empty log message *** 2002-06-30 00:00:33 +00:00
gdbadmin
f65eec1e2d *** empty log message *** 2002-06-29 00:00:32 +00:00
Andrew Cagney
aa84d1bb9b * macrotab.h: Do not include "obstack.h" or "bcache.h".
(struct obstack, struct bcache): Add opaque declarations.
* Makefile.in (macrotab_h): Update
2002-06-28 23:42:33 +00:00
Andrew Cagney
b4d8393384 * blockframe.c (generic_find_dummy_frame): Change return type to
``struct regcache''.
(struct dummy_frame): Replace field ``registers'' with regcache, a
struct regcache object.
(generic_find_dummy_frame): Update.
(generic_push_dummy_frame): Update.  Use regcache_xfree,
regcache_xmalloc and regcache_cpy.
(generic_pop_dummy_frame): Update.  Use regcache_cpy and
regcache_xfree.
(deprecated_generic_find_dummy_frame): Update.
(generic_read_register_dummy): Update.  Use
regcache_read_as_address.
(generic_call_dummy_register_unwind): Update.  Use regcache_read.
(generic_get_saved_register): Update.  Use regcache_read.
2002-06-28 22:38:29 +00:00
Andrew Cagney
08c0b5bc8a * Makefile.in (objfiles_h): Add $(bcache_h).
* objfiles.h: Include "bcache.h".

* Makefile.in (symtab_h): Remove $(bcache_h).
* symtab.h: Do not include "bcache.h".
2002-06-28 22:09:11 +00:00
Andrew Cagney
1f89801a69 * ppcnbsd-tdep.c (ppcnbsd_init_abi): Set frame_chain_valid to
generic_func_frame_chain_valid.
2002-06-28 22:07:20 +00:00
David O'Brien
b9644b5802 2002-06-28 David O'Brien <obrien@FreeBSD.org>
* config/i386/nm-fbsd.h: Include <sys/param.h>.
	* config/i386/tm-fbsd.h: Likewise.
2002-06-28 18:44:49 +00:00
Andrew Cagney
dd4866343a * rs6000-tdep.c (rs6000_gdbarch_init): Use
generic_unwind_get_saved_register.
2002-06-28 16:15:07 +00:00
gdbadmin
cd3a481131 *** empty log message *** 2002-06-28 00:00:04 +00:00
Andrew Cagney
0b434a0046 From 2002-06-27 John David Anglin <dave@hiauly1.hia.nrc.ca>:
* regcache.c (supply_register): Add missing argument to
register_buffer call.
2002-06-27 18:28:23 +00:00
Andrew Cagney
f30e5a77b9 * Makefile.in (init.c): Drop -e option to grep. Not necessary and
Solaris /bin/grep does not not like it.  From Peter Schauer.
2002-06-27 15:49:23 +00:00
Andrew Cagney
b9aa90c9a1 * gdbint.texinfo (User Interface): ISO C rather than ISO-C.
(Coding): Clarify ISO C version that GDB assumes.
2002-06-27 15:30:32 +00:00