aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2018-01-30 13:11:18 +0000
committerPeter Maydell <peter.maydell@linaro.org>2018-01-30 13:11:18 +0000
commit029d7694348cbf199b6b64fce6111eba10e35eeb (patch)
treef68d9fd6d74ebe08142f3512cb61d3f929c87b3c
parentd2bc6e1f62241085351005c88bed0b576b23da91 (diff)
linux-user/signal.c: Rename MC_* definessparc-buildfix
The SPARC code in linux-user/signal.c defines a set of MC_* constants. On some SPARC hosts these are also defined by sys/ucontext.h, resulting in build failures: linux-user/signal.c:2786:0: error: "MC_NGREG" redefined [-Werror] #define MC_NGREG 19 In file included from /usr/include/signal.h:302:0, from include/qemu/osdep.h:86, from linux-user/signal.c:19: /usr/include/sparc64-linux-gnu/sys/ucontext.h:59:0: note: this is the location of the previous definition # define MC_NGREG __MC_NGREG Rename all these constants to SPARC_MC_* to avoid the clash. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> --- This has just started causing failures on the SPARC build box I use for merge tests (presumably due to a system header update), so I'm planning to apply this to master as a buildfix.
-rw-r--r--linux-user/signal.c118
1 files changed, 59 insertions, 59 deletions
diff --git a/linux-user/signal.c b/linux-user/signal.c
index 5321f9e795..2db4507083 100644
--- a/linux-user/signal.c
+++ b/linux-user/signal.c
@@ -2764,29 +2764,29 @@ long do_rt_sigreturn(CPUSPARCState *env)
}
#if defined(TARGET_SPARC64) && !defined(TARGET_ABI32)
-#define MC_TSTATE 0
-#define MC_PC 1
-#define MC_NPC 2
-#define MC_Y 3
-#define MC_G1 4
-#define MC_G2 5
-#define MC_G3 6
-#define MC_G4 7
-#define MC_G5 8
-#define MC_G6 9
-#define MC_G7 10
-#define MC_O0 11
-#define MC_O1 12
-#define MC_O2 13
-#define MC_O3 14
-#define MC_O4 15
-#define MC_O5 16
-#define MC_O6 17
-#define MC_O7 18
-#define MC_NGREG 19
+#define SPARC_MC_TSTATE 0
+#define SPARC_MC_PC 1
+#define SPARC_MC_NPC 2
+#define SPARC_MC_Y 3
+#define SPARC_MC_G1 4
+#define SPARC_MC_G2 5
+#define SPARC_MC_G3 6
+#define SPARC_MC_G4 7
+#define SPARC_MC_G5 8
+#define SPARC_MC_G6 9
+#define SPARC_MC_G7 10
+#define SPARC_MC_O0 11
+#define SPARC_MC_O1 12
+#define SPARC_MC_O2 13
+#define SPARC_MC_O3 14
+#define SPARC_MC_O4 15
+#define SPARC_MC_O5 16
+#define SPARC_MC_O6 17
+#define SPARC_MC_O7 18
+#define SPARC_MC_NGREG 19
typedef abi_ulong target_mc_greg_t;
-typedef target_mc_greg_t target_mc_gregset_t[MC_NGREG];
+typedef target_mc_greg_t target_mc_gregset_t[SPARC_MC_NGREG];
struct target_mc_fq {
abi_ulong *mcfq_addr;
@@ -2846,8 +2846,8 @@ void sparc64_set_context(CPUSPARCState *env)
goto do_sigsegv;
}
grp = &ucp->tuc_mcontext.mc_gregs;
- __get_user(pc, &((*grp)[MC_PC]));
- __get_user(npc, &((*grp)[MC_NPC]));
+ __get_user(pc, &((*grp)[SPARC_MC_PC]));
+ __get_user(npc, &((*grp)[SPARC_MC_NPC]));
if ((pc | npc) & 3) {
goto do_sigsegv;
}
@@ -2870,26 +2870,26 @@ void sparc64_set_context(CPUSPARCState *env)
}
env->pc = pc;
env->npc = npc;
- __get_user(env->y, &((*grp)[MC_Y]));
- __get_user(tstate, &((*grp)[MC_TSTATE]));
+ __get_user(env->y, &((*grp)[SPARC_MC_Y]));
+ __get_user(tstate, &((*grp)[SPARC_MC_TSTATE]));
env->asi = (tstate >> 24) & 0xff;
cpu_put_ccr(env, tstate >> 32);
cpu_put_cwp64(env, tstate & 0x1f);
- __get_user(env->gregs[1], (&(*grp)[MC_G1]));
- __get_user(env->gregs[2], (&(*grp)[MC_G2]));
- __get_user(env->gregs[3], (&(*grp)[MC_G3]));
- __get_user(env->gregs[4], (&(*grp)[MC_G4]));
- __get_user(env->gregs[5], (&(*grp)[MC_G5]));
- __get_user(env->gregs[6], (&(*grp)[MC_G6]));
- __get_user(env->gregs[7], (&(*grp)[MC_G7]));
- __get_user(env->regwptr[UREG_I0], (&(*grp)[MC_O0]));
- __get_user(env->regwptr[UREG_I1], (&(*grp)[MC_O1]));
- __get_user(env->regwptr[UREG_I2], (&(*grp)[MC_O2]));
- __get_user(env->regwptr[UREG_I3], (&(*grp)[MC_O3]));
- __get_user(env->regwptr[UREG_I4], (&(*grp)[MC_O4]));
- __get_user(env->regwptr[UREG_I5], (&(*grp)[MC_O5]));
- __get_user(env->regwptr[UREG_I6], (&(*grp)[MC_O6]));
- __get_user(env->regwptr[UREG_I7], (&(*grp)[MC_O7]));
+ __get_user(env->gregs[1], (&(*grp)[SPARC_MC_G1]));
+ __get_user(env->gregs[2], (&(*grp)[SPARC_MC_G2]));
+ __get_user(env->gregs[3], (&(*grp)[SPARC_MC_G3]));
+ __get_user(env->gregs[4], (&(*grp)[SPARC_MC_G4]));
+ __get_user(env->gregs[5], (&(*grp)[SPARC_MC_G5]));
+ __get_user(env->gregs[6], (&(*grp)[SPARC_MC_G6]));
+ __get_user(env->gregs[7], (&(*grp)[SPARC_MC_G7]));
+ __get_user(env->regwptr[UREG_I0], (&(*grp)[SPARC_MC_O0]));
+ __get_user(env->regwptr[UREG_I1], (&(*grp)[SPARC_MC_O1]));
+ __get_user(env->regwptr[UREG_I2], (&(*grp)[SPARC_MC_O2]));
+ __get_user(env->regwptr[UREG_I3], (&(*grp)[SPARC_MC_O3]));
+ __get_user(env->regwptr[UREG_I4], (&(*grp)[SPARC_MC_O4]));
+ __get_user(env->regwptr[UREG_I5], (&(*grp)[SPARC_MC_O5]));
+ __get_user(env->regwptr[UREG_I6], (&(*grp)[SPARC_MC_O6]));
+ __get_user(env->regwptr[UREG_I7], (&(*grp)[SPARC_MC_O7]));
__get_user(fp, &(ucp->tuc_mcontext.mc_fp));
__get_user(i7, &(ucp->tuc_mcontext.mc_i7));
@@ -2977,25 +2977,25 @@ void sparc64_get_context(CPUSPARCState *env)
}
/* XXX: tstate must be saved properly */
- // __put_user(env->tstate, &((*grp)[MC_TSTATE]));
- __put_user(env->pc, &((*grp)[MC_PC]));
- __put_user(env->npc, &((*grp)[MC_NPC]));
- __put_user(env->y, &((*grp)[MC_Y]));
- __put_user(env->gregs[1], &((*grp)[MC_G1]));
- __put_user(env->gregs[2], &((*grp)[MC_G2]));
- __put_user(env->gregs[3], &((*grp)[MC_G3]));
- __put_user(env->gregs[4], &((*grp)[MC_G4]));
- __put_user(env->gregs[5], &((*grp)[MC_G5]));
- __put_user(env->gregs[6], &((*grp)[MC_G6]));
- __put_user(env->gregs[7], &((*grp)[MC_G7]));
- __put_user(env->regwptr[UREG_I0], &((*grp)[MC_O0]));
- __put_user(env->regwptr[UREG_I1], &((*grp)[MC_O1]));
- __put_user(env->regwptr[UREG_I2], &((*grp)[MC_O2]));
- __put_user(env->regwptr[UREG_I3], &((*grp)[MC_O3]));
- __put_user(env->regwptr[UREG_I4], &((*grp)[MC_O4]));
- __put_user(env->regwptr[UREG_I5], &((*grp)[MC_O5]));
- __put_user(env->regwptr[UREG_I6], &((*grp)[MC_O6]));
- __put_user(env->regwptr[UREG_I7], &((*grp)[MC_O7]));
+ // __put_user(env->tstate, &((*grp)[SPARC_MC_TSTATE]));
+ __put_user(env->pc, &((*grp)[SPARC_MC_PC]));
+ __put_user(env->npc, &((*grp)[SPARC_MC_NPC]));
+ __put_user(env->y, &((*grp)[SPARC_MC_Y]));
+ __put_user(env->gregs[1], &((*grp)[SPARC_MC_G1]));
+ __put_user(env->gregs[2], &((*grp)[SPARC_MC_G2]));
+ __put_user(env->gregs[3], &((*grp)[SPARC_MC_G3]));
+ __put_user(env->gregs[4], &((*grp)[SPARC_MC_G4]));
+ __put_user(env->gregs[5], &((*grp)[SPARC_MC_G5]));
+ __put_user(env->gregs[6], &((*grp)[SPARC_MC_G6]));
+ __put_user(env->gregs[7], &((*grp)[SPARC_MC_G7]));
+ __put_user(env->regwptr[UREG_I0], &((*grp)[SPARC_MC_O0]));
+ __put_user(env->regwptr[UREG_I1], &((*grp)[SPARC_MC_O1]));
+ __put_user(env->regwptr[UREG_I2], &((*grp)[SPARC_MC_O2]));
+ __put_user(env->regwptr[UREG_I3], &((*grp)[SPARC_MC_O3]));
+ __put_user(env->regwptr[UREG_I4], &((*grp)[SPARC_MC_O4]));
+ __put_user(env->regwptr[UREG_I5], &((*grp)[SPARC_MC_O5]));
+ __put_user(env->regwptr[UREG_I6], &((*grp)[SPARC_MC_O6]));
+ __put_user(env->regwptr[UREG_I7], &((*grp)[SPARC_MC_O7]));
w_addr = TARGET_STACK_BIAS+env->regwptr[UREG_I6];
fp = i7 = 0;