tests/docker/dockerfiles/debian-tricore-cross.docker | 10 +++------- tests/tcg/tricore/Makefile.softmmu-target | 6 +++--- tests/tcg/tricore/macros.h | 2 +- 3 files changed, 7 insertions(+), 11 deletions(-)
since binutils is pretty old, it fails our CI repeatedly during the
compilation of tricore-binutils. We created a precompiled version using
the debian docker image and download it instead of building it ourself.
We also updated the package to include a newer version of binutils, gcc,
and newlib. The default TriCore ISA version used by tricore-as changed
from the old version, so we have to specify it now. If we don't
'test_fadd' fails with 'unknown opcode'.
The new assembler also picks a new encoding in ld.h which fails the
'test_ld_h' test. We fix that by using the newest TriCore CPU for QEMU.
The old assembler accepted an extra ')' in 'test_imask'. The new one
does not, so lets remove it.
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
---
Phil,
after my tricore queue got merged today, I realized that this patch will break
CI, once it gets merged, so I included the fixes in this patch. Is this patch
going through your tree?
v1 -> v2:
- Reverted package removal
- Use updated tricore toolchain that contains gcc and newlib as well
- updated LD/AS flags in tests/tcg/tricore, as the new binutils would fail
tests.
v2 -> v3:
- Added -cpu tc27x to QEMU cmdline
- Removed extra ')' from 'test_imask'
tests/docker/dockerfiles/debian-tricore-cross.docker | 10 +++-------
tests/tcg/tricore/Makefile.softmmu-target | 6 +++---
tests/tcg/tricore/macros.h | 2 +-
3 files changed, 7 insertions(+), 11 deletions(-)
diff --git a/tests/docker/dockerfiles/debian-tricore-cross.docker b/tests/docker/dockerfiles/debian-tricore-cross.docker
index 5ae58efa09..82e4576485 100644
--- a/tests/docker/dockerfiles/debian-tricore-cross.docker
+++ b/tests/docker/dockerfiles/debian-tricore-cross.docker
@@ -20,6 +20,7 @@ RUN apt update && \
bzip2 \
ca-certificates \
ccache \
+ curl \
flex \
g++ \
gcc \
@@ -34,13 +35,8 @@ RUN apt update && \
python3-setuptools \
python3-wheel
-RUN git clone --single-branch \
- https://github.com/bkoppelmann/tricore-binutils.git \
- /usr/src/binutils && \
- cd /usr/src/binutils && chmod +x missing && \
- CFLAGS=-w ./configure --prefix=/usr/local --disable-nls --target=tricore && \
- make && make install && \
- rm -rf /usr/src/binutils
+RUN curl -#SL https://github.com/bkoppelmann/package_940/releases/download/tricore-toolchain-9.40/tricore-toolchain-9.4.0.tar.gz \
+ | tar -xzC /usr/local/
# This image can only build a very minimal QEMU as well as the tests
ENV DEF_TARGET_LIST tricore-softmmu
diff --git a/tests/tcg/tricore/Makefile.softmmu-target b/tests/tcg/tricore/Makefile.softmmu-target
index d2446af8b4..b3cd56fffc 100644
--- a/tests/tcg/tricore/Makefile.softmmu-target
+++ b/tests/tcg/tricore/Makefile.softmmu-target
@@ -1,7 +1,7 @@
TESTS_PATH = $(SRC_PATH)/tests/tcg/tricore
-LDFLAGS = -T$(TESTS_PATH)/link.ld
-ASFLAGS =
+LDFLAGS = -T$(TESTS_PATH)/link.ld --mcpu=tc162
+ASFLAGS = -mtc162
TESTS += test_abs.tst
TESTS += test_bmerge.tst
@@ -19,7 +19,7 @@ TESTS += test_madd.tst
TESTS += test_msub.tst
TESTS += test_muls.tst
-QEMU_OPTS += -M tricore_testboard -nographic -kernel
+QEMU_OPTS += -M tricore_testboard -cpu tc27x -nographic -kernel
%.pS: $(TESTS_PATH)/%.S
$(HOST_CC) -E -o $@ $<
diff --git a/tests/tcg/tricore/macros.h b/tests/tcg/tricore/macros.h
index ec4f5bff52..3df2e0de82 100644
--- a/tests/tcg/tricore/macros.h
+++ b/tests/tcg/tricore/macros.h
@@ -174,7 +174,7 @@ test_ ## num: \
TEST_CASE_E(num, res_lo, res_hi, \
LI(DREG_RS1, rs1); \
rstv; \
- insn EREG_CALC_RESULT, imm1, DREG_RS1, imm2); \
+ insn EREG_CALC_RESULT, imm1, DREG_RS1, imm2; \
)
--
2.39.1
Bastian Koppelmann <kbastian@mail.uni-paderborn.de> writes: > since binutils is pretty old, it fails our CI repeatedly during the > compilation of tricore-binutils. We created a precompiled version using > the debian docker image and download it instead of building it ourself. > > We also updated the package to include a newer version of binutils, gcc, > and newlib. The default TriCore ISA version used by tricore-as changed > from the old version, so we have to specify it now. If we don't > 'test_fadd' fails with 'unknown opcode'. > > The new assembler also picks a new encoding in ld.h which fails the > 'test_ld_h' test. We fix that by using the newest TriCore CPU for QEMU. > > The old assembler accepted an extra ')' in 'test_imask'. The new one > does not, so lets remove it. > > Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de> Queued to testing/next, thanks. -- Alex Bennée Virtualisation Tech Lead @ Linaro
© 2016 - 2024 Red Hat, Inc.