diff options
author | Olivier Hainque <hainque@adacore.com> | 2007-10-15 15:57:26 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2007-10-15 15:57:26 +0200 |
commit | 23d083f2866c01cb432d999714fec794e62a3026 (patch) | |
tree | 4bee605a57c669a56aafb92101d10a93d71bb26b /gcc/ada/tb-alvms.c | |
parent | ca14fd026e1d6cce51a7679fae85fdfb18e7aa16 (diff) | |
download | gcc-23d083f2866c01cb432d999714fec794e62a3026.zip gcc-23d083f2866c01cb432d999714fec794e62a3026.tar.gz gcc-23d083f2866c01cb432d999714fec794e62a3026.tar.bz2 |
tb-alvms.c (tb_entry_t, [...]): Store a frame pointer instead of a procedure value in each traceback entry.
2007-10-15 Olivier Hainque <hainque@adacore.com>
* tb-alvms.c (tb_entry_t, __gnat_backtrace): Store a frame pointer
instead of a procedure value in each traceback entry.
* g-trasym-vms-alpha.adb (Symbolic_Traceback): Pass frame pointer
instead of procedure value to TBK$SYMBOLIZE.
* s-traent-vms.adb (PV_For): Rename as FP_For and access the proper
field.
(TB_Entry_For): Account for the PV/FP renaming.
* s-traent-vms.ads (Traceback_Entry): Rename PV component into FP and
add comment.
(Null_TB_Entry): Account for change of component name.
(PV_For): Rename as FP_For.
From-SVN: r129338
Diffstat (limited to 'gcc/ada/tb-alvms.c')
-rw-r--r-- | gcc/ada/tb-alvms.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/gcc/ada/tb-alvms.c b/gcc/ada/tb-alvms.c index 22fc540..5905282 100644 --- a/gcc/ada/tb-alvms.c +++ b/gcc/ada/tb-alvms.c @@ -6,7 +6,7 @@ * * * C Implementation File * * * - * Copyright (C) 2003-2005, AdaCore * + * Copyright (C) 2003-2007, AdaCore * * * * GNAT is free software; you can redistribute it and/or modify it under * * terms of the GNU General Public License as published by the Free Soft- * @@ -337,8 +337,8 @@ unwind_kernel_handler (frame_state_t * fs) system functions need more than just a mere PC to compute info on a frame (e.g. for non-symbolic->symbolic translation purposes). */ typedef struct { - ADDR pc; - ADDR pv; + ADDR pc; /* instruction pointer */ + ADDR fp; /* frame pointer */ } tb_entry_t; /******************** @@ -375,8 +375,6 @@ __gnat_backtrace (void **array, int size, cnt = 0; while (cnt < size) { - PDSCDEF * pv = PV_FOR (frame_state.fp); - /* Stop if either the frame contents or the unwinder say so. */ if (STOP_FRAME) break; @@ -385,7 +383,7 @@ __gnat_backtrace (void **array, int size, && (frame_state.pc < exclude_min || frame_state.pc > exclude_max)) { tbe->pc = (ADDR) frame_state.pc; - tbe->pv = (ADDR) PV_FOR (frame_state.fp); + tbe->fp = (ADDR) frame_state.fp; cnt ++; tbe ++; |