libgcc-std.ver (_Unwind_GetCFA): New.
authorRichard Henderson <rth@redhat.com>
Thu, 3 Apr 2003 02:06:55 +0000 (18:06 -0800)
committerRichard Henderson <rth@gcc.gnu.org>
Thu, 3 Apr 2003 02:06:55 +0000 (18:06 -0800)
        * libgcc-std.ver (_Unwind_GetCFA): New.
        * unwind-dw2.c (_Unwind_GetCFA): New.
        * unwind-libunwind.c (_Unwind_GetCFA): New.
        * unwind-sjlj.c (_Unwind_GetCFA): New.
        * unwind.h: Declare it.

From-SVN: r65190

gcc/ChangeLog
gcc/libgcc-std.ver
gcc/unwind-dw2.c
gcc/unwind-libunwind.c
gcc/unwind-sjlj.c
gcc/unwind.h

index 514256844f3b5dbd4e659b39078379fc3f68133e..548f2249c41539a84e192b32faf47db5017ce4fd 100644 (file)
@@ -1,3 +1,11 @@
+2003-04-02  Richard Henderson  <rth@redhat.com>
+
+       * libgcc-std.ver (_Unwind_GetCFA): New.
+       * unwind-dw2.c (_Unwind_GetCFA): New.
+       * unwind-libunwind.c (_Unwind_GetCFA): New.
+       * unwind-sjlj.c (_Unwind_GetCFA): New.
+       * unwind.h: Declare it.
+
 Thu Apr  3 00:31:21 CEST 2003  Jan Hubicka  <jh@suse.cz>
 
        PR inline-asm/8088
index 21847be6b92eb07b6551a7c538111996805434f2..00c72c0c4af5c5ab87a2c95947f50934a3438df0 100644 (file)
@@ -179,6 +179,7 @@ GCC_3.0 {
 %inherit GCC_3.3 GCC_3.0
 GCC_3.3 {
   _Unwind_FindEnclosingFunction
+  _Unwind_GetCFA
 }
 
 %inherit GCC_3.4 GCC_3.3
index 88d8d3047ded5aad3bf916627b1fdfbc4133cb38..bce8e5ee5b7defeb5369c2a0a6356462e210a049 100644 (file)
@@ -173,6 +173,14 @@ _Unwind_GetGR (struct _Unwind_Context *context, int index)
   return * (_Unwind_Word *) context->reg[index];
 }
 
+/* Get the value of the CFA as saved in CONTEXT.  */
+
+_Unwind_Word
+_Unwind_GetCFA (struct _Unwind_Context *context)
+{
+  return context->cfa;
+}
+
 /* Overwrite the saved value for register REG in CONTEXT with VAL.  */
 
 inline void
index 8ed052453506c5884d6596466214346ad987015a..bbbbd3882b1432b8be3c64d21280d00fdae162ed 100644 (file)
@@ -105,6 +105,15 @@ _Unwind_GetGR (struct _Unwind_Context *context, int index)
   return ret;
 }
 
+/* Get the value of the CFA as saved in CONTEXT.  */
+
+_Unwind_Word
+_Unwind_GetCFA (struct _Unwind_Context *context)
+{
+  /* ??? Is there any way to get this information?  */
+  return NULL;
+} 
+
 /* Overwrite the saved value for register REG in CONTEXT with VAL.  */
 
 void
index 535804c116658cc62dbf357542826f074afe83a0..6d6fd8bc9b54878130b258461333c16a4573bc32 100644 (file)
@@ -170,6 +170,15 @@ _Unwind_GetGR (struct _Unwind_Context *context, int index)
   return context->fc->data[index];
 }
 
+/* Get the value of the CFA as saved in CONTEXT.  */
+
+_Unwind_Word
+_Unwind_GetCFA (struct _Unwind_Context *context)
+{
+  /* ??? Ideally __builtin_setjmp places the CFA in the jmpbuf.  */
+  return NULL;
+}
+
 void
 _Unwind_SetGR (struct _Unwind_Context *context, int index, _Unwind_Word val)
 {
index d7f7f4ae607750d58a0320ff12e4f18c81fc2ba3..084eebfa8750f7c00cb704d0bca82348ed02792c 100644 (file)
@@ -138,6 +138,9 @@ extern void _Unwind_SetGR (struct _Unwind_Context *, int, _Unwind_Word);
 extern _Unwind_Ptr _Unwind_GetIP (struct _Unwind_Context *);
 extern void _Unwind_SetIP (struct _Unwind_Context *, _Unwind_Ptr);
 
+/* @@@ Retrieve the CFA of the given context.  */
+extern _Unwind_Word _Unwind_GetCFA (struct _Unwind_Context *);
+
 extern void *_Unwind_GetLanguageSpecificData (struct _Unwind_Context *);
 
 extern _Unwind_Ptr _Unwind_GetRegionStart (struct _Unwind_Context *);