* config/ia64/libgcc-ia64.ver: Export _Unwind_GetBSP@@GCC_3.3.2.
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 4 Sep 2003 10:47:46 +0000 (10:47 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 4 Sep 2003 10:47:46 +0000 (10:47 +0000)
* config/ia64/unwind-ia64.c (_Unwind_GetBSP): New function.
* unwind.h (_Unwind_GetBSP): New prototype.
* libgcc-std.ver: Add empty GCC_3.3.2 version.
* mkmap-symver.awk: For symbol versions with no exported symbols,
don't put anything into version script, just change all symbol
versions which inherit from it to inherit from its ancestor.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71057 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/ia64/libgcc-ia64.ver
gcc/config/ia64/unwind-ia64.c
gcc/libgcc-std.ver
gcc/mkmap-symver.awk
gcc/unwind.h

index 2b90b2a..2874e35 100644 (file)
@@ -1,3 +1,13 @@
+2003-09-04  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/ia64/libgcc-ia64.ver: Export _Unwind_GetBSP@@GCC_3.3.2.
+       * config/ia64/unwind-ia64.c (_Unwind_GetBSP): New function.
+       * unwind.h (_Unwind_GetBSP): New prototype.
+       * libgcc-std.ver: Add empty GCC_3.3.2 version.
+       * mkmap-symver.awk: For symbol versions with no exported symbols,
+       don't put anything into version script, just change all symbol
+       versions which inherit from it to inherit from its ancestor.
+
 2003-09-04  Eric Christopher  <echristo@redhat.com>
 
        * config/mips/mips.c (mips_expand_prologue): Convert to
index 2ffb693..cd76990 100644 (file)
@@ -7,3 +7,6 @@ GCC_3.0 {
   __ia64_trampoline
   __ia64_backtrace
 }
+GCC_3.3.2 {
+  _Unwind_GetBSP
+}
index 9b6023d..41f59d1 100644 (file)
@@ -1667,6 +1667,14 @@ _Unwind_GetCFA (struct _Unwind_Context *context)
   return (_Unwind_Ptr) context->psp;
 }
 
+/* Get the value of the Backing Store Pointer as saved in CONTEXT.  */
+
+_Unwind_Word
+_Unwind_GetBSP (struct _Unwind_Context *context)
+{
+  return (_Unwind_Ptr) context->bsp;
+}
+
 \f
 static _Unwind_Reason_Code
 uw_frame_state_for (struct _Unwind_Context *context, _Unwind_FrameState *fs)
index 12a3397..1caebc5 100644 (file)
@@ -191,7 +191,11 @@ GCC_3.3.1 {
   __gcc_personality_v0
 }
 
-%inherit GCC_3.4 GCC_3.3.1
+%inherit GCC_3.3.2 GCC_3.3.1
+GCC_3.3.2 {
+}
+
+%inherit GCC_3.4 GCC_3.3.2
 GCC_3.4 {
   # bit scanning and counting built-ins
   __clzsi2
index e4bc58e..7953afc 100644 (file)
@@ -95,22 +95,28 @@ function output(lib) {
   if (inherit[lib])
     output(inherit[lib]);
 
-  printf("%s {\n", lib);
-  sawglobal = 0;
+  empty=1
   for (sym in ver)
     if ((ver[sym] == lib) && (sym in def))
       {
-       if (!sawglobal)
+       if (empty)
          {
+           printf("%s {\n", lib);
            printf("  global:\n");
-           sawglobal = 1;
+           empty = 0;
          }
        printf("\t%s;\n", sym);
        if (dotsyms)
          printf("\t.%s;\n", sym);
       }
 
-  if (inherit[lib])
+  if (empty)
+    {
+      for (l in libs)
+       if (inherit[l] == lib)
+         inherit[l] = inherit[lib];
+    }
+  else if (inherit[lib])
     printf("} %s;\n", inherit[lib]);
   else
     printf ("\n  local:\n\t*;\n};\n");
index a0d6ab3..35c765e 100644 (file)
@@ -210,6 +210,9 @@ _Unwind_GetTextRelBase (struct _Unwind_Context *_C __attribute__ ((__unused__)))
   abort ();
   return 0;
 }
+
+/* @@@ Retrieve the Backing Store Pointer of the given context.  */
+extern _Unwind_Word _Unwind_GetBSP (struct _Unwind_Context *);
 #else
 extern _Unwind_Ptr _Unwind_GetDataRelBase (struct _Unwind_Context *);
 extern _Unwind_Ptr _Unwind_GetTextRelBase (struct _Unwind_Context *);