* [PATCH for 6.1 v1 0/2] tricore fixes @ 2021-07-19 19:50 Alex Bennée 2021-07-19 19:50 ` [PATCH v1 1/2] hw/tricore: fix inclusion of tricore_testboard Alex Bennée 2021-07-19 19:50 ` [PATCH v1 2/2] gitlab: enable a very minimal build with the tricore container Alex Bennée 0 siblings, 2 replies; 10+ messages in thread From: Alex Bennée @ 2021-07-19 19:50 UTC (permalink / raw) To: qemu-devel; +Cc: Alex Bennée Hi, This fixes check-tcg for tricore and adds a test to the gitlab matrix so we don't miss it breaking again. Please review: - gitlab: enable a very minimal build with the tricore container - hw/tricore: fix inclusion of tricore_testboard Alex Bennée (2): hw/tricore: fix inclusion of tricore_testboard gitlab: enable a very minimal build with the tricore container configs/devices/tricore-softmmu/default.mak | 1 + .gitlab-ci.d/buildtest.yml | 11 +++++ hw/tricore/Kconfig | 3 +- hw/tricore/meson.build | 4 +- .../dockerfiles/debian-tricore-cross.docker | 48 +++++++++++++++++-- 5 files changed, 58 insertions(+), 9 deletions(-) -- 2.32.0.264.g75ae10bc75 ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v1 1/2] hw/tricore: fix inclusion of tricore_testboard 2021-07-19 19:50 [PATCH for 6.1 v1 0/2] tricore fixes Alex Bennée @ 2021-07-19 19:50 ` Alex Bennée 2021-07-19 21:21 ` Peter Maydell 2021-07-19 23:09 ` Philippe Mathieu-Daudé 2021-07-19 19:50 ` [PATCH v1 2/2] gitlab: enable a very minimal build with the tricore container Alex Bennée 1 sibling, 2 replies; 10+ messages in thread From: Alex Bennée @ 2021-07-19 19:50 UTC (permalink / raw) To: qemu-devel; +Cc: Bastian Koppelmann, Alex Bennée We inadvertently added a symbol clash causing the build not to include the testboard needed for check-tcg. Fixes: f4063f9c31 ("meson: Introduce target-specific Kconfig") Signed-off-by: Alex Bennée <alex.bennee@linaro.org> --- configs/devices/tricore-softmmu/default.mak | 1 + hw/tricore/Kconfig | 3 +-- hw/tricore/meson.build | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/configs/devices/tricore-softmmu/default.mak b/configs/devices/tricore-softmmu/default.mak index 5cc91cebce..724cb85de7 100644 --- a/configs/devices/tricore-softmmu/default.mak +++ b/configs/devices/tricore-softmmu/default.mak @@ -1 +1,2 @@ +CONFIG_TRITEST=y CONFIG_TRIBOARD=y diff --git a/hw/tricore/Kconfig b/hw/tricore/Kconfig index 506e6183c1..a1b2438d99 100644 --- a/hw/tricore/Kconfig +++ b/hw/tricore/Kconfig @@ -1,9 +1,8 @@ -config TRICORE +config TRITEST bool config TRIBOARD bool - select TRICORE select TC27X_SOC config TC27X_SOC diff --git a/hw/tricore/meson.build b/hw/tricore/meson.build index 47e36bb077..692a4708ba 100644 --- a/hw/tricore/meson.build +++ b/hw/tricore/meson.build @@ -1,6 +1,6 @@ tricore_ss = ss.source_set() -tricore_ss.add(when: 'CONFIG_TRICORE', if_true: files('tricore_testboard.c')) -tricore_ss.add(when: 'CONFIG_TRICORE', if_true: files('tricore_testdevice.c')) +tricore_ss.add(when: 'CONFIG_TRITEST', if_true: files('tricore_testboard.c')) +tricore_ss.add(when: 'CONFIG_TRITEST', if_true: files('tricore_testdevice.c')) tricore_ss.add(when: 'CONFIG_TRIBOARD', if_true: files('triboard.c')) tricore_ss.add(when: 'CONFIG_TC27X_SOC', if_true: files('tc27x_soc.c')) -- 2.32.0.264.g75ae10bc75 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH v1 1/2] hw/tricore: fix inclusion of tricore_testboard 2021-07-19 19:50 ` [PATCH v1 1/2] hw/tricore: fix inclusion of tricore_testboard Alex Bennée @ 2021-07-19 21:21 ` Peter Maydell 2021-07-20 9:46 ` Alex Bennée 2021-07-19 23:09 ` Philippe Mathieu-Daudé 1 sibling, 1 reply; 10+ messages in thread From: Peter Maydell @ 2021-07-19 21:21 UTC (permalink / raw) To: Alex Bennée Cc: Bastian Koppelmann, f4bug, QEMU Developers, Paolo Bonzini On Mon, 19 Jul 2021 at 20:52, Alex Bennée <alex.bennee@linaro.org> wrote: > > We inadvertently added a symbol clash causing the build not to include > the testboard needed for check-tcg. > > Fixes: f4063f9c31 ("meson: Introduce target-specific Kconfig") > Signed-off-by: Alex Bennée <alex.bennee@linaro.org> > --- > configs/devices/tricore-softmmu/default.mak | 1 + > hw/tricore/Kconfig | 3 +-- > hw/tricore/meson.build | 4 ++-- > 3 files changed, 4 insertions(+), 4 deletions(-) Reviewed-by: Peter Maydell <peter.maydell@linaro.org> as far as this fix goes (though maybe CONFIG_TRICORE_TESTBOARD would be better?) But I still don't understand and would like to know: (1) why doesn't CONFIG_TRICORE get set by Kconfig anyway, as f4063f9c31 claims to be doing? (2) what are the CONFIG_$ARCH flags for? Apart from this, we don't seem to be using any of them, as demonstrated by the fact that nothing else broke :-) thanks -- PMM ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v1 1/2] hw/tricore: fix inclusion of tricore_testboard 2021-07-19 21:21 ` Peter Maydell @ 2021-07-20 9:46 ` Alex Bennée 2021-07-20 9:52 ` Peter Maydell 0 siblings, 1 reply; 10+ messages in thread From: Alex Bennée @ 2021-07-20 9:46 UTC (permalink / raw) To: Peter Maydell; +Cc: Bastian Koppelmann, f4bug, QEMU Developers, Paolo Bonzini Peter Maydell <peter.maydell@linaro.org> writes: > On Mon, 19 Jul 2021 at 20:52, Alex Bennée <alex.bennee@linaro.org> wrote: >> >> We inadvertently added a symbol clash causing the build not to include >> the testboard needed for check-tcg. >> >> Fixes: f4063f9c31 ("meson: Introduce target-specific Kconfig") >> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> >> --- >> configs/devices/tricore-softmmu/default.mak | 1 + >> hw/tricore/Kconfig | 3 +-- >> hw/tricore/meson.build | 4 ++-- >> 3 files changed, 4 insertions(+), 4 deletions(-) > > Reviewed-by: Peter Maydell <peter.maydell@linaro.org> > as far as this fix goes (though maybe CONFIG_TRICORE_TESTBOARD would be better?) > > But I still don't understand and would like to know: > (1) why doesn't CONFIG_TRICORE get set by Kconfig anyway, as > f4063f9c31 claims to be doing? It does (or should) thanks to meson: 'CONFIG_' + config_target['TARGET_ARCH'].to_upper() + '=y' > (2) what are the CONFIG_$ARCH flags for? Apart from this, we > don't seem to be using any of them, as demonstrated by the fact > that nothing else broke :-) They need to be declared in Kconfig otherwise minikconf complains about them not being defined when you pass it in. This is part of minikconf's sanity checking code. > > thanks > -- PMM -- Alex Bennée ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v1 1/2] hw/tricore: fix inclusion of tricore_testboard 2021-07-20 9:46 ` Alex Bennée @ 2021-07-20 9:52 ` Peter Maydell 2021-07-20 10:35 ` Alex Bennée 0 siblings, 1 reply; 10+ messages in thread From: Peter Maydell @ 2021-07-20 9:52 UTC (permalink / raw) To: Alex Bennée Cc: Bastian Koppelmann, f4bug, QEMU Developers, Paolo Bonzini On Tue, 20 Jul 2021 at 10:47, Alex Bennée <alex.bennee@linaro.org> wrote: > > > Peter Maydell <peter.maydell@linaro.org> writes: > > > On Mon, 19 Jul 2021 at 20:52, Alex Bennée <alex.bennee@linaro.org> wrote: > >> > >> We inadvertently added a symbol clash causing the build not to include > >> the testboard needed for check-tcg. > >> > >> Fixes: f4063f9c31 ("meson: Introduce target-specific Kconfig") > >> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> > >> --- > >> configs/devices/tricore-softmmu/default.mak | 1 + > >> hw/tricore/Kconfig | 3 +-- > >> hw/tricore/meson.build | 4 ++-- > >> 3 files changed, 4 insertions(+), 4 deletions(-) > > > > Reviewed-by: Peter Maydell <peter.maydell@linaro.org> > > as far as this fix goes (though maybe CONFIG_TRICORE_TESTBOARD would be better?) > > > > But I still don't understand and would like to know: > > (1) why doesn't CONFIG_TRICORE get set by Kconfig anyway, as > > f4063f9c31 claims to be doing? > > It does (or should) thanks to meson: > > 'CONFIG_' + config_target['TARGET_ARCH'].to_upper() + '=y' Yeah, but it doesn't, as you can see if you look at the meson build log: we do pass CONFIG_TRICORE=y on the minikconf command line, but it doesn't appear in minikconf's output! > > (2) what are the CONFIG_$ARCH flags for? Apart from this, we > > don't seem to be using any of them, as demonstrated by the fact > > that nothing else broke :-) > > They need to be declared in Kconfig otherwise minikconf complains about > them not being defined when you pass it in. This is part of minikconf's > sanity checking code. No, I mean, if nothing anywhere in the build system is conditional on these flags, why do we have them at all ? We know we don't have anything that cares about them, because right now we have a bug where they're never set... -- PMM ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v1 1/2] hw/tricore: fix inclusion of tricore_testboard 2021-07-20 9:52 ` Peter Maydell @ 2021-07-20 10:35 ` Alex Bennée 2021-07-20 11:00 ` Alex Bennée 0 siblings, 1 reply; 10+ messages in thread From: Alex Bennée @ 2021-07-20 10:35 UTC (permalink / raw) To: Peter Maydell; +Cc: Bastian Koppelmann, f4bug, QEMU Developers, Paolo Bonzini Peter Maydell <peter.maydell@linaro.org> writes: > On Tue, 20 Jul 2021 at 10:47, Alex Bennée <alex.bennee@linaro.org> wrote: >> >> >> Peter Maydell <peter.maydell@linaro.org> writes: >> >> > On Mon, 19 Jul 2021 at 20:52, Alex Bennée <alex.bennee@linaro.org> wrote: >> >> >> >> We inadvertently added a symbol clash causing the build not to include >> >> the testboard needed for check-tcg. >> >> >> >> Fixes: f4063f9c31 ("meson: Introduce target-specific Kconfig") >> >> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> >> >> --- >> >> configs/devices/tricore-softmmu/default.mak | 1 + >> >> hw/tricore/Kconfig | 3 +-- >> >> hw/tricore/meson.build | 4 ++-- >> >> 3 files changed, 4 insertions(+), 4 deletions(-) >> > >> > Reviewed-by: Peter Maydell <peter.maydell@linaro.org> >> > as far as this fix goes (though maybe CONFIG_TRICORE_TESTBOARD would be better?) >> > >> > But I still don't understand and would like to know: >> > (1) why doesn't CONFIG_TRICORE get set by Kconfig anyway, as >> > f4063f9c31 claims to be doing? >> >> It does (or should) thanks to meson: >> >> 'CONFIG_' + config_target['TARGET_ARCH'].to_upper() + '=y' > > Yeah, but it doesn't, as you can see if you look at the meson build > log: we do pass CONFIG_TRICORE=y on the minikconf command line, > but it doesn't appear in minikconf's output! > >> > (2) what are the CONFIG_$ARCH flags for? Apart from this, we >> > don't seem to be using any of them, as demonstrated by the fact >> > that nothing else broke :-) >> >> They need to be declared in Kconfig otherwise minikconf complains about >> them not being defined when you pass it in. This is part of minikconf's >> sanity checking code. > > No, I mean, if nothing anywhere in the build system is conditional > on these flags, why do we have them at all ? We know we don't > have anything that cares about them, because right now we have > a bug where they're never set... Well we have one place at the moment to ensure v7m gets included even if you don't include the various M profile boards: default y if TCG && (ARM || AARCH64) which is because translate.c still currently has a dependency on those bits. Without that you'll get a linker failure with the following build: '../../configure' '--without-default-features' '--target-list=arm-softmmu,aarch64-softmmu' '--with-devices-aarch64=minimal' I thought I'd added that to the build matrix but I can't find it now. > > -- PMM -- Alex Bennée ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v1 1/2] hw/tricore: fix inclusion of tricore_testboard 2021-07-20 10:35 ` Alex Bennée @ 2021-07-20 11:00 ` Alex Bennée 0 siblings, 0 replies; 10+ messages in thread From: Alex Bennée @ 2021-07-20 11:00 UTC (permalink / raw) To: Peter Maydell; +Cc: Bastian Koppelmann, f4bug, QEMU Developers, Paolo Bonzini Alex Bennée <alex.bennee@linaro.org> writes: > Peter Maydell <peter.maydell@linaro.org> writes: > >> On Tue, 20 Jul 2021 at 10:47, Alex Bennée <alex.bennee@linaro.org> wrote: >>> >>> >>> Peter Maydell <peter.maydell@linaro.org> writes: >>> >>> > On Mon, 19 Jul 2021 at 20:52, Alex Bennée <alex.bennee@linaro.org> wrote: >>> >> >>> >> We inadvertently added a symbol clash causing the build not to include >>> >> the testboard needed for check-tcg. >>> >> >>> >> Fixes: f4063f9c31 ("meson: Introduce target-specific Kconfig") >>> >> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> >>> >> --- >>> >> configs/devices/tricore-softmmu/default.mak | 1 + >>> >> hw/tricore/Kconfig | 3 +-- >>> >> hw/tricore/meson.build | 4 ++-- >>> >> 3 files changed, 4 insertions(+), 4 deletions(-) >>> > >>> > Reviewed-by: Peter Maydell <peter.maydell@linaro.org> >>> > as far as this fix goes (though maybe CONFIG_TRICORE_TESTBOARD would be better?) >>> > >>> > But I still don't understand and would like to know: >>> > (1) why doesn't CONFIG_TRICORE get set by Kconfig anyway, as >>> > f4063f9c31 claims to be doing? >>> >>> It does (or should) thanks to meson: >>> >>> 'CONFIG_' + config_target['TARGET_ARCH'].to_upper() + '=y' >> >> Yeah, but it doesn't, as you can see if you look at the meson build >> log: we do pass CONFIG_TRICORE=y on the minikconf command line, >> but it doesn't appear in minikconf's output! >> >>> > (2) what are the CONFIG_$ARCH flags for? Apart from this, we >>> > don't seem to be using any of them, as demonstrated by the fact >>> > that nothing else broke :-) >>> >>> They need to be declared in Kconfig otherwise minikconf complains about >>> them not being defined when you pass it in. This is part of minikconf's >>> sanity checking code. >> >> No, I mean, if nothing anywhere in the build system is conditional >> on these flags, why do we have them at all ? We know we don't >> have anything that cares about them, because right now we have >> a bug where they're never set... > > Well we have one place at the moment to ensure v7m gets included even if > you don't include the various M profile boards: > > default y if TCG && (ARM || AARCH64) > > which is because translate.c still currently has a dependency on those > bits. Without that you'll get a linker failure with the following build: > > '../../configure' '--without-default-features' '--target-list=arm-softmmu,aarch64-softmmu' '--with-devices-aarch64=minimal' > > I thought I'd added that to the build matrix but I can't find it now. Ahh still part of the larger series: Subject: [PATCH v16 99/99] gitlab: defend the new stripped down arm64 configs Date: Fri, 4 Jun 2021 16:53:12 +0100 Message-Id: <20210604155312.15902-100-alex.bennee@linaro.org> > >> >> -- PMM -- Alex Bennée ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v1 1/2] hw/tricore: fix inclusion of tricore_testboard 2021-07-19 19:50 ` [PATCH v1 1/2] hw/tricore: fix inclusion of tricore_testboard Alex Bennée 2021-07-19 21:21 ` Peter Maydell @ 2021-07-19 23:09 ` Philippe Mathieu-Daudé 1 sibling, 0 replies; 10+ messages in thread From: Philippe Mathieu-Daudé @ 2021-07-19 23:09 UTC (permalink / raw) To: Alex Bennée, qemu-devel; +Cc: Bastian Koppelmann On 7/19/21 9:50 PM, Alex Bennée wrote: > We inadvertently added a symbol clash causing the build not to include > the testboard needed for check-tcg. > > Fixes: f4063f9c31 ("meson: Introduce target-specific Kconfig") Sorry for the mess, I remember having tested this carefully. OK, so my patch was sent/tested first: commit f4063f9c319e3924b0c6d09dfe43e94d01253ee0 Message-Id: <20210131111316.232778-6-f4bug@amsat.org> but got merged *after* Bastian's series: commit 582079c9d27fc8cfff9f495072300416e0e4aafe Message-Id: <20210305170045.869437-4-kbastian@mail.uni-paderborn.de> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> > Signed-off-by: Alex Bennée <alex.bennee@linaro.org> > --- > configs/devices/tricore-softmmu/default.mak | 1 + > hw/tricore/Kconfig | 3 +-- > hw/tricore/meson.build | 4 ++-- > 3 files changed, 4 insertions(+), 4 deletions(-) > > diff --git a/configs/devices/tricore-softmmu/default.mak b/configs/devices/tricore-softmmu/default.mak > index 5cc91cebce..724cb85de7 100644 > --- a/configs/devices/tricore-softmmu/default.mak > +++ b/configs/devices/tricore-softmmu/default.mak > @@ -1 +1,2 @@ > +CONFIG_TRITEST=y > CONFIG_TRIBOARD=y > diff --git a/hw/tricore/Kconfig b/hw/tricore/Kconfig > index 506e6183c1..a1b2438d99 100644 > --- a/hw/tricore/Kconfig > +++ b/hw/tricore/Kconfig > @@ -1,9 +1,8 @@ > -config TRICORE > +config TRITEST > bool > > config TRIBOARD > bool > - select TRICORE > select TC27X_SOC > > config TC27X_SOC > diff --git a/hw/tricore/meson.build b/hw/tricore/meson.build > index 47e36bb077..692a4708ba 100644 > --- a/hw/tricore/meson.build > +++ b/hw/tricore/meson.build > @@ -1,6 +1,6 @@ > tricore_ss = ss.source_set() > -tricore_ss.add(when: 'CONFIG_TRICORE', if_true: files('tricore_testboard.c')) > -tricore_ss.add(when: 'CONFIG_TRICORE', if_true: files('tricore_testdevice.c')) > +tricore_ss.add(when: 'CONFIG_TRITEST', if_true: files('tricore_testboard.c')) > +tricore_ss.add(when: 'CONFIG_TRITEST', if_true: files('tricore_testdevice.c')) > tricore_ss.add(when: 'CONFIG_TRIBOARD', if_true: files('triboard.c')) > tricore_ss.add(when: 'CONFIG_TC27X_SOC', if_true: files('tc27x_soc.c')) > > ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v1 2/2] gitlab: enable a very minimal build with the tricore container 2021-07-19 19:50 [PATCH for 6.1 v1 0/2] tricore fixes Alex Bennée 2021-07-19 19:50 ` [PATCH v1 1/2] hw/tricore: fix inclusion of tricore_testboard Alex Bennée @ 2021-07-19 19:50 ` Alex Bennée 2021-07-19 21:36 ` Alex Bennée 1 sibling, 1 reply; 10+ messages in thread From: Alex Bennée @ 2021-07-19 19:50 UTC (permalink / raw) To: qemu-devel Cc: Willian Rampazzo, Thomas Huth, Alex Bennée, Philippe Mathieu-Daudé, Wainer dos Santos Moschetta We do the same thing as hexagon and do a two stage build that provides the minimal dependencies to build qemu-tricore-system and it's check-tcg tests. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> --- .gitlab-ci.d/buildtest.yml | 11 +++++ .../dockerfiles/debian-tricore-cross.docker | 48 +++++++++++++++++-- 2 files changed, 54 insertions(+), 5 deletions(-) diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml index 89df51517c..1f3fbcd965 100644 --- a/.gitlab-ci.d/buildtest.yml +++ b/.gitlab-ci.d/buildtest.yml @@ -354,6 +354,17 @@ build-some-softmmu: TARGETS: xtensa-softmmu arm-softmmu aarch64-softmmu alpha-softmmu MAKE_CHECK_ARGS: check-tcg +# We build tricore in a very minimal tricore only container +build-tricore-softmmu: + extends: .native_build_job_template + needs: + job: debian-tricore-cross-container + variables: + IMAGE: debian-tricore-cross + CONFIGURE_ARGS: --disable-tools --enable-debug + TARGETS: tricore-softmmu + MAKE_CHECK_ARGS: check-tcg + clang-system: extends: .native_build_job_template needs: diff --git a/tests/docker/dockerfiles/debian-tricore-cross.docker b/tests/docker/dockerfiles/debian-tricore-cross.docker index 985925134c..50c87f251f 100644 --- a/tests/docker/dockerfiles/debian-tricore-cross.docker +++ b/tests/docker/dockerfiles/debian-tricore-cross.docker @@ -15,9 +15,47 @@ 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 --disable-nls --target=tricore && \ - make && make install && \ - rm -rf /usr/src/binutils + CFLAGS=-w ./configure --prefix=/usr/local --disable-nls --target=tricore && \ + make && make install -# This image isn't designed for building QEMU but building tests -ENV QEMU_CONFIGURE_OPTS --disable-system --disable-user +FROM debian:buster-slim +# Duplicate deb line as deb-src +RUN cat /etc/apt/sources.list | sed "s/^deb\ /deb-src /" >> /etc/apt/sources.list +# Install QEMU build deps for use in CI +RUN apt update && \ + DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata && \ + DEBIAN_FRONTEND=noninteractive eatmydata apt install -yy \ + build-essential \ + git \ + libglib2.0-dev \ + libpixman-1-dev \ + ninja-build \ + python3 \ + pkg-config + bzip2 \ + ca-certificates \ + ccache \ + diffutils \ + findutils \ + g++ \ + gcc \ + git \ + libcapstone-dev \ + libfdt-dev \ + libglib2.0-dev \ + libpixman-1-dev \ + libtest-harness-perl \ + locales \ + make \ + ninja-build \ + perl-base \ + pkgconf \ + python3-pip \ + python3-setuptools \ + python3-wheel +COPY --from=0 /usr/local /usr/local +ENV PATH $PATH:/usr/local/bin/ + +# This image can only build a very minimal QEMU as well as the tests +ENV DEF_TARGET_LIST tricore-softmmu +ENV QEMU_CONFIGURE_OPTS --disable-user --disable-tools -- 2.32.0.264.g75ae10bc75 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH v1 2/2] gitlab: enable a very minimal build with the tricore container 2021-07-19 19:50 ` [PATCH v1 2/2] gitlab: enable a very minimal build with the tricore container Alex Bennée @ 2021-07-19 21:36 ` Alex Bennée 0 siblings, 0 replies; 10+ messages in thread From: Alex Bennée @ 2021-07-19 21:36 UTC (permalink / raw) To: qemu-devel Cc: Willian Rampazzo, Thomas Huth, Alex Bennée, Philippe Mathieu-Daudé, Wainer dos Santos Moschetta Alex Bennée <alex.bennee@linaro.org> writes: > We do the same thing as hexagon and do a two stage build that provides > the minimal dependencies to build qemu-tricore-system and it's > check-tcg tests. > > Signed-off-by: Alex Bennée <alex.bennee@linaro.org> > --- > .gitlab-ci.d/buildtest.yml | 11 +++++ > .../dockerfiles/debian-tricore-cross.docker | 48 +++++++++++++++++-- > 2 files changed, 54 insertions(+), 5 deletions(-) > > diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml > index 89df51517c..1f3fbcd965 100644 > --- a/.gitlab-ci.d/buildtest.yml > +++ b/.gitlab-ci.d/buildtest.yml > @@ -354,6 +354,17 @@ build-some-softmmu: > TARGETS: xtensa-softmmu arm-softmmu aarch64-softmmu alpha-softmmu > MAKE_CHECK_ARGS: check-tcg > > +# We build tricore in a very minimal tricore only container > +build-tricore-softmmu: > + extends: .native_build_job_template > + needs: > + job: debian-tricore-cross-container > + variables: > + IMAGE: debian-tricore-cross > + CONFIGURE_ARGS: --disable-tools --enable-debug > + TARGETS: tricore-softmmu > + MAKE_CHECK_ARGS: check-tcg > + > clang-system: > extends: .native_build_job_template > needs: > diff --git a/tests/docker/dockerfiles/debian-tricore-cross.docker b/tests/docker/dockerfiles/debian-tricore-cross.docker > index 985925134c..50c87f251f 100644 > --- a/tests/docker/dockerfiles/debian-tricore-cross.docker > +++ b/tests/docker/dockerfiles/debian-tricore-cross.docker > @@ -15,9 +15,47 @@ 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 --disable-nls --target=tricore && \ > - make && make install && \ > - rm -rf /usr/src/binutils > + CFLAGS=-w ./configure --prefix=/usr/local --disable-nls --target=tricore && \ > + make && make install > > -# This image isn't designed for building QEMU but building tests > -ENV QEMU_CONFIGURE_OPTS --disable-system --disable-user > +FROM debian:buster-slim > +# Duplicate deb line as deb-src > +RUN cat /etc/apt/sources.list | sed "s/^deb\ /deb-src /" >> /etc/apt/sources.list > +# Install QEMU build deps for use in CI > +RUN apt update && \ > + DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata && \ > + DEBIAN_FRONTEND=noninteractive eatmydata apt install -yy \ > + build-essential \ > + git \ > + libglib2.0-dev \ > + libpixman-1-dev \ > + ninja-build \ > + python3 \ > + pkg-config > + bzip2 \ > + ca-certificates \ > + ccache \ > + diffutils \ > + findutils \ > + g++ \ > + gcc \ > + git \ > + libcapstone-dev \ > + libfdt-dev \ > + libglib2.0-dev \ > + libpixman-1-dev \ > + libtest-harness-perl \ > + locales \ > + make \ > + ninja-build \ > + perl-base \ > + pkgconf \ > + python3-pip \ > + python3-setuptools \ > + python3-wheel Oops that combined the two lists, it should be: # Install very minimal QEMU build deps for use in CI # $ lcitool variables debian-10 qemu+minimal RUN apt update && \ DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata && \ DEBIAN_FRONTEND=noninteractive eatmydata apt install -yy \ bzip2 \ ca-certificates \ ccache \ g++ \ gcc \ git \ libcapstone-dev \ libfdt-dev \ libglib2.0-dev \ libpixman-1-dev \ libtest-harness-perl \ locales \ make \ ninja-build \ perl-base \ pkgconf \ python3-pip \ python3-setuptools \ python3-wheel > +COPY --from=0 /usr/local /usr/local > +ENV PATH $PATH:/usr/local/bin/ > + > +# This image can only build a very minimal QEMU as well as the tests > +ENV DEF_TARGET_LIST tricore-softmmu > +ENV QEMU_CONFIGURE_OPTS --disable-user --disable-tools -- Alex Bennée ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2021-07-20 11:02 UTC | newest] Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-07-19 19:50 [PATCH for 6.1 v1 0/2] tricore fixes Alex Bennée 2021-07-19 19:50 ` [PATCH v1 1/2] hw/tricore: fix inclusion of tricore_testboard Alex Bennée 2021-07-19 21:21 ` Peter Maydell 2021-07-20 9:46 ` Alex Bennée 2021-07-20 9:52 ` Peter Maydell 2021-07-20 10:35 ` Alex Bennée 2021-07-20 11:00 ` Alex Bennée 2021-07-19 23:09 ` Philippe Mathieu-Daudé 2021-07-19 19:50 ` [PATCH v1 2/2] gitlab: enable a very minimal build with the tricore container Alex Bennée 2021-07-19 21:36 ` Alex Bennée
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.