# git rev-parse -q --verify 60ecfddd7a092f9cbd2398dbc55da3abbb803ff0^{commit} # git fetch -q -n -f git://gitlab.ozlabs.ibm.com/mirror/linux-kbuild.git for-next warning: The last gc run reported the following. Please correct the root cause and remove .git/gc.log. Automatic cleanup will not be performed until the file is removed. warning: There are too many unreachable loose objects; run 'git prune' to remove them. # git rev-parse -q --verify 60ecfddd7a092f9cbd2398dbc55da3abbb803ff0^{commit} 60ecfddd7a092f9cbd2398dbc55da3abbb803ff0 # git checkout -q -f -B kisskb 60ecfddd7a092f9cbd2398dbc55da3abbb803ff0 # git clean -qxdf # < git log -1 # commit 60ecfddd7a092f9cbd2398dbc55da3abbb803ff0 # Author: Masahiro Yamada # Date: Fri Sep 16 15:29:53 2022 +0900 # # linux/export: use inline assembler to populate symbol CRCs # # Since commit 7b4537199a4a ("kbuild: link symbol CRCs at final link, # removing CONFIG_MODULE_REL_CRCS"), the module versioning on the # (non-upstreamed-yet) kvx Linux port is broken due to unexpected padding # for __crc_* symbols. The kvx GCC adds padding so u32 gets 8-byte # alignment instead of 4. # # I do not know if this happens for upstream architectures in general, # but any compiler has the freedom to insert padding for faster access. # # Use the inline assembler to directly specify the wanted data layout. # This is how we previously did before the breakage. # # Link: https://lore.kernel.org/lkml/20220817161438.32039-1-ysionneau@kalray.eu/ # Link: https://lore.kernel.org/linux-kbuild/31ce5305-a76b-13d7-ea55-afca82c46cf2@kalray.eu/ # Fixes: 7b4537199a4a ("kbuild: link symbol CRCs at final link, removing CONFIG_MODULE_REL_CRCS") # Reported-by: Yann Sionneau # Signed-off-by: Masahiro Yamada # Tested-by: Yann Sionneau # < /opt/cross/kisskb/korg/gcc-8.5.0-nolibc/m68k-linux/bin/m68k-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-8.5.0-nolibc/m68k-linux/bin/m68k-linux-ld --version # < git log --format=%s --max-count=1 60ecfddd7a092f9cbd2398dbc55da3abbb803ff0 # < make -s -j 48 ARCH=m68k O=/kisskb/build/kbuild_m68k-defconfig_m68k-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.5.0-nolibc/m68k-linux/bin/m68k-linux- defconfig # < make -s -j 48 ARCH=m68k O=/kisskb/build/kbuild_m68k-defconfig_m68k-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.5.0-nolibc/m68k-linux/bin/m68k-linux- help # make -s -j 48 ARCH=m68k O=/kisskb/build/kbuild_m68k-defconfig_m68k-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.5.0-nolibc/m68k-linux/bin/m68k-linux- olddefconfig # make -s -j 48 ARCH=m68k O=/kisskb/build/kbuild_m68k-defconfig_m68k-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.5.0-nolibc/m68k-linux/bin/m68k-linux- Completed OK # rm -rf /kisskb/build/kbuild_m68k-defconfig_m68k-gcc8 # Build took: 0:02:51.568678