Commit Graph

80 Commits

Author SHA1 Message Date
Andrew Cagney
0818c12a55 2002-07-24 Andrew Cagney <cagney@redhat.com>
* regcache.h (regcache_raw_read, regcache_raw_write): Replace
regcache_read and regcache_write.
(regcache_raw_read_as_address): Replace regcache_read_as_address.
* regcache.c: Update.
* sh-tdep.c (sh64_push_arguments): Update comment.
(sh_pseudo_register_read): Update.
(sh_pseudo_register_write): Update.
(sh4_register_read): Update.
(sh4_register_write): Update.
(sh64_pseudo_register_read): Update.
(sh64_pseudo_register_write): Update.
(sh64_register_read): Update.
(sh64_register_write): Update.
* i386-tdep.c (i386_extract_return_value): Update.
(i386_extract_struct_value_address): Update.
(i386_extract_return_value): Update.
* blockframe.c (generic_read_register_dummy): Update.
(generic_call_dummy_register_unwind): Update
* infrun.c (write_inferior_status_register): Update.
2002-07-24 14:38:55 +00:00
Pierre Muller
28a93f5a7a 2002-07-16 Pierre Muller <muller@ics.u-strasbg.fr>
* blockframe.c (get_pc_function_start): return 0 if the minimal symbol
	found is not inside a section.
2002-07-16 07:42:25 +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
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
da130f98ef * frame.h (deprecated_generic_find_dummy_frame): Rename
generic_find_dummy_frame.
* blockframe.c (generic_find_dummy_frame): Make static.
(deprecated_generic_find_dummy_frame): New function.
* sh-tdep.c (sh_nofp_frame_init_saved_regs): Replace
generic_find_dummy_frame with deprecated_find_dummy_frame.
(sh64_nofp_frame_init_saved_regs): Ditto.
(sh_fp_frame_init_saved_regs): Ditto.
* s390-tdep.c (s390_frame_saved_pc_nofix): Ditto.
(s390_frame_chain): Ditto.
* cris-tdep.c (cris_frame_init_saved_regs): Ditto.
2002-06-26 15:28:46 +00:00
Andrew Cagney
ca0d0b529b * gdbarch.sh (FRAME_CHAIN_VALID): Set default to
generic_func_frame_chain_valid.
* gdbarch.h, gdbarch.c: Re-generate.
* blockframe.c (generic_func_frame_chain_valid): Only check
PC_IN_CALL_DUMMY when generic dummy frames.  Don't worry about
passing FP to PC_IN_CALL_DUMMY.
Fix PR gdb/360.
2002-06-08 18:30:14 +00:00
Andrew Cagney
4f4608125d * stack.c (frame_info): Use frame_register_unwind instead of
saved_regs.  Mention when the SP is on the stack or in a register.
* frame.h (frame_register_unwind_ftype): Define.  Document.
(struct frame_info): Add field register_unwind and
register_unwind_cache.
(frame_register_unwind): Declare.
(generic_unwind_get_saved_register): Declare.
* frame.c (frame_register_unwind): New function.
(generic_unwind_get_saved_register): New function.
* blockframe.c (generic_call_dummy_register_unwind): New function.
(frame_saved_regs_register_unwind): New function.
(set_unwind_by_pc): New function.
(create_new_frame): New function.
(get_prev_frame): New function.
2002-06-01 20:44:21 +00:00
Andrew Cagney
0f7d239c5a * frame.h (select_frame): Delete level parameter.
* stack.c (select_frame): Update.  Use frame_relative_level to
obtain the frame's level.
(select_and_print_frame): Update call.
(select_frame_command): Ditto.
(up_silently_base): Ditto.
(down_silently_base): Ditto.
* ocd.c (ocd_start_remote): Ditto.
* remote-rdp.c (remote_rdp_open): Ditto.
* remote-mips.c (mips_initialize): Ditto.
(common_open): Ditto.
* remote-e7000.c (e7000_start_remote): Ditto.
* m3-nat.c (select_thread): Ditto.
* hppa-tdep.c (child_get_current_exception_event): Ditto.
(child_get_current_exception_event): Ditto.
* varobj.c (varobj_create): Ditto.
(varobj_update): Ditto.
(c_value_of_root): Ditto.
* tracepoint.c (finish_tfind_command): Ditto.
* corelow.c (core_open): Ditto.
* arch-utils.c (generic_prepare_to_proceed): Ditto.
* thread.c (info_threads_command): Ditto.
(switch_to_thread): Ditto.
* infrun.c (normal_stop): Ditto.
(restore_selected_frame): Ditto.
(restore_inferior_status): Ditto.
* breakpoint.c (insert_breakpoints): Ditto.
(watchpoint_check): Ditto.
(bpstat_stop_status): Ditto.
(do_enable_breakpoint): Ditto.
* blockframe.c (flush_cached_frames): Ditto.
(reinit_frame_cache): Ditto.
2002-05-05 01:15:13 +00:00
Andrew Cagney
6096c27ac0 * valops.c (hand_function_call): Call
generic_save_call_dummy_addr.
* frame.h (generic_save_call_dummy_addr): Declare.
* blockframe.c (struct dummy_frame): Add fields call_lo and
call_hi.
(generic_find_dummy_frame): Check for PC in range call_lo to
call_hi instead of entry_point_address.
(generic_pc_in_call_dummy): Search the dummy frames for a PC in
the call_lo to call_hi range.  Allow for DECR_PC_AFTER_BREAK.
(generic_save_call_dummy_addr): New function.
2002-04-26 03:37:42 +00:00
Andrew Cagney
d7bd68ca3c * arch-utils.h: Update copyright.
* gdbarch.sh (PC_IN_SIGTRAMP): Add.
* gdbarch.h, gdbarch.c: Re-generate.

* inferior.h (IN_SIGTRAMP): Delete definition.
* arch-utils.c (legacy_pc_in_sigtramp): New function.
* arch-utils.h (legacy_pc_in_sigtramp): Declare.

* mips-tdep.c (mips_init_extra_frame_info): Use PC_IN_SIGTRAMP.
(mips_dump_tdep): Do not print value of IN_SIGTRAMP.
* hppa-tdep.c (pc_in_interrupt_handler):  Use PC_IN_SIGTRAMP.
(find_proc_framesize): Ditto.
* alpha-tdep.c (alpha_osf_skip_sigtramp_frame): Ditto.
(alpha_init_extra_frame_info): Ditto.
* infrun.c (handle_inferior_event): Ditto.
(handle_inferior_event): Ditto.
(check_sigtramp2): Ditto.
* blockframe.c (create_new_frame): Ditto.
(get_prev_frame): Ditto.
* ppc-linux-tdep.c: Update comments.
* i386-linux-tdep.c: Update comments.
* breakpoint.c (bpstat_what): Update comment.

* gdbint.texinfo (Target Architecture Definition): Replace
IN_SIGTRAMP with PC_IN_SIGTRAMP.
2002-04-24 16:28:16 +00:00
Andrew Cagney
f208ba17b9 * config/pa/tm-hppa.h (FRAME_CHAIN_COMBINE): Delete macro.
* blockframe.c (FRAME_CHAIN_COMBINE): Delete macro.
(get_prev_frame): Do not call FRAME_CHAIN_COMBINE.
* gdbint.texinfo (Target Architecture Definition): Remove
FRAME_CHAIN_COMBINE.
2002-04-14 13:38:07 +00:00
Andrew Cagney
7cc19214aa * stack.c (select_frame): Check that selected_frame and the
specified level are as expected.
* blockframe.c (get_prev_frame): Set the `level' from next_frame.
Update copyright.
* frame.h (struct frame_info): Add field `level'.  Update
copyright.
Work-in-progress PR gdb/464.
2002-04-10 22:14:02 +00:00
Jim Blandy
ae767bfb78 gdb/ChangeLog:
* stack.c (get_selected_block): Add new argument `addr_in_block',
used to return the exact code address we used to select the block,
not just the block.
* blockframe.c (get_frame_block, get_current_block): Same.
* frame.h (get_frame_block, get_current_block,
get_selected_block): Update declarations.
* linespec.c, stack.c, blockframe.c, breakpoint.c, findvar.c,
linespec.c, varobj.c, printcmd.c, symtab.c: Callers changed.

gdb/mi/ChangeLog:
* mi-cmd-stack.c (list_args_or_locals): Pass new arg to
get_frame_block.  (See entry in gdb/ChangeLog.)
2002-04-05 22:04:43 +00:00
Fred Fish
c570663eff 2002-02-27 Fred Fish <fnf@redhat.com>
* blockframe.c (generic_fix_call_dummy): Fix obvious typo in
	comment (dumy -> dummy).
2002-02-27 20:04:29 +00:00
Andrew Cagney
e6b47f070d Zap another #ifdef INIT_EXTRA_FRAME_INFO 2001-11-06 18:54:11 +00:00
Andrew Cagney
5fdff4261c Change INIT_EXTRA_FRAME_INFO() to a function with predicate. 2001-11-05 23:11:31 +00:00
Andrew Cagney
51cc5b0737 * symtab.c (main_name): New function.
(set_main_name): New function.
* symtab.h: Declare.
* TODO: Update

From 2000-03-05 Anthony Green <green@redhat.com>:
* dbxread.c (process_one_symbol): Handle the N_MAIN stab by
setting main_name.
* blockframe.c (inside_main_func): Use main_name instead of
"main".
* symtab.c (find_main_psymtab): Ditto.
* source.c (select_source_symtab): Ditto.
* nlmread.c (nlm_symfile_read): Ditto.
* rs6000-tdep.c (skip_prologue): Ditto.
2001-07-07 17:19:50 +00:00
Andrew Cagney
7824d2f224 * arch-utils.c (init_frame_pc_default): New function
* arch-utils.h (init_frame_pc_default): Declare.
* gdbarch.sh (INIT_FRAME_PC): Default to init_frame_pc_default and
not init_frame_pc_noop.
* gdbarch.h, gdbarch.c: Re-generate.
* blockframe.c (INIT_FRAME_PC): Delete macro definition.
* mips-tdep.c (mips_gdbarch_init): Set init_frame_pc to
init_frame_pc_noop.
2001-06-16 20:00:24 +00:00
Andrew Cagney
10312cc4d2 Multi-arch INIT_FRAME_PC() and INIT_FRAME_PC_FIRST(). 2001-06-15 23:10:55 +00:00
Michael Snyder
736d0890a9 2001-05-17 Michael Snyder <msnyder@redhat.com>
* blockframe.c (create_new_frame): Zero all the fields via memset,
	rather than zeroing them one by one.
2001-05-17 20:04:46 +00:00
Kevin Buettner
39f770628a Phase 1 of the ptid_t changes. 2001-05-04 04:15:33 +00:00
Kevin Buettner
b6ba6518e9 Update/correct copyright notices. 2001-03-06 08:22:02 +00:00
Andrew Cagney
4e052eda91 Create new file regcache.h. Update all uses. 2001-03-01 01:39:22 +00:00
Nicholas Duffek
7036d6ce0e * blockframe.c (generic_get_saved_register): Spelling fix.
* frame.h (FRAME_FP): Spelling fix.
2001-01-12 20:43:35 +00:00
Kevin Buettner
b8c9b27d1e Replace free() with xfree(). 2000-12-15 01:01:51 +00:00
Michael Snyder
0c8053b6bb 2000-12-11 Michael Snyder <msnyder@cleaver.cygnus.com>
* sh-tdep.c (sh_extract_struct_value_address): Protoize.

2000-12-11  Michael Snyder  <msnyder@mvstp600e.cygnus.com>

	* blockframe.c (get_prev_frame): Add missing paren omitted in
	last check-in.
2000-12-11 21:34:27 +00:00
Michael Snyder
bb30608f10 2000-12-11 Michael Snyder <msnyder@mvstp600e.cygnus.com>
* blockframe.c (get_prev_frame): Zero all fields of prev by
        default using memset (instead of one at a time).
2000-12-11 21:10:15 +00:00
David Anderson
b7d6b182e1 spelling correction: depdendant->dependent 2000-09-01 23:39:11 +00:00
Michael Snyder
35fc82857e 2000-08-09 Michael Snyder <msnyder@cleaver.cygnus.com>
* blockframe.c (sigtramp_saved_pc): Use dynamic allocation,
        since TARGET_PTR_BIT is no longer a constant (MULTI_ARCH).
        * irix4-nat.c (get_longjmp_target): Ditto.
        * irix5-nat.c (get_longjmp_target): Ditto.
        * jv-valprint.c (java_value_print): Ditto.
        * m3-nat.c (get_cprocs):            Ditto.
        * m68k-tdep.c (get_longjmp_target): Ditto.
        * mips-nat.c  (get_longjmp_target): Ditto.
        * mipsv4-nat.c(get_longjmp_target): Ditto.
        * pa64solib.c (read_dynamic_info):  Ditto.
        * solib.c (elf_locate_base):        Ditto.
2000-08-09 20:09:01 +00:00
Kevin Buettner
fba45db2fa Protoization. 2000-07-30 01:48:28 +00:00
Andrew Cagney
dad41f9aa4 Convert SKIP_PROLOGUE_FRAMELESS_P into PROLOGUE_FRAMELESS_P. 2000-04-29 08:55:45 +00:00
Michael Snyder
72229eb7a0 2000-04-25 Michael Snyder <msnyder@seadog.cygnus.com>
* blockframe.c: Fix a minor typo in a comment.
2000-04-26 02:53:02 +00:00
Jim Blandy
4478b372e9 * gdbarch.sh (POINTER_TO_ADDRESS, ADDRESS_TO_POINTER): Two new
functions which architectures can redefine, defaulting to
generic_pointer_to_address and generic_address_to_pointer.
* findvar.c (extract_typed_address, store_typed_address,
generic_pointer_to_address, generic_address_to_pointer): New
functions.
(POINTER_TO_ADDRESS, ADDRESS_TO_POINTER): Provide default
definitions.
(extract_address, store_address): Doc fixes.
* values.c (value_as_pointer): Doc fix.
(value_from_pointer): New function.
* defs.h (extract_typed_address, store_typed_address): New
declarations.
* inferior.h (generic_address_to_pointer,
generic_pointer_to_address): New declarations.
* value.h (value_from_pointer): New declaration.

* ax-gdb.c (const_var_ref): Use value_from_pointer, not
value_from_longest.
* blockframe.c (generic_push_dummy_frame): Use read_pc and
read_sp, not read_register.
* c-valprint.c (c_val_print): Use extract_typed_address instead of
extract_address to extract vtable entries and references.
* cp-valprint.c (cp_print_value_fields): Use value_from_pointer
instead of value_from_longest to extract the vtable's address.
* eval.c (evaluate_subexp_standard): Use value_from_pointer
instead of value_from_longest to compute `this', and for doing
pointer-to-member dereferencing.
* findvar.c (read_register): Use extract_unsigned_integer, not
extract_address.
(read_var_value): Use store_typed_address instead of store_address
for building label values.
(locate_var_value): Use value_from_pointer instead of
value_from_longest.
* hppa-tdep.c (find_stub_with_shl_get): Use value_from_pointer,
instead of value_from_longest, to build arguments to __d_shl_get.
* printcmd.c (set_next_address): Use value_from_pointer, not
value_from_longest.
(x_command): Use value_from_pointer, not value_from_longest.
* tracepoint.c (set_traceframe_context): Use value_from_pointer,
not value_from_longest.
* valarith.c (value_add, value_sub): Use value_from_pointer, not
value_from_longest.
* valops.c (find_function_in_inferior, value_coerce_array,
value_coerce_function, value_addr, hand_function_call): Same.
* value.h (COERCE_REF): Use unpack_pointer, not unpack_long.
* values.c (unpack_long): Use extract_typed_address to produce
addresses from pointers and references, not extract_address.
(value_from_longest): Use store_typed_address instead of
store_address to produce pointer and reference values.
2000-04-14 18:43:41 +00:00
Jason Molenda
ed9a39ebf9 import gdb-1999-12-21 snapshot 1999-12-22 21:45:38 +00:00
Jason Molenda
c4093a6ab3 import gdb-1999-12-13 snapshot 1999-12-14 01:06:04 +00:00
Jason Molenda
53a5351d90 import gdb-1999-08-23 snapshot 1999-08-23 22:40:00 +00:00
Jason Molenda
43e526b9b4 import gdb-1999-07-12 snapshot 1999-07-12 11:15:22 +00:00
Jason Molenda
c5aa993b1f import gdb-1999-07-07 post reformat 1999-07-07 20:19:36 +00:00
Jason Molenda
43ff13b418 import gdb-1999-07-05 snapshot 1999-07-05 17:58:44 +00:00
Jason Molenda
cce74817d9 import gdb-1999-06-07 snapshot 1999-06-07 19:19:32 +00:00
Jason Molenda
392a587b05 import gdb-1999-05-25 snapshot 1999-05-25 18:09:09 +00:00
Stan Shebs
b83266a0e1 import gdb-19990504 snapshot 1999-05-05 14:45:51 +00:00
Stan Shebs
7a292a7adf import gdb-19990422 snapshot 1999-04-26 18:34:20 +00:00
Stan Shebs
c906108c21 Initial creation of sourceware repository 1999-04-16 01:35:26 +00:00
Stan Shebs
071ea11e85 Initial creation of sourceware repository 1999-04-16 01:34:07 +00:00
Andrew Cagney
3a0c96a996 CARP:
Rewrite INNER_THAN so that it takes parameters.
1998-11-28 22:53:04 +00:00
Jason Molenda
ad3b8c4a1a 1998-10-13 Jason Molenda (jsm@bugshack.cygnus.com)
* blockframe.c (find_pc_sect_partial_function): Add braces to avoid
        possible nested-if confusion.
        * breakpoint.c (breakpoint_here_p): Ditto.
        (breakpoint_inserted_here_p): Ditto.
        (breakpoint_thread_match): Ditto.

        * gnu-regex.c: Define _REGEX_RE_COMP only if it isn't already defined.
        * gnu-regex.h: Define _REGEX_RE_COMP to pick up old compatability
        prototypes.

        * symtab.h: Add prototype for _initialize_source.
        * value.h: Add prototype for _initialize_value.

        * defs.h: Include sys/types.h or stddef.h to get size_t.
        (make_cleanup): Add make_cleanup_func typedef and switch to using
        a prototype for this function.
        (mfree): Add prototypes for mmalloc, mrealloc, mfree if we aren't
        using mmalloc.

        * ax-gdb.c breakpoint.c coffread.c corelow.c dbxread.c dwarf2read.c
        dwarfread.c elfread.c eval.c exec.c gdbtk-cmds.c gdbtk.c infcmd.c
        infrun.c mipsread.c nlmread.c os9kread.c parse.c printcmd.c symfile.c
        symmisc.c symtab.c thread.c top.c tracepoint.c typeprint.c valops.c:
        Cast parameters passed to make_cleanup to use the new
        make_cleanup_func typedef.


More warning cleanups.  There are still a bunch of places where the first
argument to make_cleanup is not cast to (make_cleanup_func); these are
either due to the function fitting the make_cleanup_func specification
already (e.g. free()) or they are in files that weren't compiled when
I did my make on a Linux native system.  Bwahahaha.  You can see them
like this:

grep make_cleanup\  * | grep -v make_cleanup_func

I'll surely go back and clean up the remaining suspicious calls in
GDB one of these days. :-)
1998-10-14 01:15:00 +00:00
Ron Unrau
253ceee6d0 Merges from SKY branch:
* blockframe.c(find_pc_sect_partial_function): look for min syms in
          the same section when trying to guess the end of a function.
        * symfile.c(list_overlays_command): use print_address_numeric
        * remote-sim.c: export simulator_command
        * tm-r5900.h: add COP0 registers
        * txvu-tdep.c: printvector and printvector-order commands
        * tm-txvu.h: add COP0 registers
        * mips-tdep.c: use NUM_CORE_REGS
1998-09-09 17:41:59 +00:00
Jeff Law
c301abbdbb * blockframe.c (generic_frame_chain_valid): If the new frame
is not INNER_THAN the old frame, then it's not valid.
1997-02-07 17:07:49 +00:00
Michael Snyder
b444216f2c * blockframe.c: fix a null pointer ref in generic_get_saved_register 1997-01-28 23:55:28 +00:00