diff mbox

libgo patch commited: Don't use little-endian code to dump big-endian PPC regs

Message ID CAOyqgcW7rxc7wn033toUYLYv2p6BzXe0XZ7aweV99Lk1joH51A@mail.gmail.com
State New
Headers show

Commit Message

Ian Lance Taylor Aug. 18, 2017, 8:17 p.m. UTC
According to GCC PR 81893 the code that dumps the registers for PPC
only works for little-endian.  This patch fixes it to only be used in
that case.  Bootstrapped on x86_64-pc-linux-gnu, for what that's
worth.  Committed to mainline.

Ian
diff mbox

Patch

Index: gcc/go/gofrontend/MERGE
===================================================================
--- gcc/go/gofrontend/MERGE	(revision 251182)
+++ gcc/go/gofrontend/MERGE	(working copy)
@@ -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: libgo/runtime/go-signal.c
===================================================================
--- libgo/runtime/go-signal.c	(revision 251127)
+++ libgo/runtime/go-signal.c	(working copy)
@@ -343,7 +343,7 @@  dumpregs(siginfo_t *info __attribute__((
   #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__((
 		runtime_printf("xer %X\n", m->regs->xer);
 	  }
   #endif
+#endif
+
+#ifdef __PPC__
   #ifdef _AIX
 	  {
 		mcontext_t *m = &((ucontext_t*)(context))->uc_mcontext;