Message ID | 20241022105614.839199-2-alex.bennee@linaro.org (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | maintainer updates (testing, gdbstub, plugins) | expand |
On 10/22/24 03:55, Alex Bennée wrote: > From: Ilya Leoshkevich <iii@linux.ibm.com> > > GCC produces invalid code for microblaze atomics. > > The fix is unfortunately not upstream, so fetch it from an external > location and apply it locally. > > Suggested-by: Peter Maydell <peter.maydell@linaro.org> > Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com> > Message-Id: <20240919152308.10440-1-iii@linux.ibm.com> > Signed-off-by: Alex Bennée <alex.bennee@linaro.org> > --- > .../debian-microblaze-cross.d/build-toolchain.sh | 8 ++++++++ > tests/docker/dockerfiles/debian-toolchain.docker | 7 +++++++ > 2 files changed, 15 insertions(+) > > diff --git a/tests/docker/dockerfiles/debian-microblaze-cross.d/build-toolchain.sh b/tests/docker/dockerfiles/debian-microblaze-cross.d/build-toolchain.sh > index 23ec0aa9a7..c5cd0aa931 100755 > --- a/tests/docker/dockerfiles/debian-microblaze-cross.d/build-toolchain.sh > +++ b/tests/docker/dockerfiles/debian-microblaze-cross.d/build-toolchain.sh > @@ -10,6 +10,8 @@ TOOLCHAIN_INSTALL=/usr/local > TOOLCHAIN_BIN=${TOOLCHAIN_INSTALL}/bin > CROSS_SYSROOT=${TOOLCHAIN_INSTALL}/$TARGET/sys-root > > +GCC_PATCH0_URL=https://raw.githubusercontent.com/Xilinx/meta-xilinx/refs/tags/xlnx-rel-v2024.1/meta-microblaze/recipes-devtools/gcc/gcc-12/0009-Patch-microblaze-Fix-atomic-boolean-return-value.patch > + > export PATH=${TOOLCHAIN_BIN}:$PATH > > # > @@ -31,6 +33,12 @@ mv gcc-11.2.0 src-gcc > mv musl-1.2.2 src-musl > mv linux-5.10.70 src-linux > > +# > +# Patch gcc > +# > + > +wget -O - ${GCC_PATCH0_URL} | patch -d src-gcc -p1 > + > mkdir -p bld-hdr bld-binu bld-gcc bld-musl > mkdir -p ${CROSS_SYSROOT}/usr/include > > diff --git a/tests/docker/dockerfiles/debian-toolchain.docker b/tests/docker/dockerfiles/debian-toolchain.docker > index 687a97fec4..ab4ce29533 100644 > --- a/tests/docker/dockerfiles/debian-toolchain.docker > +++ b/tests/docker/dockerfiles/debian-toolchain.docker > @@ -10,6 +10,8 @@ FROM docker.io/library/debian:11-slim > # ??? The build-dep isn't working, missing a number of > # minimal build dependiencies, e.g. libmpc. > > +RUN sed 's/^deb /deb-src /' </etc/apt/sources.list >/etc/apt/sources.list.d/deb-src.list > + > RUN apt update && \ > DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata && \ > DEBIAN_FRONTEND=noninteractive eatmydata \ > @@ -33,6 +35,11 @@ RUN cd /root && ./build-toolchain.sh > # and the build trees by restoring the original image, > # then copying the built toolchain from stage 0. > FROM docker.io/library/debian:11-slim > +RUN apt update && \ > + DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata && \ > + DEBIAN_FRONTEND=noninteractive eatmydata \ > + apt install -y --no-install-recommends \ > + libmpc3 > COPY --from=0 /usr/local /usr/local > # As a final step configure the user (if env is defined) > ARG USER Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
diff --git a/tests/docker/dockerfiles/debian-microblaze-cross.d/build-toolchain.sh b/tests/docker/dockerfiles/debian-microblaze-cross.d/build-toolchain.sh index 23ec0aa9a7..c5cd0aa931 100755 --- a/tests/docker/dockerfiles/debian-microblaze-cross.d/build-toolchain.sh +++ b/tests/docker/dockerfiles/debian-microblaze-cross.d/build-toolchain.sh @@ -10,6 +10,8 @@ TOOLCHAIN_INSTALL=/usr/local TOOLCHAIN_BIN=${TOOLCHAIN_INSTALL}/bin CROSS_SYSROOT=${TOOLCHAIN_INSTALL}/$TARGET/sys-root +GCC_PATCH0_URL=https://raw.githubusercontent.com/Xilinx/meta-xilinx/refs/tags/xlnx-rel-v2024.1/meta-microblaze/recipes-devtools/gcc/gcc-12/0009-Patch-microblaze-Fix-atomic-boolean-return-value.patch + export PATH=${TOOLCHAIN_BIN}:$PATH # @@ -31,6 +33,12 @@ mv gcc-11.2.0 src-gcc mv musl-1.2.2 src-musl mv linux-5.10.70 src-linux +# +# Patch gcc +# + +wget -O - ${GCC_PATCH0_URL} | patch -d src-gcc -p1 + mkdir -p bld-hdr bld-binu bld-gcc bld-musl mkdir -p ${CROSS_SYSROOT}/usr/include diff --git a/tests/docker/dockerfiles/debian-toolchain.docker b/tests/docker/dockerfiles/debian-toolchain.docker index 687a97fec4..ab4ce29533 100644 --- a/tests/docker/dockerfiles/debian-toolchain.docker +++ b/tests/docker/dockerfiles/debian-toolchain.docker @@ -10,6 +10,8 @@ FROM docker.io/library/debian:11-slim # ??? The build-dep isn't working, missing a number of # minimal build dependiencies, e.g. libmpc. +RUN sed 's/^deb /deb-src /' </etc/apt/sources.list >/etc/apt/sources.list.d/deb-src.list + RUN apt update && \ DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata && \ DEBIAN_FRONTEND=noninteractive eatmydata \ @@ -33,6 +35,11 @@ RUN cd /root && ./build-toolchain.sh # and the build trees by restoring the original image, # then copying the built toolchain from stage 0. FROM docker.io/library/debian:11-slim +RUN apt update && \ + DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata && \ + DEBIAN_FRONTEND=noninteractive eatmydata \ + apt install -y --no-install-recommends \ + libmpc3 COPY --from=0 /usr/local /usr/local # As a final step configure the user (if env is defined) ARG USER