Broken 32-bit riscv debug build with ZSTD and FTRACE
Marco Bonelli
marco at mebeim.net
Wed Jun 4 06:52:05 PDT 2025
> Can you attach your full config?
Here it is: https://pastebin.com/raw/wL2Q38g0 - uploaded to pastebin to
avoid clogging everyone's inbox.
> I unfortunately cannot reproduce this issue locally, I tried on both
> v6.15 and latest linus master, with gcc 13.1.0 and gcc 14.2.0 . I made
> sure that I have FTRACE, ZSTD_COMPRESS and DEBUG_INFO enabled.
Are you building on a x86-64 host? Maybe something in my build environment
is relevant (not sure what it could be). I am building on x86-64 Debian 12
with host GCC 12.2.0, target cross GCC 14.2.0 [1].
Here is a minimal Dockerfile that reproduces the issue (docker build should
fail on the last command when it gets to MODPOST vmlinux.symvers):
# docker build --progress=plain .
FROM debian:12
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && \
apt-get install -y \
build-essential git make gcc-12 binutils util-linux bc gawk flex \
bison dwarves tar wget
WORKDIR /work
RUN git clone --depth 1 --single-branch --branch v6.15 https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
RUN wget 'https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/14.2.0/x86_64-gcc-14.2.0-nolibc-riscv32-linux.tar.xz'
RUN tar xf x86_64-gcc-14.2.0-nolibc-riscv32-linux.tar.xz
WORKDIR /work/linux
ENV PATH=/work/gcc-14.2.0-nolibc/riscv32-linux/bin:$PATH
ENV CROSS_COMPILE=riscv32-linux-
ENV ARCH=riscv
RUN make distclean && \
make defconfig && \
make 32-bit.config && \
./scripts/config \
-e DEBUG_KERNEL \
-e DEBUG_INFO \
-e DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT \
-d DEBUG_INFO_NONE \
-d DEBUG_INFO_REDUCED \
-e FTRACE && \
make olddefconfig
RUN make -j19 vmlinux
Hope this helps. Let me know if you need any additional info or test.
[1]: https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/14.2.0/x86_64-gcc-14.2.0-nolibc-riscv32-linux.tar.xz
--
Marco Bonelli
More information about the linux-riscv
mailing list