aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorOlivier Hainque <hainque@adacore.com>2007-12-13 11:36:42 +0100
committerArnaud Charlet <charlet@gcc.gnu.org>2007-12-13 11:36:42 +0100
commit543b4428214232de8bf9d0377a99b137756b0451 (patch)
tree840680f32fb36ed98d7a8cc53b1d781bd1f21d33 /gcc
parent46edcdb100403f15510c2263d5b821546b8a482d (diff)
downloadgcc-543b4428214232de8bf9d0377a99b137756b0451.zip
gcc-543b4428214232de8bf9d0377a99b137756b0451.tar.gz
gcc-543b4428214232de8bf9d0377a99b137756b0451.tar.bz2
tb-alvms.c (struct tb_entry_t, [...]): Revert back to use of Procedure Value instead of Frame Pointer as the...
2007-12-06 Olivier Hainque <hainque@adacore.com> * tb-alvms.c (struct tb_entry_t, __gnat_backtrace): Revert back to use of Procedure Value instead of Frame Pointer as the invocation identifier associated with the instruction pointer in each traceback entry. * g-trasym-vms-alpha.adb (Traceback_Entry, PV_For, FP_For, TB_Entry_For): Revert back to use of Procedure Value instead of Frame Pointer as the invocation identifier passed to tbk$symbolize. * s-traent-vms.ads, s-traent-vms.adb (Traceback_Entry, PV_For, FP_For, TB_Entry_For): Revert back to use of Procedure Value instead of Frame Pointer as the invocation identifier passed to tbk$symbolize. From-SVN: r130867
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ada/g-trasym-vms-alpha.adb2
-rw-r--r--gcc/ada/s-traent-vms.adb10
-rw-r--r--gcc/ada/s-traent-vms.ads12
-rw-r--r--gcc/ada/tb-alvms.c6
4 files changed, 15 insertions, 15 deletions
diff --git a/gcc/ada/g-trasym-vms-alpha.adb b/gcc/ada/g-trasym-vms-alpha.adb
index 68bb5d8..fadc9df 100644
--- a/gcc/ada/g-trasym-vms-alpha.adb
+++ b/gcc/ada/g-trasym-vms-alpha.adb
@@ -229,7 +229,7 @@ package body GNAT.Traceback.Symbolic is
(Status,
PC_For (Traceback (J)),
PC_For (Traceback (J)),
- FP_For (Traceback (J)),
+ PV_For (Traceback (J)),
Return_Address,
Image_Name_Addr,
Module_Name_Addr,
diff --git a/gcc/ada/s-traent-vms.adb b/gcc/ada/s-traent-vms.adb
index 3bf0d3f..609c44b 100644
--- a/gcc/ada/s-traent-vms.adb
+++ b/gcc/ada/s-traent-vms.adb
@@ -43,13 +43,13 @@ package body System.Traceback_Entries is
end PC_For;
------------
- -- FP_For --
+ -- PV_For --
------------
- function FP_For (TB_Entry : Traceback_Entry) return System.Address is
+ function PV_For (TB_Entry : Traceback_Entry) return System.Address is
begin
- return TB_Entry.FP;
- end FP_For;
+ return TB_Entry.PV;
+ end PV_For;
------------------
-- TB_Entry_For --
@@ -57,7 +57,7 @@ package body System.Traceback_Entries is
function TB_Entry_For (PC : System.Address) return Traceback_Entry is
begin
- return (PC => PC, FP => System.Null_Address);
+ return (PC => PC, PV => System.Null_Address);
end TB_Entry_For;
end System.Traceback_Entries;
diff --git a/gcc/ada/s-traent-vms.ads b/gcc/ada/s-traent-vms.ads
index 33dc988..ca9284b 100644
--- a/gcc/ada/s-traent-vms.ads
+++ b/gcc/ada/s-traent-vms.ads
@@ -40,22 +40,22 @@
package System.Traceback_Entries is
pragma Preelaborate;
- -- Symbolization is done by a VMS service which requires an instruction
- -- and a frame pointer for each traceback entry.
+ -- Symbolization is performed by a VMS service which requires more
+ -- than an instruction pointer.
type Traceback_Entry is record
- PC : System.Address;
- FP : System.Address;
+ PC : System.Address; -- Program Counter
+ PV : System.Address; -- Procedure Value
end record;
pragma Suppress_Initialization (Traceback_Entry);
Null_TB_Entry : constant Traceback_Entry :=
(PC => System.Null_Address,
- FP => System.Null_Address);
+ PV => System.Null_Address);
function PC_For (TB_Entry : Traceback_Entry) return System.Address;
- function FP_For (TB_Entry : Traceback_Entry) return System.Address;
+ function PV_For (TB_Entry : Traceback_Entry) return System.Address;
function TB_Entry_For (PC : System.Address) return Traceback_Entry;
diff --git a/gcc/ada/tb-alvms.c b/gcc/ada/tb-alvms.c
index 5905282..d69128b 100644
--- a/gcc/ada/tb-alvms.c
+++ b/gcc/ada/tb-alvms.c
@@ -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; /* instruction pointer */
- ADDR fp; /* frame pointer */
+ ADDR pc; /* Program Counter. */
+ ADDR pv; /* Procedure Value. */
} tb_entry_t;
/********************
@@ -383,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->fp = (ADDR) frame_state.fp;
+ tbe->pv = (ADDR) PV_FOR (frame_state.fp);
cnt ++;
tbe ++;