We had some messy code to filter out stuff we can't build. Lets junk
that and simplify the logic by pushing some stuff into subdirs. In
particular we move:
float_helpers into libs - not a standalone test
linux-test into linux - so we only build on Linux hosts
This allows for at least some of the tests to be nominally usable
by *BSD user builds.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Cc: Warner Losh <imp@bsdimp.com>
---
tests/tcg/multiarch/{ => libs}/float_helpers.c | 2 +-
tests/tcg/multiarch/{ => linux}/linux-test.c | 0
tests/tcg/multiarch/Makefile.target | 15 ++++++++++-----
tests/tcg/x86_64/Makefile.target | 4 ++++
4 files changed, 15 insertions(+), 6 deletions(-)
rename tests/tcg/multiarch/{ => libs}/float_helpers.c (99%)
rename tests/tcg/multiarch/{ => linux}/linux-test.c (100%)
diff --git a/tests/tcg/multiarch/float_helpers.c b/tests/tcg/multiarch/libs/float_helpers.c
similarity index 99%
rename from tests/tcg/multiarch/float_helpers.c
rename to tests/tcg/multiarch/libs/float_helpers.c
index bc530e5732..4e68d2b659 100644
--- a/tests/tcg/multiarch/float_helpers.c
+++ b/tests/tcg/multiarch/libs/float_helpers.c
@@ -22,7 +22,7 @@
#include <float.h>
#include <fenv.h>
-#include "float_helpers.h"
+#include "../float_helpers.h"
#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
diff --git a/tests/tcg/multiarch/linux-test.c b/tests/tcg/multiarch/linux/linux-test.c
similarity index 100%
rename from tests/tcg/multiarch/linux-test.c
rename to tests/tcg/multiarch/linux/linux-test.c
diff --git a/tests/tcg/multiarch/Makefile.target b/tests/tcg/multiarch/Makefile.target
index 85a6fb7a2e..3763df2019 100644
--- a/tests/tcg/multiarch/Makefile.target
+++ b/tests/tcg/multiarch/Makefile.target
@@ -8,18 +8,23 @@
MULTIARCH_SRC=$(SRC_PATH)/tests/tcg/multiarch
# Set search path for all sources
-VPATH += $(MULTIARCH_SRC)
-MULTIARCH_SRCS =$(notdir $(wildcard $(MULTIARCH_SRC)/*.c))
-MULTIARCH_TESTS =$(filter-out float_helpers, $(MULTIARCH_SRCS:.c=))
+VPATH += $(MULTIARCH_SRC)
+MULTIARCH_SRCS = $(notdir $(wildcard $(MULTIARCH_SRC)/*.c))
+ifneq ($(CONFIG_LINUX),)
+VPATH += $(MULTIARCH_SRC)/linux
+MULTIARCH_SRCS += $(notdir $(wildcard $(MULTIARCH_SRC)/linux/*.c))
+endif
+MULTIARCH_TESTS = $(MULTIARCH_SRCS:.c=)
+$(info SRCS=${MULTIARCH_SRCS} and ${MULTIARCH_TESTS})
#
# The following are any additional rules needed to build things
#
float_%: LDFLAGS+=-lm
-float_%: float_%.c float_helpers.c
- $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< $(MULTIARCH_SRC)/float_helpers.c -o $@ $(LDFLAGS)
+float_%: float_%.c libs/float_helpers.c
+ $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< $(MULTIARCH_SRC)/libs/float_helpers.c -o $@ $(LDFLAGS)
run-float_%: float_%
$(call run-test,$<, $(QEMU) $(QEMU_OPTS) $<,"$< on $(TARGET_NAME)")
diff --git a/tests/tcg/x86_64/Makefile.target b/tests/tcg/x86_64/Makefile.target
index 2151ea6302..d7a7385583 100644
--- a/tests/tcg/x86_64/Makefile.target
+++ b/tests/tcg/x86_64/Makefile.target
@@ -8,8 +8,12 @@
include $(SRC_PATH)/tests/tcg/i386/Makefile.target
+ifneq ($(CONFIG_LINUX),)
X86_64_TESTS += vsyscall
TESTS=$(MULTIARCH_TESTS) $(X86_64_TESTS) test-x86_64
+else
+TESTS=$(MULTIARCH_TESTS)
+endif
QEMU_OPTS += -cpu max
test-x86_64: LDFLAGS+=-lm -lc
--
2.30.2
On Fri, Sep 17, 2021 at 10:23 AM Alex Bennée <alex.bennee@linaro.org> wrote:
> We had some messy code to filter out stuff we can't build. Lets junk
> that and simplify the logic by pushing some stuff into subdirs. In
> particular we move:
>
> float_helpers into libs - not a standalone test
> linux-test into linux - so we only build on Linux hosts
>
> This allows for at least some of the tests to be nominally usable
> by *BSD user builds.
>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> Cc: Warner Losh <imp@bsdimp.com>
> ---
> tests/tcg/multiarch/{ => libs}/float_helpers.c | 2 +-
> tests/tcg/multiarch/{ => linux}/linux-test.c | 0
> tests/tcg/multiarch/Makefile.target | 15 ++++++++++-----
> tests/tcg/x86_64/Makefile.target | 4 ++++
> 4 files changed, 15 insertions(+), 6 deletions(-)
> rename tests/tcg/multiarch/{ => libs}/float_helpers.c (99%)
> rename tests/tcg/multiarch/{ => linux}/linux-test.c (100%)
>
Reviewed-by: Warner Losh <imp@bsdimp.com>
I've also tested it as well.
> diff --git a/tests/tcg/multiarch/float_helpers.c
> b/tests/tcg/multiarch/libs/float_helpers.c
> similarity index 99%
> rename from tests/tcg/multiarch/float_helpers.c
> rename to tests/tcg/multiarch/libs/float_helpers.c
> index bc530e5732..4e68d2b659 100644
> --- a/tests/tcg/multiarch/float_helpers.c
> +++ b/tests/tcg/multiarch/libs/float_helpers.c
> @@ -22,7 +22,7 @@
> #include <float.h>
> #include <fenv.h>
>
> -#include "float_helpers.h"
> +#include "../float_helpers.h"
>
> #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
>
> diff --git a/tests/tcg/multiarch/linux-test.c
> b/tests/tcg/multiarch/linux/linux-test.c
> similarity index 100%
> rename from tests/tcg/multiarch/linux-test.c
> rename to tests/tcg/multiarch/linux/linux-test.c
> diff --git a/tests/tcg/multiarch/Makefile.target
> b/tests/tcg/multiarch/Makefile.target
> index 85a6fb7a2e..3763df2019 100644
> --- a/tests/tcg/multiarch/Makefile.target
> +++ b/tests/tcg/multiarch/Makefile.target
> @@ -8,18 +8,23 @@
> MULTIARCH_SRC=$(SRC_PATH)/tests/tcg/multiarch
>
> # Set search path for all sources
> -VPATH += $(MULTIARCH_SRC)
> -MULTIARCH_SRCS =$(notdir $(wildcard $(MULTIARCH_SRC)/*.c))
> -MULTIARCH_TESTS =$(filter-out float_helpers, $(MULTIARCH_SRCS:.c=))
> +VPATH += $(MULTIARCH_SRC)
> +MULTIARCH_SRCS = $(notdir $(wildcard $(MULTIARCH_SRC)/*.c))
> +ifneq ($(CONFIG_LINUX),)
> +VPATH += $(MULTIARCH_SRC)/linux
> +MULTIARCH_SRCS += $(notdir $(wildcard $(MULTIARCH_SRC)/linux/*.c))
> +endif
> +MULTIARCH_TESTS = $(MULTIARCH_SRCS:.c=)
>
> +$(info SRCS=${MULTIARCH_SRCS} and ${MULTIARCH_TESTS})
> #
> # The following are any additional rules needed to build things
> #
>
>
> float_%: LDFLAGS+=-lm
> -float_%: float_%.c float_helpers.c
> - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $<
> $(MULTIARCH_SRC)/float_helpers.c -o $@ $(LDFLAGS)
> +float_%: float_%.c libs/float_helpers.c
> + $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $<
> $(MULTIARCH_SRC)/libs/float_helpers.c -o $@ $(LDFLAGS)
>
> run-float_%: float_%
> $(call run-test,$<, $(QEMU) $(QEMU_OPTS) $<,"$< on $(TARGET_NAME)")
> diff --git a/tests/tcg/x86_64/Makefile.target
> b/tests/tcg/x86_64/Makefile.target
> index 2151ea6302..d7a7385583 100644
> --- a/tests/tcg/x86_64/Makefile.target
> +++ b/tests/tcg/x86_64/Makefile.target
> @@ -8,8 +8,12 @@
>
> include $(SRC_PATH)/tests/tcg/i386/Makefile.target
>
> +ifneq ($(CONFIG_LINUX),)
> X86_64_TESTS += vsyscall
> TESTS=$(MULTIARCH_TESTS) $(X86_64_TESTS) test-x86_64
> +else
> +TESTS=$(MULTIARCH_TESTS)
> +endif
> QEMU_OPTS += -cpu max
>
> test-x86_64: LDFLAGS+=-lm -lc
> --
> 2.30.2
>
>
On 9/17/21 18:23, Alex Bennée wrote:
> We had some messy code to filter out stuff we can't build. Lets junk
> that and simplify the logic by pushing some stuff into subdirs. In
> particular we move:
>
> float_helpers into libs - not a standalone test
> linux-test into linux - so we only build on Linux hosts
>
> This allows for at least some of the tests to be nominally usable
> by *BSD user builds.
>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> Cc: Warner Losh <imp@bsdimp.com>
> ---
> tests/tcg/multiarch/{ => libs}/float_helpers.c | 2 +-
> tests/tcg/multiarch/{ => linux}/linux-test.c | 0
> tests/tcg/multiarch/Makefile.target | 15 ++++++++++-----
> tests/tcg/x86_64/Makefile.target | 4 ++++
> 4 files changed, 15 insertions(+), 6 deletions(-)
> rename tests/tcg/multiarch/{ => libs}/float_helpers.c (99%)
> rename tests/tcg/multiarch/{ => linux}/linux-test.c (100%)
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
© 2016 - 2026 Red Hat, Inc.