re PR go/81893 (compilation error in libgo starting with r251127)
authorIan Lance Taylor <ian@gcc.gnu.org>
Fri, 18 Aug 2017 20:17:26 +0000 (20:17 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Fri, 18 Aug 2017 20:17:26 +0000 (20:17 +0000)
PR go/81893
    runtime: only use PPC GNU/Linux register code on little endian

    Reportedly the current code builds on little endian but not big endian.

    Fixes https://gcc.gnu.org/PR81893.

    Reviewed-on: https://go-review.googlesource.com/57110

From-SVN: r251188

gcc/go/gofrontend/MERGE
libgo/runtime/go-signal.c

index 612a1b4..938866a 100644 (file)
@@ -1,4 +1,4 @@
-28e49825162465172ed706283628bf5cc1996260
+2c4a2bd826e58c8c8c51b9196c8d2c67abc4037e
 
 The first line of this file holds the git revision number of the last
 merge done from the gofrontend repository.
index e175fe6..081604e 100644 (file)
@@ -343,7 +343,7 @@ dumpregs(siginfo_t *info __attribute__((unused)), void *context __attribute__((u
   #endif
 #endif
 
-#ifdef __PPC__
+#if defined(__PPC__) && defined(__LITTLE_ENDIAN__)
   #ifdef __linux__
          {
                mcontext_t *m = &((ucontext_t*)(context))->uc_mcontext;
@@ -359,6 +359,9 @@ dumpregs(siginfo_t *info __attribute__((unused)), void *context __attribute__((u
                runtime_printf("xer %X\n", m->regs->xer);
          }
   #endif
+#endif
+
+#ifdef __PPC__
   #ifdef _AIX
          {
                mcontext_t *m = &((ucontext_t*)(context))->uc_mcontext;