qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2 1/3] tests/tcg: Make the QEMU headers available to the tes


From: Ilya Leoshkevich
Subject: Re: [PATCH v2 1/3] tests/tcg: Make the QEMU headers available to the tests
Date: Mon, 24 Apr 2023 15:10:51 +0200
User-agent: Evolution 3.46.4 (3.46.4-1.fc37)

On Mon, 2023-04-24 at 14:00 +0100, Alex Bennée wrote:
> 
> Ilya Leoshkevich <iii@linux.ibm.com> writes:
> 
> > The QEMU headers contain macros and functions that are useful in
> > the
> > test context. Add them to tests' include path. Also provide a
> > header
> > similar to "qemu/osdep.h" for use in the freestanding environment.
> > 
> > Tests that include <sys/auxv.h> get QEMU's copy of <elf.h>, which
> > does
> > not work without <stdint.h>. Make use of the new header in these
> > tests
> > in order to fix this.
> > 
> > Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
> > ---
> >  tests/include/qemu/testdep.h   | 14 ++++++++++++++
> >  tests/tcg/Makefile.target      |  4 ++--
> >  tests/tcg/aarch64/sve-ioctls.c |  1 +
> >  tests/tcg/aarch64/sysregs.c    |  1 +
> >  4 files changed, 18 insertions(+), 2 deletions(-)
> >  create mode 100644 tests/include/qemu/testdep.h
> > 
> > diff --git a/tests/include/qemu/testdep.h
> > b/tests/include/qemu/testdep.h
> > new file mode 100644
> > index 00000000000..ddf7c543bf4
> > --- /dev/null
> > +++ b/tests/include/qemu/testdep.h
> > @@ -0,0 +1,14 @@
> > +/*
> > + * Common dependencies for QEMU tests.
> > + *
> > + * SPDX-License-Identifier: GPL-2.0-or-later
> > + */
> > +#ifndef QEMU_TESTDEP_H
> > +#define QEMU_TESTDEP_H
> > +
> > +#include <stdint.h>
> > +#include "qemu/compiler.h"
> > +
> > +#define g_assert_not_reached __builtin_trap
> > +
> > +#endif
> > diff --git a/tests/tcg/Makefile.target b/tests/tcg/Makefile.target
> > index 8318caf9247..5474395e693 100644
> > --- a/tests/tcg/Makefile.target
> > +++ b/tests/tcg/Makefile.target
> > @@ -85,8 +85,8 @@ TESTS=
> >  # additional tests which may re-use existing binaries
> >  EXTRA_TESTS=
> >  
> > -# Start with a blank slate, the build targets get to add stuff
> > first
> > -CFLAGS=
> > +# Start with the minimal build flags, the build targets will
> > extend them
> > +CFLAGS=-I$(SRC_PATH)/include -I$(SRC_PATH)/tests/include
> >  LDFLAGS=
> 
> Hmm I'm not so sure about this. The tests are deliberately minimal in
> terms of their dependencies because its hard enough getting a plain
> cross-compiler to work. Is there really much benefit to allowing
> this?
> What happens when a user includes another header which relies on
> functionality from one of the many libraries QEMU itself links to?

I don't think this will work at all, because the idea here is to allow
using the code in the freestanding tests. However, at least bswap.h
seems to work just fine. Of course, there is now additional maintenance
overhead to keep it this way, but I would argue it's better than
making a copy.

[...]
> 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]