diff options
author | Olivier Hainque <hainque@adacore.com> | 2007-12-13 11:36:42 +0100 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2007-12-13 11:36:42 +0100 |
commit | 543b4428214232de8bf9d0377a99b137756b0451 (patch) | |
tree | 840680f32fb36ed98d7a8cc53b1d781bd1f21d33 /gcc | |
parent | 46edcdb100403f15510c2263d5b821546b8a482d (diff) | |
download | gcc-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.adb | 2 | ||||
-rw-r--r-- | gcc/ada/s-traent-vms.adb | 10 | ||||
-rw-r--r-- | gcc/ada/s-traent-vms.ads | 12 | ||||
-rw-r--r-- | gcc/ada/tb-alvms.c | 6 |
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 ++; |