# git rev-parse -q --verify 60ecfddd7a092f9cbd2398dbc55da3abbb803ff0^{commit} 60ecfddd7a092f9cbd2398dbc55da3abbb803ff0 already have revision, skipping fetch # 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/x86_64-linux/bin/x86_64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-8.5.0-nolibc/x86_64-linux/bin/x86_64-linux-ld --version # < git log --format=%s --max-count=1 60ecfddd7a092f9cbd2398dbc55da3abbb803ff0 # < make -s -j 32 ARCH=x86 O=/kisskb/build/kbuild_x86-allmodconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.5.0-nolibc/x86_64-linux/bin/x86_64-linux- allmodconfig # Added to kconfig CONFIG_BUILD_DOCSRC=n # Added to kconfig CONFIG_MODULE_SIG=n # Added to kconfig CONFIG_SAMPLES=n # < make -s -j 32 ARCH=x86 O=/kisskb/build/kbuild_x86-allmodconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.5.0-nolibc/x86_64-linux/bin/x86_64-linux- help # make -s -j 32 ARCH=x86 O=/kisskb/build/kbuild_x86-allmodconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.5.0-nolibc/x86_64-linux/bin/x86_64-linux- olddefconfig # make -s -j 32 ARCH=x86 O=/kisskb/build/kbuild_x86-allmodconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.5.0-nolibc/x86_64-linux/bin/x86_64-linux- /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn30/display_mode_vba_30.c: In function 'UseMinimumDCFCLK': /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn30/display_mode_vba_30.c:6806:1: error: the frame size of 2096 bytes is larger than 2048 bytes [-Werror=frame-larger-than=] } ^ cc1: all warnings being treated as errors make[6]: *** [/kisskb/src/scripts/Makefile.build:249: drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn30/display_mode_vba_30.o] Error 1 make[5]: *** [/kisskb/src/scripts/Makefile.build:440: drivers/gpu/drm/amd/amdgpu] Error 2 make[5]: *** Waiting for unfinished jobs.... make[4]: *** [/kisskb/src/scripts/Makefile.build:440: drivers/gpu/drm] Error 2 make[3]: *** [/kisskb/src/scripts/Makefile.build:440: drivers/gpu] Error 2 make[2]: *** [/kisskb/src/scripts/Makefile.build:440: drivers] Error 2 make[1]: *** [/kisskb/src/Makefile:1871: .] Error 2 make: *** [Makefile:222: __sub-make] Error 2 Command 'make -s -j 32 ARCH=x86 O=/kisskb/build/kbuild_x86-allmodconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.5.0-nolibc/x86_64-linux/bin/x86_64-linux- ' returned non-zero exit status 2 # rm -rf /kisskb/build/kbuild_x86-allmodconfig_x86_64-gcc8 # Build took: 0:22:35.334682