From b66d36128f7b02664f9d7971acce108db07ac347 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Fri, 18 Aug 2017 20:17:26 +0000 Subject: [PATCH] re PR go/81893 (compilation error in libgo starting with r251127) 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 | 2 +- libgo/runtime/go-signal.c | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE index 612a1b4894c..938866abf1f 100644 --- a/gcc/go/gofrontend/MERGE +++ b/gcc/go/gofrontend/MERGE @@ -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. diff --git a/libgo/runtime/go-signal.c b/libgo/runtime/go-signal.c index e175fe66bee..081604e1849 100644 --- a/libgo/runtime/go-signal.c +++ b/libgo/runtime/go-signal.c @@ -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;