All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] Build breakage: error: "ARM_cpsr" redefined
@ 2016-03-02 13:11 Christopher Covington
  2016-03-02 13:59 ` Peter Maydell
  0 siblings, 1 reply; 2+ messages in thread
From: Christopher Covington @ 2016-03-02 13:11 UTC (permalink / raw)
  To: QEMU Developers, Peter Maydell

Hi,

Attempting to build QEMU on aarch64, I got the following error.

===

./configure
--target-list=arm-softmmu,aarch64-softmmu,arm-linux-user,aarch64-linux-user
make
[...]
  CC    arm-linux-user/exec.o
In file included from /root/qemu/linux-user/qemu.h:16:0,
                 from /root/qemu/exec.c:42:
/root/qemu/linux-user/arm/target_syscall.h:11:0: error: "ARM_cpsr"
redefined [-Werror]
 #define ARM_cpsr uregs[16]
 ^
In file included from /usr/include/sys/user.h:25:0,
                 from /usr/include/sys/procfs.h:34,
                 from /usr/include/sys/ucontext.h:26,
                 from /usr/include/signal.h:360,
                 from /root/qemu/include/qemu/osdep.h:79,
                 from /root/qemu/exec.c:19:
/usr/include/asm/ptrace.h:64:0: note: this is the location of the
previous definition
 #define ARM_cpsr pstate
 ^
In file included from /root/qemu/linux-user/qemu.h:16:0,
                 from /root/qemu/exec.c:42:
/root/qemu/linux-user/arm/target_syscall.h:12:0: error: "ARM_pc"
redefined [-Werror]
 #define ARM_pc  uregs[15]
 ^
In file included from /usr/include/sys/user.h:25:0,
                 from /usr/include/sys/procfs.h:34,
                 from /usr/include/sys/ucontext.h:26,
                 from /usr/include/signal.h:360,
                 from /root/qemu/include/qemu/osdep.h:79,
                 from /root/qemu/exec.c:19:
/usr/include/asm/ptrace.h:65:0: note: this is the location of the
previous definition
 #define ARM_pc  pc
 ^
In file included from /root/qemu/linux-user/qemu.h:16:0,
                 from /root/qemu/exec.c:42:
/root/qemu/linux-user/arm/target_syscall.h:14:0: error: "ARM_sp"
redefined [-Werror]
 #define ARM_sp  uregs[13]
 ^
In file included from /usr/include/sys/user.h:25:0,
                 from /usr/include/sys/procfs.h:34,
                 from /usr/include/sys/ucontext.h:26,
                 from /usr/include/signal.h:360,
                 from /root/qemu/include/qemu/osdep.h:79,
                 from /root/qemu/exec.c:19:
/usr/include/asm/ptrace.h:66:0: note: this is the location of the
previous definition
 #define ARM_sp  sp
 ^
cc1: all warnings being treated as errors
make[1]: *** [exec.o] Error 1
make: *** [subdir-arm-linux-user] Error 2

===

git log
commit ed6128ebbdd7cd885d39980659dad4b5c8ae8158
Merge: 9c279be 4ade054
Author: Peter Maydell <peter.maydell@linaro.org>
Date:   Tue Mar 1 15:54:03 2016 +0000

===

Thanks,
Christopher Covington

-- 
Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [Qemu-devel] Build breakage: error: "ARM_cpsr" redefined
  2016-03-02 13:11 [Qemu-devel] Build breakage: error: "ARM_cpsr" redefined Christopher Covington
@ 2016-03-02 13:59 ` Peter Maydell
  0 siblings, 0 replies; 2+ messages in thread
From: Peter Maydell @ 2016-03-02 13:59 UTC (permalink / raw)
  To: Christopher Covington; +Cc: QEMU Developers

On 2 March 2016 at 13:11, Christopher Covington <cov@codeaurora.org> wrote:
> Hi,
>
> Attempting to build QEMU on aarch64, I got the following error.

Interesting -- I do do a full aarch64 build before merging
pulls so this must be a quirk of your host system header files.
Nonetheless we should fix the collision.

> ===
>
> ./configure
> --target-list=arm-softmmu,aarch64-softmmu,arm-linux-user,aarch64-linux-user
> make
> [...]
>   CC    arm-linux-user/exec.o
> In file included from /root/qemu/linux-user/qemu.h:16:0,
>                  from /root/qemu/exec.c:42:
> /root/qemu/linux-user/arm/target_syscall.h:11:0: error: "ARM_cpsr"
> redefined [-Werror]
>  #define ARM_cpsr uregs[16]
>  ^
> In file included from /usr/include/sys/user.h:25:0,
>                  from /usr/include/sys/procfs.h:34,
>                  from /usr/include/sys/ucontext.h:26,
>                  from /usr/include/signal.h:360,
>                  from /root/qemu/include/qemu/osdep.h:79,
>                  from /root/qemu/exec.c:19:
> /usr/include/asm/ptrace.h:64:0: note: this is the location of the
> previous definition
>  #define ARM_cpsr pstate
>  ^

Somewhat poor form for the headers to define all that
stuff just for including signal.h, but hey ho.

I think we should just drop our ARM_r0 etc #defines,
because most of them aren't used and uregs[0] is just
as clear as ARM_r0. uregs[16] to mean CPSR is not quite
so obvious, but we only do that in two places anyway.

thanks
-- PMM

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2016-03-02 14:00 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-03-02 13:11 [Qemu-devel] Build breakage: error: "ARM_cpsr" redefined Christopher Covington
2016-03-02 13:59 ` Peter Maydell

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.