libgcc-ia64.ver: Export _Unwind_GetBSP@@GCC_3.3.2.
authorJakub Jelinek <jakub@redhat.com>
Thu, 4 Sep 2003 10:47:46 +0000 (12:47 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Thu, 4 Sep 2003 10:47:46 +0000 (12:47 +0200)
* 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.

From-SVN: r71057

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 2b90b2a0a5b7481725d04da290b475576ce7d20d..2874e3514b57423a200fd2e7d527b2dbf96f5765 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 2ffb6936864085053610a4aceeeaa066ee3ff414..cd769907df0cbd0e1772b4178bd48542824f5c5a 100644 (file)
@@ -7,3 +7,6 @@ GCC_3.0 {
   __ia64_trampoline
   __ia64_backtrace
 }
+GCC_3.3.2 {
+  _Unwind_GetBSP
+}
index 9b6023da58af821f790de957c4632cf6cddcd3b5..41f59d10b9d658e7e3af71bd1f8994996e239685 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 12a339719151f0104d0d5ee02469342db5fe46f7..1caebc54cfa56ca68802532016194664ad7688eb 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 e4bc58e188077e4ed26f211649525bd86a3bd2b3..7953afcff806dcf0bc6172bab5e3032ee3e9647d 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 a0d6ab3a14b02c6459c7f2017deb615847d68474..35c765ef4ac3fe3d0a7dace8aec70ef4182d8884 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 *);