Remove pre-Solaris 11/SPARC unwinding support
authorRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Tue, 28 May 2019 17:27:51 +0000 (17:27 +0000)
committerRainer Orth <ro@gcc.gnu.org>
Tue, 28 May 2019 17:27:51 +0000 (17:27 +0000)
* config/sparc/sol2-unwind.h [__arch64__] (sparc64_is_sighandler):
Remove Solaris 9 and 10 support.
(sparc_is_sighandler): Likewise.

From-SVN: r271715

libgcc/ChangeLog
libgcc/config/sparc/sol2-unwind.h

index a8cf706cd2735efb17ad250f1856e1dec10425df..316c203565edf4b7e213b8d4f0b73f9f9e30f8ad 100644 (file)
@@ -1,3 +1,9 @@
+2019-05-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * config/sparc/sol2-unwind.h [__arch64__] (sparc64_is_sighandler):
+       Remove Solaris 9 and 10 support.
+       (sparc_is_sighandler): Likewise.
+
 2019-05-26  John David Anglin  <danglin@gcc.gnu.org>
 
        * config/pa/linux-unwind.h (pa32_fallback_frame_state): Add cast.
index 8f2309e23e68e747f343c6d77d97e56259244947..f32cc551b88f636d84d5dff290af9f8c2d0eac74 100644 (file)
@@ -67,51 +67,7 @@ sparc64_is_sighandler (unsigned int *pc, void *cfa, int *nframes)
           libc.so.1:
 
           <call_user_handler+864>:     mov  %i1, %o1
-          <call_user_handler+868>:     call __sighndlr
-
-          This is the same setup as for Solaris 10, see below.  */
-       *nframes = 3;
-
-      else if (cuh_pattern == 0xd25fa7ef)
-       {
-         /* This matches the call_user_handler pattern in Solaris 10
-            libc.so.1:
-
-            <call_user_handler+988>:     ldx  [ %fp + 0x7ef ], %o1
-            <call_user_handler+992>:     call __sighndlr
-
-            There are 2 cases so we look for the return address of the
-            caller's caller frame in order to do more pattern matching.  */
-         unsigned long sah_address = *(unsigned long *)(cfa + 176 + 15*8);
-
-          if (sah_address && *(unsigned int *)(sah_address - 4) == 0x92100019)
-           /* We need to move up three frames:
-
-               <signal handler>        <-- context->cfa
-               __sighndlr
-               call_user_handler
-               sigacthandler
-               <kernel>  */
-           *nframes = 3;
-         else
-           /* The sigacthandler frame isn't present in the chain.
-              We need to move up two frames:
-
-               <signal handler>        <-- context->cfa
-               __sighndlr
-               call_user_handler
-               <kernel>  */
-           *nframes = 2;
-       }
-
-      else if (cuh_pattern == 0x9410001a || cuh_pattern == 0x9410001b)
-       /* This matches the call_user_handler pattern in Solaris 9
-          libthread.so.1:
-
-          <call_user_handler+600>:     mov  %i2, %o2
-          <call_user_handler+604>:     call  __sighndlr
-
-          This is the same setup as for Solaris 10, see above.  */
+          <call_user_handler+868>:     call __sighndlr  */
        *nframes = 3;
 
       return 1;
@@ -184,51 +140,7 @@ sparc_is_sighandler (unsigned int *pc, void *cfa, int *nframes)
           libc.so.1:
 
           <call_user_handler+876>:     mov  %i1, %o1
-          <call_user_handler+880>:     call __sighndlr
-
-          This is the same setup as for Solaris 10, see below.  */
-       *nframes = 3;
-
-      else if (cuh_pattern == 0xd407a04c)
-       {
-         /* This matches the call_user_handler pattern in Solaris 10
-            libc.so.1:
-
-            <call_user_handler+948>:     ld  [ %fp + 0x4c ], %o2
-            <call_user_handler+952>:     call __sighndlr
-
-            There are 2 cases so we look for the return address of the
-            caller's caller frame in order to do more pattern matching.  */
-         unsigned int sah_address = *(unsigned int *)(cfa + 96 + 15*4);
-
-          if (sah_address && *(unsigned int *)(sah_address - 4) == 0x92100019)
-           /* We need to move up three frames:
-
-               <signal handler>        <-- context->cfa
-               __sighndlr
-               call_user_handler
-               sigacthandler
-               <kernel>  */
-           *nframes = 3;
-         else
-           /* The sigacthandler frame isn't present in the chain.
-              We need to move up two frames:
-
-               <signal handler>        <-- context->cfa
-               __sighndlr
-               call_user_handler
-               <kernel>  */
-           *nframes = 2;
-       }
-
-      else if (cuh_pattern == 0x9410001a || cuh_pattern == 0x9410001b)
-       /* This matches the call_user_handler pattern in Solaris 9
-          libthread.so.1:
-
-          <call_user_handler+560>:      mov  %i2, %o2
-          <call_user_handler+564>:      call  __sighndlr
-
-          This is the same setup as for Solaris 10, see above.  */
+          <call_user_handler+880>:     call __sighndlr  */
        *nframes = 3;
 
       return 1;