aboutsummaryrefslogtreecommitdiff
path: root/gdb/blockframe.c
AgeCommit message (Collapse)AuthorFilesLines
2002-10-122002-10-11 Klee Dienes <kdienes@apple.com>Klee Dienes1-8/+6
* findvar.c (read_memory_typed_address): New function. * gdbcore.h (read_memory_typed_address): Add prototype. * blockframe.c (sigtramp_saved_pc): Use read_memory_typed_address to read a value destined for a CORE_ADDR, not read_memory_integer. * f-valprint.c (f77_get_dynamic_upperbound): Ditto. (f77_get_dynamic_lowerbound): Ditto.
2002-10-012002-09-30 Andrew Cagney <ac131313@redhat.com>Andrew Cagney1-8/+33
* blockframe.c (generic_find_dummy_frame): Rewrite. Only test against TOP when TOP was explictly set. (generic_push_dummy_frame): Set TOP to zero.
2002-09-172002-09-17 Andrew Cagney <cagney@redhat.com>Andrew Cagney1-1/+1
* h8300-tdep.c (h8300_frame_chain): (h8300_frame_saved_pc): * blockframe.c (deprecated_read_register_dummy): Rename generic_read_register_dummy. * frame.c (frame_unwind_signed_register): New function. (frame_unwind_unsigned_register): New function. * frame.h (frame_unwind_signed_register): Declare. (frame_unwind_unsigned_register): Declare. (deprecated_read_register_dummy): Rename generic_read_register_dummy. * xstormy16-tdep.c (xstormy16_frame_saved_pc): Update. * rs6000-tdep.c (rs6000_frame_saved_pc): Update. * s390-tdep.c (s390_frame_saved_pc_nofix): Update. (s390_frame_chain): Update. * v850-tdep.c (v850_find_callers_reg): Update. (v850_frame_saved_pc): Update. * m32r-tdep.c (m32r_init_extra_frame_info): Update. (m32r_find_callers_reg): Update. (m32r_frame_saved_pc): Update. * sh-tdep.c (sh_find_callers_reg): Update. (sh64_get_saved_pr): Update. (sh_init_extra_frame_info): Update. (sh_init_extra_frame_info): Update. (sh64_init_extra_frame_info): Update. (sh64_init_extra_frame_info): Update. * mcore-tdep.c (mcore_find_callers_reg): Update. (mcore_frame_saved_pc): Update. (mcore_init_extra_frame_info): Update. * i386-tdep.c (i386_frame_saved_pc): Update. * ia64-tdep.c (ia64_frame_saved_pc): Update. (ia64_init_extra_frame_info): Update. (ia64_init_extra_frame_info): Update. * d10v-tdep.c (d10v_frame_saved_pc): Update. * cris-tdep.c (cris_init_extra_frame_info): Update. * avr-tdep.c (avr_frame_chain): Update. (avr_init_extra_frame_info): Update. (avr_frame_saved_pc): Update. * arm-tdep.c (arm_find_callers_reg): Update. (arm_init_extra_frame_info): Update. (arm_frame_saved_pc): Update.
2002-09-06* gdbarch.sh (SIGTRAMP_START, SIGTRAMP_END): New methods.Mark Kettenis1-3/+1
* gdbarch.h, gdbarch.c: Re-generate. * blockframe.c (find_pc_sect_partial_function): Convert to use SIGTRAMP_START_P predicate.
2002-08-222002-08-22 Elena Zannoni <ezannoni@redhat.com>Elena Zannoni1-3/+2
* blockframe.c (generic_call_dummy_register_unwind): Use regcache_cooked_read to catch cases in which the variable is stored in a pseudo register.
2002-08-18* blockframe.c: Fix a few coding standard violations.Mark Kettenis1-8/+8
2002-08-132002-08-12 Andrew Cagney <cagney@redhat.com>Andrew Cagney1-1/+14
* regcache.c (regcache_raw_read_as_address): Delete function. (regcache_cooked_read_signed): New function. (regcache_cooked_read_unsigned): New function. * regcache.h (regcache_cooked_read_signed): Declare. (regcache_cooked_read_unsigned): Declare. (regcache_raw_read_as_address): Delete declaration. * blockframe.c (generic_read_register_dummy): Use regcache_cooked_read_unsigned. * i386-tdep.c (i386_extract_struct_value_address): Use regcache_cooked_read_unsigned.
2002-08-09 * blockframe.c (frame_saved_regs_register_unwind): ReviseKevin Buettner1-1/+5
PC_IN_CALL_DUMMY assertion to only apply when generic dummy frames are in use.
2002-07-242002-07-24 Andrew Cagney <cagney@redhat.com>Andrew Cagney1-4/+5
* 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-162002-07-16 Pierre Muller <muller@ics.u-strasbg.fr>Pierre Muller1-0/+2
* blockframe.c (get_pc_function_start): return 0 if the minimal symbol found is not inside a section.
2002-07-02 * frame.h (frame_address_in_block): New function.Joel Brobecker1-12/+24
* 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-06-28* blockframe.c (generic_find_dummy_frame): Change return type toAndrew Cagney1-19/+26
``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-26* frame.h (deprecated_generic_find_dummy_frame): RenameAndrew Cagney1-1/+7
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-08* gdbarch.sh (FRAME_CHAIN_VALID): Set default toAndrew Cagney1-1/+11
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-01* stack.c (frame_info): Use frame_register_unwind instead ofAndrew Cagney1-0/+184
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-05-05* frame.h (select_frame): Delete level parameter.Andrew Cagney1-2/+2
* 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-04-26* valops.c (hand_function_call): CallAndrew Cagney1-13/+39
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-24* arch-utils.h: Update copyright.Andrew Cagney1-3/+3
* 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-14* config/pa/tm-hppa.h (FRAME_CHAIN_COMBINE): Delete macro.Andrew Cagney1-7/+0
* 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-10* stack.c (select_frame): Check that selected_frame and theAndrew Cagney1-4/+7
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-05gdb/ChangeLog:Jim Blandy1-5/+27
* 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-02-27 2002-02-27 Fred Fish <fnf@redhat.com>Fred Fish1-1/+1
* blockframe.c (generic_fix_call_dummy): Fix obvious typo in comment (dumy -> dummy).
2001-11-06Zap another #ifdef INIT_EXTRA_FRAME_INFOAndrew Cagney1-3/+2
2001-11-05Change INIT_EXTRA_FRAME_INFO() to a function with predicate.Andrew Cagney1-3/+2
2001-07-07* symtab.c (main_name): New function.Andrew Cagney1-1/+1
(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-06-16* arch-utils.c (init_frame_pc_default): New functionAndrew Cagney1-6/+0
* 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-15Multi-arch INIT_FRAME_PC() and INIT_FRAME_PC_FIRST().Andrew Cagney1-2/+0
2001-05-172001-05-17 Michael Snyder <msnyder@redhat.com>Michael Snyder1-4/+3
* blockframe.c (create_new_frame): Zero all the fields via memset, rather than zeroing them one by one.
2001-05-04Phase 1 of the ptid_t changes.Kevin Buettner1-2/+2
2001-03-06Update/correct copyright notices.Kevin Buettner1-2/+2
2001-03-01Create new file regcache.h. Update all uses.Andrew Cagney1-2/+3
2001-01-12 * blockframe.c (generic_get_saved_register): Spelling fix.Nicholas Duffek1-1/+1
* frame.h (FRAME_FP): Spelling fix.
2000-12-15Replace free() with xfree().Kevin Buettner1-4/+4
2000-12-112000-12-11 Michael Snyder <msnyder@cleaver.cygnus.com>Michael Snyder1-1/+1
* 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-112000-12-11 Michael Snyder <msnyder@mvstp600e.cygnus.com>Michael Snyder1-3/+3
* blockframe.c (get_prev_frame): Zero all fields of prev by default using memset (instead of one at a time).
2000-09-01spelling correction: depdendant->dependentDavid Anderson1-1/+1
2000-08-092000-08-09 Michael Snyder <msnyder@cleaver.cygnus.com>Michael Snyder1-1/+2
* 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-07-30Protoization.Kevin Buettner1-134/+58
2000-04-29Convert SKIP_PROLOGUE_FRAMELESS_P into PROLOGUE_FRAMELESS_P.Andrew Cagney1-7/+1
2000-04-262000-04-25 Michael Snyder <msnyder@seadog.cygnus.com>Michael Snyder1-1/+1
* blockframe.c: Fix a minor typo in a comment.
2000-04-14* gdbarch.sh (POINTER_TO_ADDRESS, ADDRESS_TO_POINTER): Two newJim Blandy1-2/+2
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.
1999-12-22import gdb-1999-12-21 snapshotJason Molenda1-5/+4
1999-12-14import gdb-1999-12-13 snapshotJason Molenda1-7/+21
1999-08-23import gdb-1999-08-23 snapshotJason Molenda1-14/+10
1999-07-12import gdb-1999-07-12 snapshotJason Molenda1-1/+1
1999-07-07import gdb-1999-07-07 post reformatJason Molenda1-142/+143
1999-07-05import gdb-1999-07-05 snapshotJason Molenda1-1/+13
1999-06-07import gdb-1999-06-07 snapshotJason Molenda1-1/+19
1999-05-25import gdb-1999-05-25 snapshotJason Molenda1-3/+2
1999-05-05import gdb-19990504 snapshotStan Shebs1-2/+2