mbox series

[PULL,00/56] add check-tcg and associated machinery

Message ID 20180619154435.18898-1-alex.bennee@linaro.org
Headers show
Series add check-tcg and associated machinery | expand

Message

Alex Bennée June 19, 2018, 3:43 p.m. UTC
The following changes since commit 2ef2f16781af9dee6ba6517755e9073ba5799fa2:

  Merge remote-tracking branch 'remotes/dgilbert/tags/pull-migration-20180615a' into staging (2018-06-15 18:13:35 +0100)

are available in the Git repository at:

  https://github.com/stsquad/qemu.git tags/pull-tcg-testing-revivial-190618-1

for you to fetch changes up to 03c79cb5825f2e930a39839e8375dc0feef6d57d:

  .travis.yml: add check-tcg test (2018-06-19 16:38:54 +0100)

----------------------------------------------------------------
Add check-tcg machinary

This restores the ability to run TCG smoke tests by using our docker
infrastructure to support cross building simple tests. It represents
the first step to making better cross-architecture testing available
straight from the source tree ;-)

----------------------------------------------------------------
Alex Bennée (54):
      configure: add support for --cross-cc-FOO
      configure: move i386_cc to cross_cc_i386
      configure: allow user to specify --cross-cc-cflags-foo=
      configure: set cross_cc_FOO for host compiler
      docker: Add "cc" subcommand
      docker: extend "cc" command to accept compiler
      docker: allow "cc" command to run in user context
      docker: Makefile.include introduce DOCKER_SCRIPT
      tests/tcg: move architecture independent tests into subdir
      tests/tcg/multiarch: enable additional linux-test tests
      tests/tcg/multiarch: don't hard code paths/ports for linux-test
      tests/tcg/multiarch: move most output to stdout
      tests/tcg: move i386 specific tests into subdir
      tests/tcg: enable building for i386
      tests/tcg/i386: fix test-i386
      tests/tcg/i386: add runner for test-i386-fprem
      tests/tcg/x86_64: add Makefile.target
      tests/tcg/i386/test-i386: use modern vector_size attributes
      tests/tcg/i386/test-i386: fix printf format
      tests/tcg: move ARM specific tests into subdir
      tests/tcg: enable building for ARM
      tests/tcg/arm: fix up test-arm-iwmmxt test
      tests/tcg: enable building for AArch64
      tests/tcg/arm: add fcvt test cases for AArch32/64
      tests/tcg: move MIPS specific tests into subdir
      tests/tcg: enable building for MIPS
      tests/docker/Makefile.include: fix mipsel-cross dependancy
      tests/tcg/mips: include common mips hello-mips
      tests/tcg: enable building for s390x
      tests/tcg: enable building for ppc64
      tests/tcg: enable building for Alpha
      tests/tcg/alpha: add Alpha specific tests
      tests/tcg: enable building for HPPA
      tests/tcg: enable building for m68k
      tests/tcg: enable building for sh4
      tests/tcg: enable building for sparc64
      tests/tcg: enable building for mips64
      tests/tcg: enable building for RISCV64
      docker: move debian-powerpc-cross to sid based build
      tests/tcg: enable building for PowerPC
      tests/tcg/Makefile: update to be called from Makefile.target
      Makefile.target: add (clean-/build-)guest-tests targets
      tests/Makefile.include: add [build|clean|check]-tcg targets
      tests/tcg: add run, diff, and skip helper macros
      tests/tcg: override runners for broken tests
      tests/tcg/i386: extend timeout for runcom test
      tests: add top-level make dependency for docker builds
      docker: docker.py use "version" to probe usage
      docker: docker.py don't conflate checksums for extra_files
      docker: docker.py add check sub-command
      tests/Makefile: call sub-makes with SKIP_DOCKER_BUILD=1
      docker: docker.py adding age check command
      tests/docker/Makefile.include: only force SID to NOCACHE if old
      .travis.yml: add check-tcg test

Fam Zheng (2):
      tests/tcg/multiarch: Build fix for linux-test
      tests/tcg/i386: Build fix for hello-i386

 .travis.yml                                        |    8 +
 MAINTAINERS                                        |   15 +
 Makefile.target                                    |    5 +
 configure                                          |  134 +-
 tests/Makefile.include                             |   41 +-
 tests/docker/Makefile.include                      |   47 +-
 tests/docker/docker.py                             |  107 +-
 tests/docker/dockerfiles/debian-alpha-cross.docker |   12 +
 tests/docker/dockerfiles/debian-apt-fake.sh        |   46 -
 tests/docker/dockerfiles/debian-hppa-cross.docker  |   12 +
 tests/docker/dockerfiles/debian-m68k-cross.docker  |   12 +
 .../docker/dockerfiles/debian-mips64-cross.docker  |   12 +
 .../docker/dockerfiles/debian-powerpc-cross.docker |   39 +-
 .../docker/dockerfiles/debian-riscv64-cross.docker |   12 +
 tests/docker/dockerfiles/debian-sh4-cross.docker   |   12 +
 tests/docker/dockerfiles/debian-sid.docker         |   32 +
 .../docker/dockerfiles/debian-sparc64-cross.docker |   12 +
 tests/docker/dockerfiles/debian8.docker            |    3 -
 tests/tcg/Makefile                                 |  219 +-
 tests/tcg/Makefile.include                         |   88 +
 tests/tcg/Makefile.probe                           |   31 +
 tests/tcg/README                                   |   69 +-
 tests/tcg/aarch64/Makefile.include                 |    8 +
 tests/tcg/aarch64/Makefile.target                  |   17 +
 tests/tcg/aarch64/fcvt.ref                         | 3268 ++++++++++++++++++++
 tests/tcg/alpha/Makefile                           |   35 -
 tests/tcg/alpha/Makefile.include                   |    2 +
 tests/tcg/alpha/Makefile.target                    |   18 +
 tests/tcg/alpha/crt.s                              |   26 -
 tests/tcg/alpha/hello-alpha.c                      |    2 +
 tests/tcg/alpha/test-cond.c                        |    1 +
 tests/tcg/alpha/test-ovf.c                         |    2 +
 tests/tcg/arm/Makefile.include                     |    8 +
 tests/tcg/arm/Makefile.target                      |   32 +
 tests/tcg/arm/README                               |   11 +
 tests/tcg/arm/fcvt.c                               |  458 +++
 tests/tcg/arm/fcvt.ref                             | 3268 ++++++++++++++++++++
 tests/tcg/{ => arm}/hello-arm.c                    |    0
 .../{test-arm-iwmmxt.s => arm/test-arm-iwmmxt.S}   |    0
 tests/tcg/hppa/Makefile.include                    |    2 +
 tests/tcg/hppa/Makefile.target                     |    6 +
 tests/tcg/i386/Makefile.include                    |    9 +
 tests/tcg/i386/Makefile.target                     |   52 +
 tests/tcg/i386/README                              |   38 +
 tests/tcg/{ => i386}/hello-i386.c                  |    1 +
 tests/tcg/{ => i386}/pi_10.com                     |  Bin
 tests/tcg/{ => i386}/runcom.c                      |    0
 tests/tcg/{ => i386}/test-i386-code16.S            |    0
 tests/tcg/{ => i386}/test-i386-fprem.c             |   12 +-
 tests/tcg/{ => i386}/test-i386-muldiv.h            |    0
 tests/tcg/{ => i386}/test-i386-shift.h             |    0
 tests/tcg/{ => i386}/test-i386-ssse3.c             |    0
 tests/tcg/{ => i386}/test-i386-vm86.S              |    0
 tests/tcg/{ => i386}/test-i386.c                   |    7 +-
 tests/tcg/{ => i386}/test-i386.h                   |    0
 tests/tcg/m68k/Makefile.include                    |    2 +
 tests/tcg/m68k/Makefile.target                     |    7 +
 tests/tcg/mips/Makefile.include                    |   20 +
 tests/tcg/mips/Makefile.target                     |   22 +
 tests/tcg/mips/README                              |    7 +
 tests/tcg/{ => mips}/hello-mips.c                  |    0
 tests/tcg/multiarch/Makefile.target                |   36 +
 tests/tcg/multiarch/README                         |    1 +
 tests/tcg/{ => multiarch}/linux-test.c             |  150 +-
 tests/tcg/{ => multiarch}/sha1.c                   |    0
 tests/tcg/{ => multiarch}/test-mmap.c              |   40 +-
 tests/tcg/{ => multiarch}/testthread.c             |    0
 tests/tcg/ppc/Makefile.include                     |    7 +
 tests/tcg/ppc/Makefile.target                      |   12 +
 tests/tcg/riscv/Makefile.include                   |   10 +
 tests/tcg/s390x/Makefile.include                   |    2 +
 tests/tcg/sh4/Makefile.include                     |    4 +
 tests/tcg/sh4/Makefile.target                      |    7 +
 tests/tcg/sparc64/Makefile.include                 |    2 +
 tests/tcg/sparc64/Makefile.target                  |   11 +
 tests/tcg/test_path.c                              |  157 -
 tests/tcg/x86_64/Makefile.target                   |   15 +
 77 files changed, 8136 insertions(+), 627 deletions(-)
 create mode 100644 tests/docker/dockerfiles/debian-alpha-cross.docker
 delete mode 100755 tests/docker/dockerfiles/debian-apt-fake.sh
 create mode 100644 tests/docker/dockerfiles/debian-hppa-cross.docker
 create mode 100644 tests/docker/dockerfiles/debian-m68k-cross.docker
 create mode 100644 tests/docker/dockerfiles/debian-mips64-cross.docker
 create mode 100644 tests/docker/dockerfiles/debian-riscv64-cross.docker
 create mode 100644 tests/docker/dockerfiles/debian-sh4-cross.docker
 create mode 100644 tests/docker/dockerfiles/debian-sid.docker
 create mode 100644 tests/docker/dockerfiles/debian-sparc64-cross.docker
 create mode 100644 tests/tcg/Makefile.include
 create mode 100644 tests/tcg/Makefile.probe
 create mode 100644 tests/tcg/aarch64/Makefile.include
 create mode 100644 tests/tcg/aarch64/Makefile.target
 create mode 100644 tests/tcg/aarch64/fcvt.ref
 delete mode 100644 tests/tcg/alpha/Makefile
 create mode 100644 tests/tcg/alpha/Makefile.include
 create mode 100644 tests/tcg/alpha/Makefile.target
 delete mode 100644 tests/tcg/alpha/crt.s
 create mode 100644 tests/tcg/arm/Makefile.include
 create mode 100644 tests/tcg/arm/Makefile.target
 create mode 100644 tests/tcg/arm/README
 create mode 100644 tests/tcg/arm/fcvt.c
 create mode 100644 tests/tcg/arm/fcvt.ref
 rename tests/tcg/{ => arm}/hello-arm.c (100%)
 rename tests/tcg/{test-arm-iwmmxt.s => arm/test-arm-iwmmxt.S} (100%)
 create mode 100644 tests/tcg/hppa/Makefile.include
 create mode 100644 tests/tcg/hppa/Makefile.target
 create mode 100644 tests/tcg/i386/Makefile.include
 create mode 100644 tests/tcg/i386/Makefile.target
 create mode 100644 tests/tcg/i386/README
 rename tests/tcg/{ => i386}/hello-i386.c (96%)
 rename tests/tcg/{ => i386}/pi_10.com (100%)
 rename tests/tcg/{ => i386}/runcom.c (100%)
 rename tests/tcg/{ => i386}/test-i386-code16.S (100%)
 rename tests/tcg/{ => i386}/test-i386-fprem.c (97%)
 rename tests/tcg/{ => i386}/test-i386-muldiv.h (100%)
 rename tests/tcg/{ => i386}/test-i386-shift.h (100%)
 rename tests/tcg/{ => i386}/test-i386-ssse3.c (100%)
 rename tests/tcg/{ => i386}/test-i386-vm86.S (100%)
 rename tests/tcg/{ => i386}/test-i386.c (99%)
 rename tests/tcg/{ => i386}/test-i386.h (100%)
 create mode 100644 tests/tcg/m68k/Makefile.include
 create mode 100644 tests/tcg/m68k/Makefile.target
 create mode 100644 tests/tcg/mips/Makefile.include
 create mode 100644 tests/tcg/mips/Makefile.target
 create mode 100644 tests/tcg/mips/README
 rename tests/tcg/{ => mips}/hello-mips.c (100%)
 create mode 100644 tests/tcg/multiarch/Makefile.target
 create mode 100644 tests/tcg/multiarch/README
 rename tests/tcg/{ => multiarch}/linux-test.c (81%)
 rename tests/tcg/{ => multiarch}/sha1.c (100%)
 rename tests/tcg/{ => multiarch}/test-mmap.c (93%)
 rename tests/tcg/{ => multiarch}/testthread.c (100%)
 create mode 100644 tests/tcg/ppc/Makefile.include
 create mode 100644 tests/tcg/ppc/Makefile.target
 create mode 100644 tests/tcg/riscv/Makefile.include
 create mode 100644 tests/tcg/s390x/Makefile.include
 create mode 100644 tests/tcg/sh4/Makefile.include
 create mode 100644 tests/tcg/sh4/Makefile.target
 create mode 100644 tests/tcg/sparc64/Makefile.include
 create mode 100644 tests/tcg/sparc64/Makefile.target
 delete mode 100644 tests/tcg/test_path.c
 create mode 100644 tests/tcg/x86_64/Makefile.target

--
2.17.1

Comments

Peter Maydell June 20, 2018, 10:43 a.m. UTC | #1
On 19 June 2018 at 16:43, Alex Bennée <alex.bennee@linaro.org> wrote:
> The following changes since commit 2ef2f16781af9dee6ba6517755e9073ba5799fa2:

>

>   Merge remote-tracking branch 'remotes/dgilbert/tags/pull-migration-20180615a' into staging (2018-06-15 18:13:35 +0100)

>

> are available in the Git repository at:

>

>   https://github.com/stsquad/qemu.git tags/pull-tcg-testing-revivial-190618-1

>

> for you to fetch changes up to 03c79cb5825f2e930a39839e8375dc0feef6d57d:

>

>   .travis.yml: add check-tcg test (2018-06-19 16:38:54 +0100)

>

> ----------------------------------------------------------------

> Add check-tcg machinary

>

> This restores the ability to run TCG smoke tests by using our docker

> infrastructure to support cross building simple tests. It represents

> the first step to making better cross-architecture testing available

> straight from the source tree ;-)

>

> ----------------------------------------------------------------


On x86-64/Linux I get:

Doing build and test cycle...
make: Entering directory '/home/petmay01/linaro/qemu-for-merges/build/alldbg'
Traceback (most recent call last):
  File "/home/petmay01/linaro/qemu-for-merges/tests/docker/docker.py",
line 523, in <module>
    sys.exit(main())
  File "/home/petmay01/linaro/qemu-for-merges/tests/docker/docker.py",
line 520, in main
    return args.cmdobj.run(args, argv)
  File "/home/petmay01/linaro/qemu-for-merges/tests/docker/docker.py",
line 475, in run
    dkr = Docker()
  File "/home/petmay01/linaro/qemu-for-merges/tests/docker/docker.py",
line 137, in __init__
    self._command = _guess_docker_command()
  File "/home/petmay01/linaro/qemu-for-merges/tests/docker/docker.py",
line 62, in _guess_docker_command
    commands_txt)
Exception: Cannot find working docker command. Tried:
  docker
  sudo -n docker
make: Leaving directory '/home/petmay01/linaro/qemu-for-merges/build/alldbg'
make: *** Deleting file 'config-host.mak'
make: Entering directory '/home/petmay01/linaro/qemu-for-merges/build/alldbg'
config-host.mak is out-of-date, running configure
Traceback (most recent call last):
  File "/home/petmay01/linaro/qemu-for-merges/tests/docker/docker.py",
line 29, in <module>
    from StringIO import StringIO
ImportError: No module named 'StringIO'
Install prefix    /usr/local
BIOS directory    /usr/local/share/qemu
firmware path     /usr/local/share/qemu-firmware
[other configure output trimmed]
VxHS block device no
capstone          git
docker

ERROR: configure test passed without -Werror but failed with -Werror.
       This is probably a bug in the configure script. The failing command
       will be at the bottom of config.log.
       You can run configure with --disable-werror to bypass this check.

Makefile:73: recipe for target 'config-host.mak' failed
make: *** [config-host.mak] Error 1

and the last part of config.log is

======
ccache gcc -Werror -pthread -I/usr/include/glib-2.0
-I/usr/lib/x86_64-linux-gnu/glib-2.0/include -fPIE -DPIE -m64 -mcx16
-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
-Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings
-Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv
-Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs
-Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers
-Wold-style-declaration -Wold-style-definition -Wtype-limits
-fstack-protector-strong -I/usr/include/p11-kit-1
-I/usr/include/libpng12 -I/usr/include/spice-server
-I/usr/include/spice-1 -I$(SRC_PATH)/capstone/include -c -o
config-temp/qemu-conf.o config-temp/qemu-conf.c
c++ -D__STDC_LIMIT_MACROS -Werror -pthread -I/usr/include/glib-2.0
-I/usr/lib/x86_64-linux-gnu/glib-2.0/include -fPIE -DPIE -m64 -mcx16
-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wall -Wundef
-Wwrite-strings -fno-strict-aliasing -fno-common -fwrapv
-Wendif-labels -Wno-missing-include-dirs -Wempty-body
-Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers
-Wtype-limits -fstack-protector-strong -I/usr/include/p11-kit-1
-I/usr/include/libpng12 -I/usr/include/spice-server
-I/usr/include/spice-1 -I$(SRC_PATH)/capstone/include -o
config-temp/qemu-conf.exe config-temp/qemu-conf.cxx
config-temp/qemu-conf.o -Wl,--warn-common -Wl,-z,relro -Wl,-z,now -pie
-m64 -g
aarch64-linux-gnu-gcc -o config-temp/qemu-conf.exe
config-temp/qemu-conf.c -static
aarch64-linux-gnu-gcc -Werror -o config-temp/qemu-conf.exe
config-temp/qemu-conf.c -static
arm-linux-gnueabihf-gcc -o config-temp/qemu-conf.exe
config-temp/qemu-conf.c -static
arm-linux-gnueabihf-gcc -Werror -o config-temp/qemu-conf.exe
config-temp/qemu-conf.c -static
powerpc-linux-gnu-gcc -o config-temp/qemu-conf.exe
config-temp/qemu-conf.c -static
powerpc-linux-gnu-gcc -Werror -o config-temp/qemu-conf.exe
config-temp/qemu-conf.c -static
ccache gcc -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -static
ccache -Werror gcc -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -static
ccache: invalid option -- 'W'
Usage:
    ccache [options]
    ccache compiler [compiler options]
    compiler [compiler options]          (via symbolic link)

Options:
    -c, --cleanup         delete old files and recalculate size counters
                          (normally not needed as this is done automatically)
    -C, --clear           clear the cache completely (except configuration)
    -F, --max-files=N     set maximum number of files in cache to N (use 0 for
                          no limit)
    -M, --max-size=SIZE   set maximum size of cache to SIZE (use 0 for no
                          limit); available suffixes: k, M, G, T (decimal) and
                          Ki, Mi, Gi, Ti (binary); default suffix: G
    -o, --set-config=K=V  set configuration key K to value V
    -p, --print-config    print current configuration options
    -s, --show-stats      show statistics summary
    -z, --zero-stats      zero statistics counters

    -h, --help            print this help text
    -V, --version         print version and copyright information

See also <http://ccache.samba.org>.
======

The configure options for this build are
'--cc=ccache gcc' '--enable-debug' '--python=python3'

Looks like something is mishandling CC.

On FreeBSD I get an odd linker error:

  LINK    qemu-ga
/usr/bin/ld: cannot open linker script file ../config-host.ld: No such
file or directory
c++: error: linker command failed with exit code 1 (use -v to see invocation)
gmake: *** [Makefile:688: qemu-ga] Error 1

thanks
-- PMM
Alex Bennée June 20, 2018, 2:09 p.m. UTC | #2
Peter Maydell <peter.maydell@linaro.org> writes:

> On 19 June 2018 at 16:43, Alex Bennée <alex.bennee@linaro.org> wrote:

>> The following changes since commit 2ef2f16781af9dee6ba6517755e9073ba5799fa2:

>>

>>   Merge remote-tracking branch 'remotes/dgilbert/tags/pull-migration-20180615a' into staging (2018-06-15 18:13:35 +0100)

>>

>> are available in the Git repository at:

>>

>>   https://github.com/stsquad/qemu.git tags/pull-tcg-testing-revivial-190618-1

>>

>> for you to fetch changes up to 03c79cb5825f2e930a39839e8375dc0feef6d57d:

>>

>>   .travis.yml: add check-tcg test (2018-06-19 16:38:54 +0100)

>>

>> ----------------------------------------------------------------

>> Add check-tcg machinary

>>

>> This restores the ability to run TCG smoke tests by using our docker

>> infrastructure to support cross building simple tests. It represents

>> the first step to making better cross-architecture testing available

>> straight from the source tree ;-)

>>

>> ----------------------------------------------------------------

>

> On x86-64/Linux I get:

>

> Doing build and test cycle...

> make: Entering directory '/home/petmay01/linaro/qemu-for-merges/build/alldbg'

> Traceback (most recent call last):

>   File "/home/petmay01/linaro/qemu-for-merges/tests/docker/docker.py",

> line 523, in <module>

>     sys.exit(main())

>   File "/home/petmay01/linaro/qemu-for-merges/tests/docker/docker.py",

> line 520, in main

>     return args.cmdobj.run(args, argv)

>   File "/home/petmay01/linaro/qemu-for-merges/tests/docker/docker.py",

> line 475, in run

>     dkr = Docker()

>   File "/home/petmay01/linaro/qemu-for-merges/tests/docker/docker.py",

> line 137, in __init__

>     self._command = _guess_docker_command()

>   File "/home/petmay01/linaro/qemu-for-merges/tests/docker/docker.py",

> line 62, in _guess_docker_command

>     commands_txt)

> Exception: Cannot find working docker command. Tried:

>   docker

>   sudo -n docker

> make: Leaving directory '/home/petmay01/linaro/qemu-for-merges/build/alldbg'

> make: *** Deleting file 'config-host.mak'

> make: Entering directory '/home/petmay01/linaro/qemu-for-merges/build/alldbg'

> config-host.mak is out-of-date, running configure

> Traceback (most recent call last):

>   File "/home/petmay01/linaro/qemu-for-merges/tests/docker/docker.py",

> line 29, in <module>

>     from StringIO import StringIO

> ImportError: No module named 'StringIO'

> Install prefix    /usr/local

> BIOS directory    /usr/local/share/qemu

> firmware path     /usr/local/share/qemu-firmware

> [other configure output trimmed]

> VxHS block device no

> capstone          git

> docker


Hmm I'm sure I tested this. I'll go and find a box without docker to
double check.

>

> ERROR: configure test passed without -Werror but failed with -Werror.

>        This is probably a bug in the configure script. The failing command

>        will be at the bottom of config.log.

>        You can run configure with --disable-werror to bypass this check.

>

> Makefile:73: recipe for target 'config-host.mak' failed

> make: *** [config-host.mak] Error 1

>

> and the last part of config.log is

>

> ======

> ccache gcc -Werror -pthread -I/usr/include/glib-2.0

> -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -fPIE -DPIE -m64 -mcx16

> -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE

> -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings

> -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv

> -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs

> -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers

> -Wold-style-declaration -Wold-style-definition -Wtype-limits

> -fstack-protector-strong -I/usr/include/p11-kit-1

> -I/usr/include/libpng12 -I/usr/include/spice-server

> -I/usr/include/spice-1 -I$(SRC_PATH)/capstone/include -c -o

> config-temp/qemu-conf.o config-temp/qemu-conf.c

> c++ -D__STDC_LIMIT_MACROS -Werror -pthread -I/usr/include/glib-2.0

> -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -fPIE -DPIE -m64 -mcx16

> -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wall -Wundef

> -Wwrite-strings -fno-strict-aliasing -fno-common -fwrapv

> -Wendif-labels -Wno-missing-include-dirs -Wempty-body

> -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers

> -Wtype-limits -fstack-protector-strong -I/usr/include/p11-kit-1

> -I/usr/include/libpng12 -I/usr/include/spice-server

> -I/usr/include/spice-1 -I$(SRC_PATH)/capstone/include -o

> config-temp/qemu-conf.exe config-temp/qemu-conf.cxx

> config-temp/qemu-conf.o -Wl,--warn-common -Wl,-z,relro -Wl,-z,now -pie

> -m64 -g

> aarch64-linux-gnu-gcc -o config-temp/qemu-conf.exe

> config-temp/qemu-conf.c -static

> aarch64-linux-gnu-gcc -Werror -o config-temp/qemu-conf.exe

> config-temp/qemu-conf.c -static

> arm-linux-gnueabihf-gcc -o config-temp/qemu-conf.exe

> config-temp/qemu-conf.c -static

> arm-linux-gnueabihf-gcc -Werror -o config-temp/qemu-conf.exe

> config-temp/qemu-conf.c -static

> powerpc-linux-gnu-gcc -o config-temp/qemu-conf.exe

> config-temp/qemu-conf.c -static

> powerpc-linux-gnu-gcc -Werror -o config-temp/qemu-conf.exe

> config-temp/qemu-conf.c -static

> ccache gcc -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -static

> ccache -Werror gcc -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -static

> ccache: invalid option -- 'W'

> Usage:

>     ccache [options]

>     ccache compiler [compiler options]

>     compiler [compiler options]          (via symbolic link)

>

> Options:

>     -c, --cleanup         delete old files and recalculate size counters

>                           (normally not needed as this is done automatically)

>     -C, --clear           clear the cache completely (except configuration)

>     -F, --max-files=N     set maximum number of files in cache to N (use 0 for

>                           no limit)

>     -M, --max-size=SIZE   set maximum size of cache to SIZE (use 0 for no

>                           limit); available suffixes: k, M, G, T (decimal) and

>                           Ki, Mi, Gi, Ti (binary); default suffix: G

>     -o, --set-config=K=V  set configuration key K to value V

>     -p, --print-config    print current configuration options

>     -s, --show-stats      show statistics summary

>     -z, --zero-stats      zero statistics counters

>

>     -h, --help            print this help text

>     -V, --version         print version and copyright information

>

> See also <http://ccache.samba.org>.

> ======

>

> The configure options for this build are

> '--cc=ccache gcc' '--enable-debug' '--python=python3'

>

> Looks like something is mishandling CC.

>

> On FreeBSD I get an odd linker error:

>

>   LINK    qemu-ga

> /usr/bin/ld: cannot open linker script file ../config-host.ld: No such

> file or directory

> c++: error: linker command failed with exit code 1 (use -v to see invocation)

> gmake: *** [Makefile:688: qemu-ga] Error 1

>

> thanks

> -- PMM



--
Alex Bennée
Daniel P. Berrangé June 20, 2018, 2:13 p.m. UTC | #3
On Wed, Jun 20, 2018 at 11:43:57AM +0100, Peter Maydell wrote:
> On 19 June 2018 at 16:43, Alex Bennée <alex.bennee@linaro.org> wrote:

> > The following changes since commit 2ef2f16781af9dee6ba6517755e9073ba5799fa2:

> >

> >   Merge remote-tracking branch 'remotes/dgilbert/tags/pull-migration-20180615a' into staging (2018-06-15 18:13:35 +0100)

> >

> > are available in the Git repository at:

> >

> >   https://github.com/stsquad/qemu.git tags/pull-tcg-testing-revivial-190618-1

> >

> > for you to fetch changes up to 03c79cb5825f2e930a39839e8375dc0feef6d57d:

> >

> >   .travis.yml: add check-tcg test (2018-06-19 16:38:54 +0100)

> >

> > ----------------------------------------------------------------

> > Add check-tcg machinary

> >

> > This restores the ability to run TCG smoke tests by using our docker

> > infrastructure to support cross building simple tests. It represents

> > the first step to making better cross-architecture testing available

> > straight from the source tree ;-)

> >

> > ----------------------------------------------------------------

> 

> On x86-64/Linux I get:

> 


[snip]

> ERROR: configure test passed without -Werror but failed with -Werror.

>        This is probably a bug in the configure script. The failing command

>        will be at the bottom of config.log.

>        You can run configure with --disable-werror to bypass this check.


[snip]

> ccache gcc -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -static

> ccache -Werror gcc -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -static


This looks dubious - the -Werror arg is in the wrong place on the
command line, hence ccache complaining:

> ccache: invalid option -- 'W'

> Usage:

>     ccache [options]

>     ccache compiler [compiler options]

>     compiler [compiler options]          (via symbolic link)

> 

> Options:

>     -c, --cleanup         delete old files and recalculate size counters

>                           (normally not needed as this is done automatically)

>     -C, --clear           clear the cache completely (except configuration)

>     -F, --max-files=N     set maximum number of files in cache to N (use 0 for

>                           no limit)

>     -M, --max-size=SIZE   set maximum size of cache to SIZE (use 0 for no

>                           limit); available suffixes: k, M, G, T (decimal) and

>                           Ki, Mi, Gi, Ti (binary); default suffix: G

>     -o, --set-config=K=V  set configuration key K to value V

>     -p, --print-config    print current configuration options

>     -s, --show-stats      show statistics summary

>     -z, --zero-stats      zero statistics counters

> 

>     -h, --help            print this help text

>     -V, --version         print version and copyright information

> 

> See also <http://ccache.samba.org>.


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|
Peter Maydell June 20, 2018, 2:21 p.m. UTC | #4
On 19 June 2018 at 16:43, Alex Bennée <alex.bennee@linaro.org> wrote:
> The following changes since commit 2ef2f16781af9dee6ba6517755e9073ba5799fa2:

>

>   Merge remote-tracking branch 'remotes/dgilbert/tags/pull-migration-20180615a' into staging (2018-06-15 18:13:35 +0100)

>

> are available in the Git repository at:

>

>   https://github.com/stsquad/qemu.git tags/pull-tcg-testing-revivial-190618-1

>

> for you to fetch changes up to 03c79cb5825f2e930a39839e8375dc0feef6d57d:

>

>   .travis.yml: add check-tcg test (2018-06-19 16:38:54 +0100)

>

> ----------------------------------------------------------------

> Add check-tcg machinary

>

> This restores the ability to run TCG smoke tests by using our docker

> infrastructure to support cross building simple tests. It represents

> the first step to making better cross-architecture testing available

> straight from the source tree ;-)

>


Also, I've just noticed that your commit messages are
full of the 'below-the-fold' info about changes since
v3, v4, etc. That shouldn't be in commits in pull requests,
please.

thanks
-- PMM
Alex Bennée June 20, 2018, 2:34 p.m. UTC | #5
Peter Maydell <peter.maydell@linaro.org> writes:

> On 19 June 2018 at 16:43, Alex Bennée <alex.bennee@linaro.org> wrote:

>> The following changes since commit 2ef2f16781af9dee6ba6517755e9073ba5799fa2:

>>

>>   Merge remote-tracking branch 'remotes/dgilbert/tags/pull-migration-20180615a' into staging (2018-06-15 18:13:35 +0100)

>>

>> are available in the Git repository at:

>>

>>   https://github.com/stsquad/qemu.git tags/pull-tcg-testing-revivial-190618-1

>>

>> for you to fetch changes up to 03c79cb5825f2e930a39839e8375dc0feef6d57d:

>>

>>   .travis.yml: add check-tcg test (2018-06-19 16:38:54 +0100)

>>

>> ----------------------------------------------------------------

>> Add check-tcg machinary

>>

>> This restores the ability to run TCG smoke tests by using our docker

>> infrastructure to support cross building simple tests. It represents

>> the first step to making better cross-architecture testing available

>> straight from the source tree ;-)

>>

>

> Also, I've just noticed that your commit messages are

> full of the 'below-the-fold' info about changes since

> v3, v4, etc. That shouldn't be in commits in pull requests,

> please.


Doh... let me add that to my pullreq script...

>

> thanks

> -- PMM



--
Alex Bennée