[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v1 11/25] tests/tcg: Add docker_as and docker_ld cmds
From: |
Alex Bennée |
Subject: |
[PATCH v1 11/25] tests/tcg: Add docker_as and docker_ld cmds |
Date: |
Mon, 19 Apr 2021 15:54:21 +0100 |
From: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
At least for the TriCore target no easily available c compiler exists.
Thus we need to rely on "as" and "ld". This allows us to run them
through the docker image. We don't test the generation capabilities of
docker images as they are assumed to work.
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
[AJB: fix quoting, only handle docker & clear, test -n, tweak commit msg]
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
tests/tcg/Makefile.qemu | 15 +++++++++++++++
tests/tcg/configure.sh | 17 ++++++++++++++++-
2 files changed, 31 insertions(+), 1 deletion(-)
diff --git a/tests/tcg/Makefile.qemu b/tests/tcg/Makefile.qemu
index a56564660c..2c4617516b 100644
--- a/tests/tcg/Makefile.qemu
+++ b/tests/tcg/Makefile.qemu
@@ -22,6 +22,8 @@ quiet-@ = $(if $(V),,@)
quiet-command = $(quiet-@)$(call quiet-command-run,$1,$2,$3)
CROSS_CC_GUEST:=
+CROSS_AS_GUEST:=
+CROSS_LD_GUEST:=
DOCKER_IMAGE:=
-include tests/tcg/config-$(TARGET).mak
@@ -42,6 +44,7 @@ cross-build-guest-tests:
$(call quiet-command, \
(mkdir -p tests/tcg/$(TARGET) && cd tests/tcg/$(TARGET) && \
$(MAKE) -f $(TCG_MAKE) TARGET="$(TARGET)" CC="$(CROSS_CC_GUEST)" \
+ AS="$(CROSS_AS_GUEST)" LD="$(CROSS_LD_GUEST)" \
SRC_PATH="$(SRC_PATH)"
BUILD_STATIC=$(CROSS_CC_GUEST_STATIC) \
EXTRA_CFLAGS="$(CROSS_CC_GUEST_CFLAGS)"), \
"BUILD","$(TARGET) guest-tests with $(CROSS_CC_GUEST)")
@@ -59,11 +62,23 @@ DOCKER_COMPILE_CMD="$(DOCKER_SCRIPT) cc \
-i qemu/$(DOCKER_IMAGE) \
-s $(SRC_PATH) -- "
+DOCKER_AS_CMD="$(DOCKER_SCRIPT) cc \
+ --cc $(DOCKER_CROSS_AS_GUEST) \
+ -i qemu/$(DOCKER_IMAGE) \
+ -s $(SRC_PATH) -- "
+
+DOCKER_LD_CMD="$(DOCKER_SCRIPT) cc \
+ --cc $(DOCKER_CROSS_LD_GUEST) \
+ -i qemu/$(DOCKER_IMAGE) \
+ -s $(SRC_PATH) -- "
+
+
.PHONY: docker-build-guest-tests
docker-build-guest-tests: docker-image-$(DOCKER_IMAGE)
$(call quiet-command, \
(mkdir -p tests/tcg/$(TARGET) && cd tests/tcg/$(TARGET) && \
$(MAKE) -f $(TCG_MAKE) TARGET="$(TARGET)" CC=$(DOCKER_COMPILE_CMD) \
+ AS=$(DOCKER_AS_CMD) LD=$(DOCKER_LD_CMD) \
SRC_PATH="$(SRC_PATH)" BUILD_STATIC=y \
EXTRA_CFLAGS="$(CROSS_CC_GUEST_CFLAGS)"), \
"BUILD","$(TARGET) guest-tests with docker qemu/$(DOCKER_IMAGE)")
diff --git a/tests/tcg/configure.sh b/tests/tcg/configure.sh
index bfe9619217..9f304b6c5a 100755
--- a/tests/tcg/configure.sh
+++ b/tests/tcg/configure.sh
@@ -75,7 +75,13 @@ fi
for target in $target_list; do
arch=${target%%-*}
+ # reset all container fields
container_image=
+ container_hosts=
+ container_cross_cc=
+ container_cross_as=
+ container_cross_ld=
+
case $target in
aarch64-*)
# We don't have any bigendian build tools so we only use this for AArch64
@@ -272,7 +278,16 @@ for target in $target_list; do
for host in $container_hosts; do
if test "$host" = "$ARCH"; then
echo "DOCKER_IMAGE=$container_image" >> $config_target_mak
- echo "DOCKER_CROSS_CC_GUEST=$container_cross_cc" >>
$config_target_mak
+ echo "DOCKER_CROSS_CC_GUEST=$container_cross_cc" >> \
+ $config_target_mak
+ if test -n "$container_cross_as"; then
+ echo "DOCKER_CROSS_AS_GUEST=$container_cross_as" >> \
+ $config_target_mak
+ fi
+ if test -n "$container_cross_ld"; then
+ echo "DOCKER_CROSS_LD_GUEST=$container_cross_ld" >> \
+ $config_target_mak
+ fi
fi
done
fi
--
2.20.1
- Re: [PATCH v1 05/25] tests/docker: add "fetch" sub-command, (continued)
- [PATCH v1 07/25] tests/tcg: Use Hexagon Docker image, Alex Bennée, 2021/04/19
- [PATCH v1 12/25] tests/tcg: Run timeout cmds using --foreground, Alex Bennée, 2021/04/19
- [PATCH v1 08/25] gitlab: add build-user-hexagon test, Alex Bennée, 2021/04/19
- [PATCH v1 10/25] tests/docker: Added libbpf library to the docker files., Alex Bennée, 2021/04/19
- [PATCH v1 11/25] tests/tcg: Add docker_as and docker_ld cmds,
Alex Bennée <=
- [PATCH v1 06/25] docker: Add Hexagon image, Alex Bennée, 2021/04/19
- [PATCH v1 09/25] tests/tcg: don't iterate through other arch compilers, Alex Bennée, 2021/04/19
- [PATCH v1 14/25] tests/tcg/tricore: Add build infrastructure, Alex Bennée, 2021/04/19
- [PATCH v1 13/25] hw/tricore: Add testdevice for tests in tests/tcg/, Alex Bennée, 2021/04/19