Fix linux-user build on ppc
commit22c6c8c5dfe66a5e7f81dd4a296e1b2b245c5d28
authorMark McLoughlin <markmc@redhat.com>
Mon, 29 Jun 2009 13:49:03 +0000 (29 14:49 +0100)
committerMark McLoughlin <markmc@redhat.com>
Mon, 7 Sep 2009 13:50:16 +0000 (7 14:50 +0100)
tree11bf34ab93f0291059bd92c79c50691a4b075a4b
parentf751c8937a81116469149357359c767a71ee8ebd
Fix linux-user build on ppc

kvm-87 build fails on ppc:

  https://koji.fedoraproject.org/koji/getfile?taskID=1441042&name=build.log

  gcc -I. -I.. -I/builddir/build/BUILD/qemu-kvm-devel-87/target-i386
  -I/builddir/build/BUILD/qemu-kvm-devel-87 -MMD -MT elfload.o -MP
  -DNEED_CPU_H -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
  -D__user= -I/builddir/build/BUILD/qemu-kvm-devel-87/tcg
  -I/builddir/build/BUILD/qemu-kvm-devel-87/tcg/ppc64
  -I/builddir/build/BUILD/qemu-kvm-devel-87/fpu
  -I/builddir/build/BUILD/qemu-kvm-devel-87/linux-user
  -I/builddir/build/BUILD/qemu-kvm-devel-87/linux-user/i386 -O2 -g -pipe
  -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
  --param=ssp-buffer-size=4 -m64 -mminimal-toc -g -fno-strict-aliasing
  -O2 -Wall -Wundef -Wendif-labels -Wwrite-strings -Wmissing-prototypes
  -Wstrict-prototypes -Wredundant-decls    -c -o elfload.o
  /builddir/build/BUILD/qemu-kvm-devel-87/linux-user/elfload.c
  /builddir/build/BUILD/qemu-kvm-devel-87/linux-user/elfload.c:214: error: conflicting types for 'elf_greg_t'
  /usr/include/asm/elf.h:123: note: previous declaration of 'elf_greg_t' was here
  /builddir/build/BUILD/qemu-kvm-devel-87/linux-user/elfload.c:220: error: conflicting types for 'elf_gregset_t'
  /usr/include/asm/elf.h:124: note: previous declaration of 'elf_gregset_t' was here
  In file included from /builddir/build/BUILD/qemu-kvm-devel-87/linux-user/elfload.c:697:
  ../elf.h:457:1: warning: "R_PPC_NUM" redefined
  In file included from /usr/include/asm/sigcontext.h:13,
                   from /usr/include/bits/sigcontext.h:28,
                   from /usr/include/signal.h:339,
                   from /builddir/build/BUILD/qemu-kvm-devel-87/linux-user/qemu.h:4,
                   from /builddir/build/BUILD/qemu-kvm-devel-87/linux-user/elfload.c:16:
  /usr/include/asm/elf.h:81:1: warning: this is the location of the previous definition

Problem seems to be that signal.h is pulling in a bunch of ppc
headers which expose elf_greg_t, R_PPC_* and PPC_FEATURE_*.

Signed-off-by: Mark McLoughlin <markmc@redhat.com>
Fedora-patch: qemu-fix-linux-user-build-on-ppc.patch
elf.h
linux-user/elfload.c