Yao Qi
be7d3cd5f1
Reset *THIS_CACHE in frame_unwind_try_unwinder in case of exception
...
It is required that unwinder->sniffer should set *this_cache to NULL if
the unwinder is not applicable or exception is thrown, so
78ac5f8316
adds clear_pointer_cleanup to set
*this_cache to NULL in case of exception in order to fix PR 14100.
https://sourceware.org/ml/gdb-patches/2012-08/msg00075.html
This patch removes that clear_pointer_cleanup, and catch all exception in
the caller of unwinder->sniffer. In case of exception, reset *this_case.
gdb:
2017-08-11 Yao Qi <yao.qi@linaro.org>
* dwarf2-frame.c (clear_pointer_cleanup): Remove.
(dwarf2_frame_cache): Remove reset_cache_cleanup.
(dwarf2_frame_cache):
* frame-unwind.c (frame_unwind_try_unwinder): Catch
RETURN_MASK_ALL and set *this_case to NULL.
* frame-unwind.h: Update comments.
2017-08-11 09:30:02 +01:00
Joel Brobecker
61baf725ec
update copyright year range in GDB files
...
This applies the second part of GDB's End of Year Procedure, which
updates the copyright year range in all of GDB's files.
gdb/ChangeLog:
Update copyright year range in all GDB files.
2017-01-01 10:52:34 +04:00
Joel Brobecker
618f726fcb
GDB copyright headers update after running GDB's copyright.py script.
...
gdb/ChangeLog:
Update year range in copyright notice of all files.
2016-01-01 08:43:22 +04:00
Joel Brobecker
32d0add0a6
Update year range in copyright notice of all files owned by the GDB project.
...
gdb/ChangeLog:
Update year range in copyright notice of all files.
2015-01-01 13:32:14 +04:00
Joel Brobecker
ecd75fc8ee
Update Copyright year range in all files maintained by GDB.
2014-01-01 07:54:24 +04:00
Joel Brobecker
28e7fd6234
Update years in copyright notice for the GDB files.
...
Two modifications:
1. The addition of 2013 to the copyright year range for every file;
2. The use of a single year range, instead of potentially multiple
year ranges, as approved by the FSF.
2013-01-01 06:33:28 +00:00
Tom Tromey
78ac5f8316
* dwarf2-frame.c (clear_pointer_cleanup): New function.
...
(dwarf2_frame_cache): Use it.
* frame-unwind.h (frame_sniffer_ftype): Document prologue
cache initialization constraint.
2012-08-06 19:20:43 +00:00
Joel Brobecker
0b30217134
Copyright year update in most files of the GDB Project.
...
gdb/ChangeLog:
Copyright year update in most files of the GDB Project.
2012-01-04 08:17:56 +00:00
Pedro Alves
8fbca658f0
gdb/
...
* frame.c (frame_unwind_register): Throw an error if unwinding the
register failed.
* get_prev_frame_1 (get_prev_frame_1): Ask the unwinder if there's
an unwind stop reason.
(frame_stop_reason_string): Handle UNWIND_UNAVAILABLE.
* frame.h (enum unwind_stop_reason) <UNWIND_OUTERMOST,
UNWIND_UNAVAILABLE>: New.
* inline-frame.c (inline_frame_unwind): Install
default_frame_unwind_stop_reason.
* frame-unwind.c: Include "exceptions.h".
(frame_unwind_find_by_frame): Swallow NOT_AVAILABLE_ERROR errors.
(default_frame_unwind_stop_reason): New.
* frame-unwind.h (frame_unwind_stop_reason_ftype): New typedef.
(default_frame_unwind_stop_reason): Declare.
(struct frame_unwind) <stop_reason>: New function pointer.
* dummy-frame.c: Install default_frame_unwind_stop_reason.
* dwarf2-frame.c: Include exceptions.h.
(struct dwarf2_frame_cache) <unavailable_retaddr>: New field.
(dwarf2_frame_cache): Swallow NOT_AVAILABLE_ERROR errors when
computing the CFA. If such an error was thrown, set
unavailable_retaddr.
(dwarf2_frame_unwind_stop_reason): New.
(dwarf2_frame_this_id): Don't build a frame id if the CFA was
unavailable.
(dwarf2_frame_unwind): Install dwarf2_frame_unwind_stop_reason.
(dwarf2_signal_frame_unwind): Ditto.
* amd64-tdep.c: Include "exceptions.h".
(struct amd64_frame_cache): New field "base_p".
(amd64_init_frame_cache): Clear it.
(amd64_frame_cache_1): New, factored out from amd64_frame_cache.
Avoid reading registers with functions that throw if the register
is not necessary to compute the frame base.
(amd64_frame_cache): Reimplement wrapping amd64_frame_cache_1, and
swallowing NOT_AVAILABLE_ERROR.
(amd64_frame_unwind_stop_reason): New.
(amd64_frame_this_id): Don't build a frame id if the frame base
was unavailable.
(amd64_frame_unwind): Install amd64_frame_unwind_stop_reason.
(amd64_sigtramp_frame_cache): Swallow NOT_AVAILABLE_ERROR, and set
base_p if the frame base was computable.
(amd64_sigtramp_frame_unwind_stop_reason): New.
(amd64_sigtramp_frame_this_id): Don't build a frame id if the
frame base was unavailable.
(amd64_sigtramp_frame_unwind): Install
amd64_sigtramp_frame_unwind_stop_reason.
(amd64_epilogue_frame_cache): Swallow NOT_AVAILABLE_ERROR, and set
base_p if the frame base was computable.
(amd64_epilogue_frame_unwind_stop_reason): New.
(amd64_epilogue_frame_this_id): Don't build a frame id if the
frame base was unavailable.
(amd64_epilogue_frame_unwind): Install
amd64_epilogue_frame_unwind_stop_reason.
* i386-tdep.c: Include "exceptions.h".
(struct i386_frame_cache): New field "base_p".
(i386_init_frame_cache): Clear it.
(i386_frame_cache_1): New, factored out from amd64_frame_cache.
Avoid reading registers with functions that throw if the register
is not necessary to compute the frame base.
(i386_frame_cache): Reimplement wrapping amd64_frame_cache_1, and
swallowing NOT_AVAILABLE_ERROR.
(i386_frame_unwind_stop_reason): New.
(i386_frame_this_id): Don't build a frame id if the frame base was
unavailable.
(i386_frame_prev_register): Handle unavailable SP.
(i386_frame_unwind): Install i386_frame_unwind_stop_reason.
(i386_epilogue_frame_cache): Swallow NOT_AVAILABLE_ERROR, and set
base_p if the frame base was computable.
(i386_epilogue_frame_unwind_stop_reason): New.
(i386_epilogue_frame_this_id): Don't build a frame id if the frame
base was unavailable.
(i386_epilogue_frame_unwind): Install
i386_epilogue_frame_unwind_stop_reason.
(i386_sigtramp_frame_cache): Swallow NOT_AVAILABLE_ERROR, and set
base_p if the frame base was computable.
(i386_sigtramp_frame_unwind_stop_reason): New.
(i386_sigtramp_frame_this_id): Don't build a frame id if the frame
base was unavailable.
(i386_sigtramp_frame_unwind): Install
i386_sigtramp_frame_unwind_stop_reason.
* sentinel-frame.c (sentinel_frame_prev_register): Use the value
type's size, not the register's.
(sentinel_frame_unwind): Install default_frame_unwind_stop_reason.
* alpha-mdebug-tdep.c (alpha_mdebug_frame_unwind): Install
default_frame_unwind_stop_reason.
* alpha-tdep.c (alpha_sigtramp_frame_unwind)
(alpha_heuristic_frame_unwind): Ditto.
* amd64obsd-tdep.c (amd64obsd_trapframe_unwind): Ditto.
* arm-tdep.c (arm_prologue_unwind, arm_stub_unwind): Ditto.
* avr-tdep.c (avr_frame_unwind): Ditto.
* cris-tdep.c (cris_sigtramp_frame_unwind, cris_frame_unwind):
Ditto.
* frv-linux-tdep.c (frv_linux_sigtramp_frame_unwind): Ditto.
* frv-tdep.c (frv_frame_unwind): Ditto.
* h8300-tdep.c (h8300_frame_unwind): Ditto.
* hppa-hpux-tdep.c (hppa_hpux_sigtramp_frame_unwind): Ditto.
* hppa-linux-tdep.c (hppa_linux_sigtramp_frame_unwind): Ditto.
* hppa-tdep.c (hppa_frame_unwind, hppa_fallback_frame_unwind)
(hppa_stub_frame_unwind): Ditto.
* i386obsd-tdep.c (i386obsd_trapframe_unwind): Ditto.
* ia64-tdep.c (ia64_frame_unwind, ia64_sigtramp_frame_unwind)
(ia64_libunwind_frame_unwind)
(ia64_libunwind_sigtramp_frame_unwind): Ditto.
* iq2000-tdep.c (iq2000_frame_unwind): Ditto.
* lm32-tdep.c (lm32_frame_unwind): Ditto.
* m32c-tdep.c (m32c_unwind): Ditto.
* m32r-linux-tdep.c (m32r_linux_sigtramp_frame_unwind): Ditto.
* m32r-tdep.c (m32r_frame_unwind): Ditto.
* m68hc11-tdep.c (m68hc11_frame_unwind): Ditto.
* m68k-tdep.c (m68k_frame_unwind): Ditto.
* m68klinux-tdep.c (m68k_linux_sigtramp_frame_unwind): Ditto.
* m88k-tdep.c (m88k_frame_unwind): Ditto.
* mep-tdep.c (mep_frame_unwind): Ditto.
* microblaze-tdep.c (microblaze_frame_unwind): Ditto.
* mips-tdep.c (mips_insn16_frame_unwind, mips_insn32_frame_unwind)
(mips_stub_frame_unwind): Ditto.
* mn10300-tdep.c (mn10300_frame_unwind): Ditto.
* moxie-tdep.c (moxie_frame_unwind): Ditto.
* mt-tdep.c (mt_frame_unwind): Ditto.
* ppc-linux-tdep.c (ppu2spu_unwind): Ditto.
* ppcobsd-tdep.c (ppcobsd_sigtramp_frame_unwind): Ditto.
* rs6000-tdep.c (rs6000_frame_unwind): Ditto.
* s390-tdep.c (s390_frame_unwind, s390_stub_frame_unwind)
(s390_sigtramp_frame_unwind): Ditto.
* score-tdep.c (score_prologue_unwind): Ditto.
* sh-tdep.c (sh_frame_unwind): Ditto.
* sh64-tdep.c (sh64_frame_unwind): Ditto.
* sparc-sol2-tdep.c (sparc32_sol2_sigtramp_frame_unwind): Ditto.
* sparc-tdep.c (sparc32_frame_unwind): Ditto.
* sparc64-sol2-tdep.c (sparc64_sol2_sigtramp_frame_unwind): Ditto.
* sparc64-tdep.c (sparc64_frame_unwind): Ditto.
* sparc64fbsd-tdep.c (sparc64fbsd_sigtramp_frame_unwind): Ditto.
* sparc64nbsd-tdep.c (sparc64nbsd_sigcontext_frame_unwind): Ditto.
* sparc64obsd-tdep.c (sparc64obsd_frame_unwind)
(sparc64obsd_trapframe_unwind): Ditto.
* sparcnbsd-tdep.c (sparc32nbsd_sigcontext_frame_unwind): Ditto.
* sparcobsd-tdep.c (sparc32obsd_sigtramp_frame_unwind): Ditto.
* spu-tdep.c (spu_frame_unwind, spu2ppu_unwind): Ditto.
* v850-tdep.c (v850_frame_unwind): Ditto.
* vax-tdep.c (vax_frame_unwind): Ditto.
* vaxobsd-tdep.c (vaxobsd_sigtramp_frame_unwind): Ditto.
* xstormy16-tdep.c (frame_unwind xstormy16_frame_unwind): Ditto.
* xtensa-tdep.c (xtensa_unwind): Ditto.
2011-03-18 18:52:32 +00:00
Michael Snyder
766062f62f
2011-02-27 Michael Snyder <msnyder@vmware.com>
...
* darwin-nat-info.c: Fix comment typo.
* dwarf2expr.h: Ditto.
* fbsd-nat.c: Ditto.
* fbsd-nat.h: Ditto.
* frame-unwind.h: Ditto.
* frame.h: Ditto.
* hppa-hpux-tdep.c: Ditto.
* i386-linux-nat.c: Ditto.
* linux-nat.c: Ditto.
* nbsd-nat.c: Ditto.
* nbsd-nat.h: Ditto.
* ppc-linux-tdep.c: Ditto.
* serial.c: Ditto.
* ui-file.h: Ditto.
* tui/tui-winsource.c: Ditto.
2011-02-27 16:25:38 +00:00
Pedro Alves
b7ea3126c0
gdb/
...
* frame-unwind.h: Fix comment to mention the this frame, not the
next.
2011-02-22 17:51:24 +00:00
Michael Snyder
3e43a32aaa
2011-01-05 Michael Snyder <msnyder@vmware.com>
...
* addrmap.c: Shorten lines of >= 80 columns.
* arch-utils.c: Ditto.
* arch-utils.h: Ditto.
* ax-gdb.c: Ditto.
* ax-general.c: Ditto.
* bcache.c: Ditto.
* blockframe.c: Ditto.
* breakpoint.c: Ditto.
* buildsym.c: Ditto.
* c-lang.c: Ditto.
* c-typeprint.c: Ditto.
* charset.c: Ditto.
* coffread.c: Ditto.
* command.h: Ditto.
* corelow.c: Ditto.
* cp-abi.c: Ditto.
* cp-namespace.c: Ditto.
* cp-support.c: Ditto.
* dbug-rom.c: Ditto.
* dbxread.c: Ditto.
* defs.h: Ditto.
* dfp.c: Ditto.
* dfp.h: Ditto.
* dictionary.c: Ditto.
* disasm.c: Ditto.
* doublest.c: Ditto.
* dwarf2-frame.c: Ditto.
* dwarf2expr.c: Ditto.
* dwarf2loc.c: Ditto.
* dwarf2read.c: Ditto.
* elfread.c: Ditto.
* eval.c: Ditto.
* event-loop.c: Ditto.
* event-loop.h: Ditto.
* exceptions.h: Ditto.
* exec.c: Ditto.
* expprint.c: Ditto.
* expression.h: Ditto.
* f-lang.c: Ditto.
* f-valprint.c: Ditto.
* findcmd.c: Ditto.
* frame-base.c: Ditto.
* frame-unwind.c: Ditto.
* frame-unwind.h: Ditto.
* frame.c: Ditto.
* frame.h: Ditto.
* gcore.c: Ditto.
* gdb-stabs.h: Ditto.
* gdb_assert.h: Ditto.
* gdb_dirent.h: Ditto.
* gdb_obstack.h: Ditto.
* gdbcore.h: Ditto.
* gdbtypes.c: Ditto.
* gdbtypes.h: Ditto.
* inf-ttrace.c: Ditto.
* infcall.c: Ditto.
* infcmd.c: Ditto.
* inflow.c: Ditto.
* infrun.c: Ditto.
* inline-frame.h: Ditto.
* language.c: Ditto.
* language.h: Ditto.
* libunwind-frame.c: Ditto.
* libunwind-frame.h: Ditto.
* linespec.c: Ditto.
* linux-nat.c: Ditto.
* linux-nat.h: Ditto.
* linux-thread-db.c: Ditto.
* machoread.c: Ditto.
* macroexp.c: Ditto.
* macrotab.c: Ditto.
* main.c: Ditto.
* maint.c: Ditto.
* mdebugread.c: Ditto.
* memattr.c: Ditto.
* minsyms.c: Ditto.
* monitor.c: Ditto.
* monitor.h: Ditto.
* objfiles.c: Ditto.
* objfiles.h: Ditto.
* osabi.c: Ditto.
* p-typeprint.c: Ditto.
* p-valprint.c: Ditto.
* parse.c: Ditto.
* printcmd.c: Ditto.
* proc-events.c: Ditto.
* procfs.c: Ditto.
* progspace.c: Ditto.
* progspace.h: Ditto.
* psympriv.h: Ditto.
* psymtab.c: Ditto.
* record.c: Ditto.
* regcache.c: Ditto.
* regcache.h: Ditto.
* remote-fileio.c: Ditto.
* remote.c: Ditto.
* ser-mingw.c: Ditto.
* ser-tcp.c: Ditto.
* ser-unix.c: Ditto.
* serial.c: Ditto.
* serial.h: Ditto.
* solib-frv.c: Ditto.
* solib-irix.c: Ditto.
* solib-osf.c: Ditto.
* solib-pa64.c: Ditto.
* solib-som.c: Ditto.
* solib-sunos.c: Ditto.
* solib-svr4.c: Ditto.
* solib-target.c: Ditto.
* solib.c: Ditto.
* somread.c: Ditto.
* source.c: Ditto.
* stabsread.c: Ditto.
* stabsread.c: Ditto.
* stack.c: Ditto.
* stack.h: Ditto.
* symfile-mem.c: Ditto.
* symfile.c: Ditto.
* symfile.h: Ditto.
* symmisc.c: Ditto.
* symtab.c: Ditto.
* symtab.h: Ditto.
* target-descriptions.c: Ditto.
* target-memory.c: Ditto.
* target.c: Ditto.
* target.h: Ditto.
* terminal.h: Ditto.
* thread.c: Ditto.
* top.c: Ditto.
* tracepoint.c: Ditto.
* tracepoint.h: Ditto.
* ui-file.c: Ditto.
* ui-file.h: Ditto.
* ui-out.h: Ditto.
* user-regs.c: Ditto.
* user-regs.h: Ditto.
* utils.c: Ditto.
* valarith.c: Ditto.
* valops.c: Ditto.
* valprint.c: Ditto.
* valprint.h: Ditto.
* value.c: Ditto.
* varobj.c: Ditto.
* varobj.h: Ditto.
* vec.h: Ditto.
* xcoffread.c: Ditto.
* xcoffsolib.c: Ditto.
* xcoffsolib.h: Ditto.
* xml-syscall.c: Ditto.
* xml-tdesc.c: Ditto.
2011-01-05 22:22:53 +00:00
Joel Brobecker
7b6bb8daac
run copyright.sh for 2011.
2011-01-01 15:34:07 +00:00
Jan Kratochvil
9f9a8002f0
gdb/
...
Code cleanup.
* frame-unwind.c (frame_unwind_find_by_frame): Remove the return type
and returned value. New comment from frame-unwind.h.
* frame-unwind.h (frame_unwind_find_by_frame): Remove the return type.
Extend the comment.
* frame.c (get_frame_id, frame_unwind_register_value)
(create_new_frame, get_prev_frame_1, frame_unwinder_is)
(get_frame_type, frame_unwind_arch): Do not use the return value of
frame_unwind_find_by_frame.
2010-08-11 13:22:57 +00:00
Joel Brobecker
4c38e0a4fc
Update copyright year in most headers.
...
Automatic update by copyright.sh.
2010-01-01 07:32:07 +00:00
Ulrich Weigand
36f15f554f
* frame.h (frame_unwind_arch): New.
...
(frame_unwind_caller_arch): Likewise.
* frame-unwind.h (frame_prev_arch_ftype): New type.
(struct frame_unwind): New member prev_arch.
* frame.c (struct frame_info): New member prev_arch.
(frame_unwind_arch): New function.
(frame_unwind_caller_arch): Likewise..
(get_frame_arch): Reimplement in terms of frame_unwind_arch.
* sentinel-frame.c (sentinel_frame_prev_arch): New function.
(sentinel_frame_unwinder): Install it.
* frame.c (frame_pc_unwind): Use frame_unwind_arch instead
of get_frame_arch.
(frame_unwind_register_value): Likewise.
(frame_unwind_register_signed): Likewise.
(frame_unwind_register_unsigned): Likewise.
* frame-unwind.c (frame_unwind_got_optimized): Likewise.
(frame_unwind_got_register): Likewise.
(frame_unwind_got_constant): Likewise.
(frame_unwind_got_bytes): Likewise.
(frame_unwind_got_address): Likewise.
* frame.h (enum frame_type): New value ARCH_FRAME.
* frame.c (fprint_frame_type): Handle ARCH_FRAME.
* stack.c (print_frame_info): Likewise.
2009-07-02 17:09:28 +00:00
Joel Brobecker
0fb0cc7590
Updated copyright notices for most files.
2009-01-03 05:58:08 +00:00
Joel Brobecker
15c1e57ffb
* frame-unwind.c (frame_unwind_got_bytes): New function.
...
* frame-unwind.h (frame_unwind_got_bytes): Add declaration.
* libunwind-frame.h, libunwind-frame.c, ia64-tdep.c: Update
for unwinder changes.
2008-05-06 18:37:46 +00:00
Thiago Jung Bauermann
938f5214c6
2008-05-03 Luis Machado <luisgpm@br.ibm.com>
...
Thiago Jung Bauermann <bauerman@br.ibm.com>
* cli/cli-decode.c (lookup_cmd_1): Fix indentation.
* doublest.c (convert_typed_floating): Fix typo in comment.
* dwarf2-frame.c (dwarf2_frame_cache): Likewise.
* frame-unwind.h (frame_sniffer_ftype): Likewise.
* frame.c (frame_unwind_address_in_block): Likewise.
* ppc-sysv-tdep.c (ppc64_sysv_abi_push_dummy_call): Likewise.
* symtab.h (struct symbol): Likewise.
* tramp-frame.h (struct trad_frame_cache): Likewise.
* value.c (allocate_repeat_value): Likewise.
2008-05-03 23:24:17 +00:00
Daniel Jacobowitz
669fac235d
Convert frame unwinders to use the current frame and
...
"struct value".
* frame.c (frame_debug): Make global.
(get_frame_id): Pass this frame to unwinder routines.
(frame_pc_unwind): Remove unused unwind->prev_pc support.
(do_frame_register_read): Do not discard the return value of
frame_register_read.
(frame_register_unwind): Remove debug messages. Use
frame_unwind_register_value.
(frame_unwind_register_value, get_frame_register_value): New
functions.
(create_new_frame, get_frame_base_address, get_frame_locals_address)
(get_frame_args_address, get_frame_type): Pass this frame to
unwinder routines.
(frame_cleanup_after_sniffer, frame_prepare_for_sniffer): New
functions.
* frame.h: Update comments.
(frame_debug, frame_unwind_register_value, get_frame_register_value)
(frame_prepare_for_sniffer): Declare.
* frame-unwind.h: Update comments and parameter names.
(default_frame_sniffer): Declare.
(frame_prev_register_ftype): Return a struct value *.
(struct frame_unwind): Remove prev_pc member.
(frame_unwind_sniffer_ftype, frame_unwind_append_sniffer): Delete.
(frame_unwind_append_unwinder, frame_unwind_got_optimized)
(frame_unwind_got_register, frame_unwind_got_memory)
(frame_unwind_got_constant, frame_unwind_got_address): Declare.
* frame-base.h: Update comments and parameter names.
* valops.c (value_fetch_lazy): Use get_frame_register_value. Iterate
if necessary. Add debugging output.
* sentinel-frame.c (sentinel_frame_prev_register)
(sentinel_frame_this_id): Update for new signature.
(sentinel_frame_prev_pc): Delete.
(sentinel_frame_unwinder): Remove prev_pc.
* ia64-tdep.c (ia64_libunwind_frame_unwind): Do not initialize
prev_pc.
* libunwind-frame.c (libunwind_frame_unwind): Likewise.
* frame-unwind.c (struct frame_unwind_table_entry): Remove sniffer.
(frame_unwind_append_sniffer): Delete.
(frame_unwind_append_unwinder): New function.
(frame_unwind_find_by_frame): Take this frame. Only use sniffers
from unwinders. Use frame_prepare_for_sniffer.
(default_frame_sniffer, frame_unwind_got_optimized)
(frame_unwind_got_register, frame_unwind_got_memory)
(frame_unwind_got_constant, frame_unwind_got_address): New functions.
* dummy-frame.c (dummy_frame_sniffer): Use gdbarch_dummy_id.
(dummy_frame_prev_register, dummy_frame_this_id): Update for new
signature.
* gdbarch.sh: Replace unwind_dummy_id with dummy_id.
* gdbarch.c, gdbarch.c: Regenerated.
* frame-base.c (default_frame_base_address)
(default_frame_locals_address, default_frame_args_address): Update
for new signature.
(frame_base_find_by_frame): Pass this frame to unwinder routines.
* infcall.c (call_function_by_hand): Update comments.
* Makefile.in (frame-unwind.o): Update dependencies.
* gdbint.texinfo (Stack Frames): New chapter.
(Algorithms): Move Frames text to the new chapter.
(Target Conditionals): Delete SAVE_DUMMY_FRAME_TOS. Document
gdbarch_dummy_id instead of gdbarch_unwind_dummy_id.
2008-04-30 21:16:46 +00:00
Daniel Jacobowitz
9b254dd1ce
Updated copyright notices for most files.
2008-01-01 22:53:26 +00:00
Joel Brobecker
a9762ec78a
Switch the license of all .c files to GPLv3.
...
Switch the license of all .h files to GPLv3.
Switch the license of all .cc files to GPLv3.
2007-08-23 18:08:50 +00:00
Andreas Schwab
272dfcfd78
* frame-unwind.h (frame_dealloc_cache_ftype): Define.
...
(struct frame_unwind): Add dealloc_cache.
* frame.c (reinit_frame_cache): Call dealloc_cache on all caches.
* libunwind-frame.h (libunwind_frame_dealloc_cache): Declare.
* libunwind-frame.c (libunwind_frame_dealloc_cache): Define.
(libunwind_frame_unwind): Set dealloc_cache.
* ia64-tdep.c (ia64_libunwind_frame_unwind): Set dealloc_cache.
2007-06-12 15:21:27 +00:00
Daniel Jacobowitz
6aba47ca06
Copyright updates for 2007.
2007-01-09 17:59:20 +00:00
Fred Fish
35d5d4ee3d
Reviewed by Daniel Jacobowitz <drow@false.org>
...
2006-07-31 Fred Fish <fnf@specifix.com>
* arm-tdep.c (arm_make_prologue_cache): Use FRAME_OBSTACK_ZALLOC
instead of calling frame_obstack_zalloc directly.
(arm_make_stub_cache): Ditto.
* frame-unwind.h: Ditto.
* frame.c (create_new_frame): Ditto.
2006-07-31 17:33:30 +00:00
Eli Zaretskii
197e01b6dc
* breakpoint.c:
...
* arm-tdep.c:
* ia64-tdep.c:
* i386-tdep.c:
* hpread.c:
* hppa-tdep.c:
* hppa-hpux-tdep.c:
* gnu-nat.c:
* gdbtypes.c:
* gdbarch.h:
* gdbarch.c:
* eval.c:
* dwarf2read.c:
* dbxread.c:
* copying:
* symfile.c:
* stabsread.c:
* sh64-tdep.c:
* sh-tdep.c:
* s390-tdep.c:
* rs6000-tdep.c:
* remote.c:
* remote-mips.c:
* mips-tdep.c:
* mdebugread.c:
* linux-nat.c:
* infrun.c:
* xcoffread.c:
* win32-nat.c:
* valops.c:
* utils.c:
* tracepoint.c:
* target.c:
* symtab.c:
* c-exp.y:
* ada-valprint.c:
* ada-typeprint.c:
* ada-lex.l:
* ada-lang.h:
* ada-lang.c:
* ada-exp.y:
* alphafbsd-tdep.c:
* alphabsd-tdep.h:
* alphabsd-tdep.c:
* alphabsd-nat.c:
* alpha-tdep.h:
* alpha-tdep.c:
* alpha-osf1-tdep.c:
* alpha-nat.c:
* alpha-mdebug-tdep.c:
* alpha-linux-tdep.c:
* alpha-linux-nat.c:
* aix-thread.c:
* abug-rom.c:
* arch-utils.c:
* annotate.h:
* annotate.c:
* amd64obsd-tdep.c:
* amd64obsd-nat.c:
* amd64nbsd-tdep.c:
* amd64nbsd-nat.c:
* amd64fbsd-tdep.c:
* amd64fbsd-nat.c:
* amd64bsd-nat.c:
* amd64-tdep.h:
* amd64-tdep.c:
* amd64-sol2-tdep.c:
* amd64-nat.h:
* amd64-nat.c:
* amd64-linux-tdep.c:
* amd64-linux-nat.c:
* alphanbsd-tdep.c:
* block.h:
* block.c:
* bfd-target.h:
* bfd-target.c:
* bcache.h:
* bcache.c:
* ax.h:
* ax-general.c:
* ax-gdb.h:
* ax-gdb.c:
* avr-tdep.c:
* auxv.h:
* auxv.c:
* armnbsd-tdep.c:
* armnbsd-nat.c:
* arm-tdep.h:
* arm-linux-nat.c:
* arch-utils.h:
* charset.c:
* call-cmds.h:
* c-valprint.c:
* c-typeprint.c:
* c-lang.h:
* c-lang.c:
* buildsym.h:
* buildsym.c:
* bsd-uthread.h:
* bsd-uthread.c:
* bsd-kvm.h:
* bsd-kvm.c:
* breakpoint.h:
* core-regset.c:
* core-aout.c:
* completer.h:
* completer.c:
* complaints.h:
* complaints.c:
* command.h:
* coffread.c:
* coff-solib.h:
* coff-solib.c:
* coff-pe-read.h:
* coff-pe-read.c:
* cli-out.h:
* cli-out.c:
* charset.h:
* dink32-rom.c:
* dictionary.h:
* dictionary.c:
* demangle.c:
* defs.h:
* dcache.h:
* dcache.c:
* d10v-tdep.c:
* cpu32bug-rom.c:
* cp-valprint.c:
* cp-support.h:
* cp-support.c:
* cp-namespace.c:
* cp-abi.h:
* cp-abi.c:
* corelow.c:
* corefile.c:
* environ.c:
* elfread.c:
* dwarfread.c:
* dwarf2loc.c:
* dwarf2expr.h:
* dwarf2expr.c:
* dwarf2-frame.h:
* dwarf2-frame.c:
* dve3900-rom.c:
* dummy-frame.h:
* dummy-frame.c:
* dsrec.c:
* doublest.h:
* doublest.c:
* disasm.h:
* disasm.c:
* fork-child.c:
* findvar.c:
* fbsd-nat.h:
* fbsd-nat.c:
* f-valprint.c:
* f-typeprint.c:
* f-lang.h:
* f-lang.c:
* expression.h:
* expprint.c:
* exec.h:
* exec.c:
* exceptions.h:
* exceptions.c:
* event-top.h:
* event-top.c:
* event-loop.h:
* event-loop.c:
* gdb.c:
* gdb-stabs.h:
* gdb-events.h:
* gdb-events.c:
* gcore.c:
* frv-tdep.h:
* frv-tdep.c:
* frv-linux-tdep.c:
* frame.h:
* frame.c:
* frame-unwind.h:
* frame-unwind.c:
* frame-base.h:
* frame-base.c:
* gdb_vfork.h:
* gdb_thread_db.h:
* gdb_string.h:
* gdb_stat.h:
* gdb_regex.h:
* gdb_ptrace.h:
* gdb_proc_service.h:
* gdb_obstack.h:
* gdb_locale.h:
* gdb_dirent.h:
* gdb_curses.h:
* gdb_assert.h:
* gdbarch.sh:
* gdb.h:
* hpux-thread.c:
* hppabsd-nat.c:
* hppa-tdep.h:
* hpacc-abi.c:
* h8300-tdep.c:
* gregset.h:
* go32-nat.c:
* gnu-v3-abi.c:
* gnu-v2-abi.h:
* gnu-v2-abi.c:
* gnu-nat.h:
* glibc-tdep.c:
* gdbtypes.h:
* gdbcore.h:
* gdbcmd.h:
* i386nbsd-tdep.c:
* i386nbsd-nat.c:
* i386gnu-tdep.c:
* i386gnu-nat.c:
* i386fbsd-tdep.c:
* i386fbsd-nat.c:
* i386bsd-tdep.c:
* i386bsd-nat.h:
* i386bsd-nat.c:
* i386-tdep.h:
* i386-sol2-nat.c:
* i386-nto-tdep.c:
* i386-nat.c:
* i386-linux-tdep.h:
* i386-linux-tdep.c:
* i386-linux-nat.c:
* i386-cygwin-tdep.c:
* inf-ttrace.c:
* inf-ptrace.h:
* inf-ptrace.c:
* inf-loop.h:
* inf-loop.c:
* inf-child.h:
* inf-child.c:
* ia64-tdep.h:
* ia64-linux-nat.c:
* i387-tdep.h:
* i387-tdep.c:
* i386v4-nat.c:
* i386v-nat.c:
* i386obsd-tdep.c:
* i386obsd-nat.c:
* kod.c:
* jv-valprint.c:
* jv-typeprint.c:
* jv-lang.h:
* jv-lang.c:
* irix5-nat.c:
* iq2000-tdep.c:
* interps.h:
* interps.c:
* inftarg.c:
* inflow.h:
* inflow.c:
* inferior.h:
* infcmd.c:
* infcall.h:
* infcall.c:
* inf-ttrace.h:
* m32r-tdep.h:
* m32r-tdep.c:
* m32r-rom.c:
* m32r-linux-tdep.c:
* m32r-linux-nat.c:
* m2-valprint.c:
* m2-typeprint.c:
* m2-lang.h:
* m2-lang.c:
* lynx-nat.c:
* linux-thread-db.c:
* linux-nat.h:
* linespec.c:
* libunwind-frame.h:
* libunwind-frame.c:
* language.h:
* language.c:
* macroexp.c:
* macrocmd.c:
* m88kbsd-nat.c:
* m88k-tdep.h:
* m88k-tdep.c:
* m68klinux-tdep.c:
* m68klinux-nat.c:
* m68kbsd-tdep.c:
* m68kbsd-nat.c:
* m68k-tdep.h:
* m68k-tdep.c:
* mips-linux-nat.c:
* mips-irix-tdep.c:
* minsyms.c:
* memattr.h:
* memattr.c:
* mem-break.c:
* mdebugread.h:
* main.h:
* main.c:
* macrotab.h:
* macrotab.c:
* macroscope.h:
* macroscope.c:
* macroexp.h:
* nbsd-tdep.c:
* mt-tdep.c:
* monitor.h:
* monitor.c:
* mn10300-tdep.h:
* mn10300-tdep.c:
* mn10300-linux-tdep.c:
* mipsv4-nat.c:
* mipsread.c:
* mipsnbsd-tdep.h:
* mipsnbsd-tdep.c:
* mipsnbsd-nat.c:
* mips64obsd-tdep.c:
* mips64obsd-nat.c:
* mips-tdep.h:
* mips-mdebug-tdep.c:
* mips-linux-tdep.c:
* osabi.h:
* osabi.c:
* ocd.h:
* ocd.c:
* observer.c:
* objfiles.h:
* objfiles.c:
* objc-lang.h:
* objc-lang.c:
* objc-exp.y:
* nto-tdep.h:
* nto-tdep.c:
* nto-procfs.c:
* nlmread.c:
* nbsd-tdep.h:
* ppcobsd-tdep.c:
* ppcobsd-nat.c:
* ppcnbsd-tdep.h:
* ppcnbsd-tdep.c:
* ppcnbsd-nat.c:
* ppcbug-rom.c:
* ppc-tdep.h:
* ppc-sysv-tdep.c:
* ppc-linux-tdep.c:
* ppc-linux-nat.c:
* ppc-bdm.c:
* parser-defs.h:
* parse.c:
* p-valprint.c:
* p-typeprint.c:
* p-lang.h:
* p-lang.c:
* remote-fileio.h:
* remote-fileio.c:
* remote-est.c:
* remote-e7000.c:
* regset.h:
* regset.c:
* reggroups.h:
* reggroups.c:
* regcache.h:
* regcache.c:
* proc-why.c:
* proc-service.c:
* proc-events.c:
* printcmd.c:
* ppcobsd-tdep.h:
* sentinel-frame.h:
* sentinel-frame.c:
* scm-valprint.c:
* scm-tags.h:
* scm-lang.h:
* scm-lang.c:
* scm-exp.c:
* s390-tdep.h:
* rom68k-rom.c:
* remote.h:
* remote-utils.c:
* remote-st.c:
* remote-sim.c:
* remote-sds.c:
* remote-rdp.c:
* remote-rdi.c:
* remote-hms.c:
* sim-regno.h:
* shnbsd-tdep.h:
* shnbsd-tdep.c:
* shnbsd-nat.c:
* sh-tdep.h:
* serial.h:
* serial.c:
* ser-unix.h:
* ser-unix.c:
* ser-tcp.c:
* ser-pipe.c:
* ser-go32.c:
* ser-e7kpc.c:
* ser-base.h:
* ser-base.c:
* solib.c:
* solib-svr4.h:
* solib-svr4.c:
* solib-sunos.c:
* solib-som.h:
* solib-som.c:
* solib-pa64.h:
* solib-pa64.c:
* solib-osf.c:
* solib-null.c:
* solib-legacy.c:
* solib-irix.c:
* solib-frv.c:
* solib-aix5.c:
* sol-thread.c:
* sparc64-linux-tdep.c:
* sparc64-linux-nat.c:
* sparc-tdep.h:
* sparc-tdep.c:
* sparc-sol2-tdep.c:
* sparc-sol2-nat.c:
* sparc-nat.h:
* sparc-nat.c:
* sparc-linux-tdep.c:
* sparc-linux-nat.c:
* source.h:
* source.c:
* somread.c:
* solist.h:
* solib.h:
* std-regs.c:
* stack.h:
* stack.c:
* stabsread.h:
* sparcobsd-tdep.c:
* sparcnbsd-tdep.c:
* sparcnbsd-nat.c:
* sparc64obsd-tdep.c:
* sparc64nbsd-tdep.c:
* sparc64nbsd-nat.c:
* sparc64fbsd-tdep.c:
* sparc64fbsd-nat.c:
* sparc64-tdep.h:
* sparc64-tdep.c:
* sparc64-sol2-tdep.c:
* sparc64-nat.c:
* ui-file.c:
* typeprint.h:
* typeprint.c:
* tramp-frame.h:
* tramp-frame.c:
* trad-frame.h:
* trad-frame.c:
* tracepoint.h:
* top.c:
* tobs.inc:
* thread.c:
* terminal.h:
* target.h:
* symfile.h:
* stop-gdb.c:
* vaxbsd-nat.c:
* vax-tdep.h:
* vax-tdep.c:
* vax-nat.c:
* varobj.h:
* varobj.c:
* value.h:
* value.c:
* valprint.h:
* valprint.c:
* v850-tdep.c:
* uw-thread.c:
* user-regs.c:
* ui-out.h:
* ui-out.c:
* ui-file.h:
* xcoffsolib.h:
* xcoffsolib.c:
* wrapper.c:
* wince.c:
* wince-stub.h:
* wince-stub.c:
* vaxobsd-tdep.c:
* vaxnbsd-tdep.c:
* gdb_gcore.sh:
* copying.c:
* configure.ac:
* aclocal.m4:
* acinclude.m4:
* reply_mig_hack.awk:
* observer.sh:
* gdb_mbuild.sh:
* arm-linux-tdep.c:
* blockframe.c:
* dbug-rom.c:
* environ.h:
* dwarf2loc.h:
* gdb-events.sh:
* glibc-tdep.h:
* gdb_wait.h:
* gdbthread.h:
* i386-sol2-tdep.c:
* hppabsd-tdep.c:
* hppa-linux-nat.c:
* hppa-hpux-nat.c:
* ia64-linux-tdep.c:
* infptrace.c:
* linespec.h:
* maint.c:
* mips-mdebug-tdep.h:
* remote-m32r-sdi.c:
* s390-nat.c:
* rs6000-nat.c:
* remote-utils.h:
* sh3-rom.c:
* sh-linux-tdep.c:
* top.h:
* symtab.h:
* symmisc.c:
* symfile-mem.c:
* srec.h:
* user-regs.h:
* version.h:
* valarith.c:
* xstormy16-tdep.c:
* wrapper.h:
* Makefile.in:
* f-exp.y:
* cris-tdep.c:
* cp-name-parser.y:
* procfs.c:
* proc-utils.h:
* proc-flags.c:
* proc-api.c:
* p-exp.y:
* m68hc11-tdep.c:
* m2-exp.y:
* kod.h:
* kod-cisco.c:
* jv-exp.y:
* hppa-linux-tdep.c: Add (c) after Copyright. Update the FSF
address.
2005-12-17 22:34:03 +00:00
Andrew Cagney
10c42a7141
2005-05-22 Andrew Cagney <cagney@gnu.org>
...
* frame.h (frame_register_unwind, frame_unwind_register)
(get_frame_register, frame_register, put_frame_register)
(get_frame_memory, safe_frame_unwind_memory)
(frame_register_read): Use gdb_byte for byte buffer parameters.
* trad-frame.h (trad_frame_get_register)
(frame_get_prev_register): Ditto.
* frame-unwind.h (frame_prev_register_ftype): Ditto.
* frame.c (frame_pop, frame_register, frame_unwind_register)
(get_frame_register, frame_unwind_register_signed)
(frame_unwind_register_unsigned, frame_unwind_unsigned_register)
(frame_register_read, get_frame_memory): Update.
* trad-frame.c (trad_frame_get_prev_register): Update.
(trad_frame_get_register): Update.
* gdbcore.h (deprecated_read_memory_nobpt, read_memory): Ditto.
* breakpoint.c (deprecated_read_memory_nobpt): Update.
* corefile.c (read_memory): Update.
* tramp-frame.c (tramp_frame_prev_register): Update.
* valops.c (value_assign): Update.
* sentinel-frame.c (sentinel_frame_prev_register): Update.
* std-regs.c (value_of_builtin_frame_fp_reg)
(value_of_builtin_frame_pc_reg): Update.
* infcmd.c (default_print_registers_info): Update
* dummy-frame.c (dummy_frame_prev_register): Update.
* findvar.c (value_of_register, value_from_register): Update.
* tui/tui-regs.c (tui_register_format, tui_get_register): Update.
* mi/mi-main.c (register_changed_p, get_register): Update.
2005-05-22 14:53:35 +00:00
Andrew Cagney
cbafadeb88
2004-11-08 Andrew Cagney <cagney@gnu.org>
...
* sentinel-frame.c (sentinel_frame_prev_pc): New function.
(sentinel_frame_unwinder): Add the prev_pc method.
* frame.c (frame_pc_unwind): Use the per-frame pc unwinder when
available. Do not handle the sentinel-frame case.
* frame-unwind.h (frame_prev_register_ftype): Define.
(struct frame_unwind): Add prev_pc;
2004-11-09 01:16:42 +00:00
Andrew Cagney
fb2be677dc
2004-04-08 Andrew Cagney <cagney@redhat.com>
...
* frame-unwind.c (struct frame_unwind_table, frame_unwind_init)
(frame_unwind_prepend_unwinder, frame_unwind_append_sniffer)
(frame_unwind_find_by_frame): Re-implement the unwind code so
that it can both prepend and append sniffers. Replace
frame_unwind_register_unwinder with frame_unwind_prepend_unwinder.
* tramp-frame.c (tramp_frame_append): Use
frame_unwind_prepend_unwinder.
* frame-unwind.h (frame_unwind_prepend_unwinder): Replace
frame_unwind_register_unwinder.
* tramp-frame.h (tramp_frame_prepend_unwinder): Rename
tramp_frame_append.
* tramp-frame.c (tramp_frame_prepend_unwinder): Update.
* mips-linux-tdep.c (mips_linux_init_abi, mips_linux_init_abi)
(mips_linux_init_abi): Update.
2004-04-08 20:03:52 +00:00
Andrew Cagney
82417da5f0
2004-03-21 Andrew Cagney <cagney@redhat.com>
...
* frame-unwind.h: Update copyright.
(struct frame_data): Add opaque declaration.
(frame_sniffer_ftype): Declare.
(struct frame_unwind): Add "unwind_data" and "sniffer".
(frame_unwind_register_unwinder): Declare.
(frame_unwind_find_by_frame): Add parameter "this_cache".
* frame.c (get_frame_id, create_new_frame, legacy_get_prev_frame)
(legacy_get_prev_frame, legacy_get_prev_frame)
(get_frame_type): Pass the prologue_cache to
frame_unwind_find_by_frame.
* frame-unwind.c (struct frame_unwind_table_entry): Add field
"unwinder".
(frame_unwind_register_unwinder): New function.
(frame_unwind_find_by_frame): Handle an unwind sniffer.
2004-03-21 22:28:52 +00:00
Andrew Cagney
336d1bba0a
2003-07-16 Andrew Cagney <cagney@redhat.com>
...
* frame-base.h (frame_base_p_ftype): Delete definition.
(frame_base_append_predicate): Delete declaration.
* frame-unwind.h (frame_unwind_p_ftype): Delete definition.
(frame_unwind_append_predicate): Delete declaration.
* frame-unwind.c (struct frame_unwind_table): Delete field "p".
(append_predicate): Delete parameter "p".
(frame_unwind_append_predicate): Delete function.
(frame_unwind_append_sniffer): Update call to append_predicate.
(frame_unwind_free): Delete function.
(_initialize_frame_unwind): Pass NULL as "free" to
register_gdbarch_data.
(frame_unwind_init): Append the dummy_frame_sniffer.
(frame_unwind_find_by_frame): Simplify.
* frame-base.c (struct frame_base_table): Delete field "p".
(append_predicate): Delete parameter "p".
(frame_base_append_predicate): Delete function.
(frame_base_append_sniffer): Update call to append_predicate.
(frame_base_free): Delete function.
(frame_base_find_by_frame): Simplify.
(_initialize_frame_base): Pass NULL as "free" to
register_gdbarch_data.
* x86-64-tdep.c (x86_64_frame_sniffer): Replace "x86_64_frame_p".
(x86_64_sigtramp_frame_sniffer): Replace
"x86_64_sigtramp_frame_p".
(x86_64_init_abi): Set the frame unwind sniffers.
* m68k-tdep.c (m68k_frame_sniffer): Replace "m68k_frame_p".
(m68k_sigtramp_frame_sniffer): Replace "m68k_sigtramp_frame_p"
(m68k_gdbarch_init): Set the frame unwind sniffers.
* i386-tdep.c (i386_sigtramp_frame_sniffer): Replace
"i386_sigtramp_frame_p".
(i386_frame_sniffer): Replace "i386_frame_p".
(i386_gdbarch_init): Set the frame unwind sniffers.
* avr-tdep.c (avr_frame_sniffer): Replace "avr_frame_sniffer".
(avr_gdbarch_init): Set the frame unwind sniffers.
* alpha-tdep.c (alpha_sigtramp_frame_sniffer): Replace
"alpha_sigtramp_frame_p"
(alpha_heuristic_frame_sniffer): Replace
"alpha_heuristic_frame_p".
(alpha_gdbarch_init): Set the frame unwind sniffers.
(alpha_dwarf2_init_abi): Ditto.
* alpha-mdebug-tdep.c (alpha_mdebug_frame_sniffer): Replace
"alpha_debug_frame_p".
(alpha_mdebug_frame_base_sniffer): Replace
"alpha_mdebug_frame_base_p".
(alpha_mdebug_init_abi): Set the frame unwind sniffers.
* d10v-tdep.c (d10v_frame_sniffer): Replace "d10v_frame_p".
(d10v_gdbarch_init): Set the frame unwind sniffer.
* dwarf2-frame.c (dwarf2_frame_sniffer): Replace "dwarf2_frame_p".
(dwarf2_frame_base_sniffer): Replace "dwarf2_frame_base_p".
* dwarf2-frame.h (dwarf2_frame_sniffer): Replace "dwarf2_frame_p".
(dwarf2_frame_base_sniffer): Replace "dwarf2_frame_base_p".
* dummy-frame.c (dummy_frame_sniffer): Replace "dummy_frame_p".
* dummy-frame.h (dummy_frame_sniffer): Replace "dummy_frame_p".
2003-07-16 22:29:13 +00:00
Andrew Cagney
e8a89fe278
2003-07-15 Andrew Cagney <cagney@redhat.com>
...
* frame.c (get_frame_id): Use frame_unwind_find_by_frame.
(frame_register_unwind, create_new_frame): Ditto.
(legacy_get_prev_frame, get_frame_type): Ditto.
(get_frame_base_address): Use frame_base_find_by_frame.
(get_frame_locals_address): Use frame_base_find_by_frame.
(get_frame_args_address): Use frame_base_find_by_frame.
* frame-base.h (frame_base_sniffer_ftype): Declare.
(frame_base_append_sniffer): Declare.
(frame_base_find_by_frame): Replace frame_base_find_by_pc.
* frame-base.c (append_predicate): Add a "sniffer" parameter.
(frame_base_append_sniffer): New function.
(frame_base_append_predicate): Add a NULL sniffer.
(frame_base_find_by_frame): Replace "frame_base_find_by_pc".
(struct frame_base_table): Add "sniffer".
(frame_base_free): Free the "sniffer" table.
* frame-unwind.h (frame_unwind_sniffer_ftype): Define.
(frame_unwind_append_sniffer): Declare.
(frame_unwind_find_by_frame): Replace frame_unwind_find_by_pc.
* frame-unwind.c (frame_unwind_free): Free the "sniffer" table.
(struct frame_unwind_table): Add "sniffer", delete "middle".
(append_predicate): Add "sniffer" parameter, append the sniffer.
(frame_unwind_init): Update append_predicate call.
(frame_unwind_append_sniffer): New function.
(frame_unwind_append_predicate): Update append_predicate call.
(frame_unwind_find_by_frame): Replace frame_unwind_find_by_pc.
2003-07-15 17:35:00 +00:00
Andrew Cagney
7df05f2b91
2003-04-04 Andrew Cagney <cagney@redhat.com>
...
* frame.c (get_prev_frame): Do not call frame_type_from_pc. Set
the frame's type from the unwinder.
(get_frame_type): Map UNKNOWN_FRAME onto NORMAL_FRAME.
(create_new_frame, legacy_get_prev_frame): When the unwinder's
type isn't UNKNOWN_FRAME, initalize "type" from the unwinder.
(get_frame_base_address): Use get_frame_type.
(get_frame_locals_address, get_frame_args_address): Ditto.
(legacy_saved_regs_unwinder): Set the type to UNKNOWN_TYPE.
* frame.h (enum frame_type): Add UNKNOWN_FRAME.
(struct frame_info): Add comment explaining why the frame contains
a "type" field.
* dummy-frame.c (dummy_frame_unwind): Set the type to DUMMY_FRAME.
* d10v-tdep.c (d10v_frame_unwind): Set the type to NORMAL_FRAME.
* sentinel-frame.c (sentinel_frame_unwinder): Set the type to
NORMAL_FRAME.
* frame-unwind.h: Include "frame.h".
(struct frame_unwind): Add "type" field.
* Makefile.in (frame_unwind_h): Add $(frame_h).
2003-04-05 03:56:00 +00:00
Andrew Cagney
6dc42492b6
2003-03-17 Andrew Cagney <cagney@redhat.com>
...
Fix frame off-by-one bug.
* frame-unwind.h (frame_this_id_ftype): Replace
frame_unwind_id_ftype.
(frame_prev_register_ftype): Replace frame_unwind_reg_ftype.
(struct frame_unwind): Replace "id" with "this_id". Replace "reg"
with "prev_register".
* frame-unwind.c (frame_unwind_find_by_pc): Return
legacy_saved_regs_unwind instead of trad_frame_unwind. Update
comment.
* dummy-frame.c (cached_find_dummy_frame): Delete function.
(dummy_frame_this_id): Replace dummy_frame_id_unwind.
(dummy_frame_prev_register): Replace dummy_frame_register_unwind.
(dummy_frame_unwind): Update.
* sentinel-frame.c (sentinel_frame_prev_register): Replace
sentinel_frame_register_unwind.
(sentinel_frame_this_id): Replace sentinel_frame_id_unwind.
(sentinel_frame_unwinder): Update.
* frame.h (legacy_saved_regs_unwind): Replace trad_frame_unwind.
(struct frame_info): Rename "unwind_cache" to "prologue_cache".
* frame.c (create_sentinel_frame): Update. Initialize
"prologue_cache" instead of "unwind_cache".
(frame_register_unwind): Call this frame's prev_register with the
next frame and this frame's prologue cache.
(get_prev_frame): Simplify. Always call prev frame's this_id with
this frame and prev frame's prologue cache. Document that this
call is shifted one to the left when compared to the
frame_register_unwind call.
(legacy_saved_regs_prev_register): Replace
frame_saved_regs_register_unwind.
(legacy_saved_regs_this_id): Replace frame_saved_regs_id_unwind.
(legacy_saved_regs_unwinder): Replace trad_frame_unwinder.
(legacy_saved_regs_unwind): Replace trad_frame_unwind.
* d10v-tdep.c (d10v_frame_this_id): Replace d10v_frame_id_unwind.
(d10v_frame_unwind): Update.
(d10v_frame_prev_register): Replace d10v_frame_register_unwind.
(d10v_frame_unwind_cache): Replace this "fi" with "next_frame".
(saved_regs_unwinder): Replace this "frame" with "next_frame", and
"saved_regs" with "this_saved_regs".
2003-03-17 14:23:50 +00:00
Andrew Cagney
7a25a7c1cc
2003-03-12 Andrew Cagney <cagney@redhat.com>
...
Eliminate the need for POP_FRAME.
* frame.c (do_frame_unwind_register): New function.
(frame_pop): When no POP_FRAME, pop the frame using register
unwind and a scratch regcache.
(frame_saved_regs_pop): Delete function.
(trad_frame_unwinder): Update.
* d10v-tdep.c (d10v_frame_pop): Delete function.
(d10v_frame_unwind): Update.
* sentinel-frame.c (sentinel_frame_pop): Delete function.
(sentinel_frame_unwinder): Update.
* dummy-frame.c (dummy_frame_pop): Delete function.
(dummy_frame_unwind): Update.
* frame-unwind.h (frame_unwind_pop_ftype): Delete definition.
(struct frame_unwind): Update.
2003-03-12 15:39:30 +00:00
Andrew Cagney
12cc2063be
2003-03-10 Andrew Cagney <cagney@redhat.com>
...
* gdbarch.sh (gdbarch_unwind_pc): New method.
* gdbarch.h, gdbarch.c: Regenerate.
* frame.c (frame_pc_unwind): Rewrite. Prefer gdbarch_unwind_pc,
but use read_pc and FRAME_SAVED_PC as fall backs.
(frame_saved_regs_pc_unwind): Delete function.
(trad_frame_unwinder): Update.
* frame-unwind.h (frame_unwind_pc_ftype): Delete declaration.
(struct frame_unwind): Update.
* dummy-frame.c (dummy_frame_pc_unwind): Delete function.
(dummy_frame_unwind): Update.
* sentinel-frame.c (sentinel_frame_pc_unwind): Delete function.
(sentinel_frame_unwinder): Update.
* d10v-tdep.c (d10v_frame_pc_unwind): Delete function.
(d10v_frame_unwind): Update.
(d10v_unwind_pc): New function.
(d10v_gdbarch_init): Set unwind_pc.
Index: doc/ChangeLog
2003-03-10 Andrew Cagney <cagney@redhat.com>
* gdbint.texinfo (Target Architecture Definition): Cross reference
FRAME_SAVED_PC to unwind_pc. Document unwind_pc.
2003-03-10 15:28:41 +00:00
Andrew Cagney
dbe9fe588f
2003-01-19 Andrew Cagney <ac131313@redhat.com>
...
* frame-unwind.h (frame_unwind_pop_ftype): Declare.
(struct frame_unwind): Add field pop.
* frame.h (frame_pop): Declare.
* frame.c (frame_saved_regs_pop): New function.
(trad_frame_unwinder): Add frame_saved_regs_pop.
(frame_pop): New function.
* dummy-frame.c (dummy_frame_pop): New function.
(discard_innermost_dummy): New function.
(generic_pop_dummy_frame): Use discard_innermost_dummy.
(dummy_frame_unwind): Add dummy_frame_pop.
* infrun.c (normal_stop): Call frame_pop instead of POP_FRAME.
* valops.c (hand_function_call): Ditto.
* stack.c (return_command): Ditto.
2003-01-19 17:39:16 +00:00
Andrew Cagney
494cca16bd
2003-01-18 Andrew Cagney <ac131313@redhat.com>
...
* dummy-frame.h (dummy_frame_id_unwind): Delete declaration.
(dummy_frame_pc_unwind, dummy_frame_register_unwind): Ditto.
(struct frame_unwind): Declare opaque.
(dummy_frame_p): Declare function.
* dummy-frame.c (dummy_frame_id_unwind): Make static.
(dummy_frame_pc_unwind, dummy_frame_register_unwind): Ditto.
* dummy-frame.c: Include "frame-unwind.h".
(dummy_frame_p): New function.
(dummy_frame_unwind): New variable.
* frame.c: Include "frame-unwind.h".
(frame_pc_unwind, frame_id_unwind, frame_register_unwind): Update
to use the new unwind field.
(set_unwind_by_pc): Delete function.
(create_new_frame, get_prev_frame): Set unwind field using
frame_unwind_find_by_pc.
(trad_frame_unwind, trad_frame_unwinder): New variables.
* frame.h (trad_frame_unwind): Declare variable.
(frame_id_unwind_ftype): Delete declaration.
(frame_pc_unwind_ftype, frame_register_unwind_ftype): Ditto.
(struct frame_unwind): Declare opaque.
(struct frame_info): Replace the fields id_unwind, pc_unwind and
register_unwind with a single unwind pointer.
* frame-unwind.h, frame-unwind.c: New files.
* Makefile.in (SFILES): Add frame-unwind.c.
(frame_unwind_h): Define.
(COMMON_OBS): Add frame-unwind.o.
(frame-unwind.o): Specify dependencies.
(frame.o, dummy-frame.o): Update dependencies.
2003-01-18 17:25:23 +00:00