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.
---
linux-user/signal.c | 118 ++++++++++++++++++++++++++--------------------------
1 file changed, 59 insertions(+), 59 deletions(-)
diff --git a/linux-user/signal.c b/linux-user/signal.c
index 5321f9e..2db4507 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;
--
2.7.4
Hi, This series seems to have some coding style problems. See output below for more information: Type: series Message-id: 1517318239-15764-1-git-send-email-peter.maydell@linaro.org Subject: [Qemu-devel] [PATCH] linux-user/signal.c: Rename MC_* defines === TEST SCRIPT BEGIN === #!/bin/bash BASE=base n=1 total=$(git log --oneline $BASE.. | wc -l) failed=0 git config --local diff.renamelimit 0 git config --local diff.renames True commits="$(git log --format=%H --reverse $BASE..)" for c in $commits; do echo "Checking PATCH $n/$total: $(git log -n 1 --format=%s $c)..." if ! git show $c --format=email | ./scripts/checkpatch.pl --mailback -; then failed=1 echo fi n=$((n+1)) done exit $failed === TEST SCRIPT END === Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384 From https://github.com/patchew-project/qemu * [new tag] patchew/1517318239-15764-1-git-send-email-peter.maydell@linaro.org -> patchew/1517318239-15764-1-git-send-email-peter.maydell@linaro.org * [new tag] patchew/20180130131716.5899D7456D5@zero.eik.bme.hu -> patchew/20180130131716.5899D7456D5@zero.eik.bme.hu Switched to a new branch 'test' 06d9bfbde9 linux-user/signal.c: Rename MC_* defines === OUTPUT BEGIN === Checking PATCH 1/1: linux-user/signal.c: Rename MC_* defines... ERROR: do not use C99 // comments #157: FILE: linux-user/signal.c:2980: + // __put_user(env->tstate, &((*grp)[SPARC_MC_TSTATE])); total: 1 errors, 0 warnings, 147 lines checked Your patch has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. === OUTPUT END === Test command exited with code: 1 --- Email generated automatically by Patchew [http://patchew.org/]. Please send your feedback to patchew-devel@freelists.org
On 30 January 2018 at 13:17, Peter Maydell <peter.maydell@linaro.org> wrote: > 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. Now applied, thanks. I threw in a cc of qemu-stable too, since otherwise stable point releases won't build on these hosts. -- PMM
© 2016 - 2024 Red Hat, Inc.