On Mon, May 11, 2020 at 2:17 PM Kalle Valo <kvalo@xxxxxxxxxxxxxx> wrote: > > Kalle Valo <kvalo@xxxxxxxxxxxxxx> writes: > >> > >> Change it to a flexible-array member and move it last again to > >> make it work correctly, prevent the same thing from happening > >> again (all compilers warn about flexible-array members in the > >> middle of a struct) and get it to build without warnings. > > > > Very good find, thanks! This bug would cause all sort of strange memory > > corruption issues. > > This motivated me to switch to using GCC 10.x and I noticed that you had > already upgraded crosstool so it was a trivial thing to do, awesome :) > > https://mirrors.edge.kernel.org/pub/tools/crosstool/ > > I use crosstool like this using GNUmakefile: > > CROSS_COMPILE=/opt/cross/gcc-10.1.0-nolibc/x86_64-linux/bin/x86_64-linux- > include Makefile Right, I have something similar (with many more additional things) in a local makefile here. I mainly use that to pick the correct cross toolchain based on ${ARCH}, and to build multiple randconfig kernels in parallel with 'make -j${NR_CPUS}' for better CPU utilization. > I think it's handy trick and would be good to mention that in the > crosstool main page. That way I could just point people to the crosstool > main page when they are using ancient compilers and would need to > upgrade. I actually started working on a script that I'd like to include the kernel sources to list the installed compilers, automatically pick on that works for the current architecture, or download one for local installation. Arnd