# git rev-parse -q --verify 4ee812f6143d78d8ba1399671d78c8d78bf2817c^{commit} 4ee812f6143d78d8ba1399671d78c8d78bf2817c already have revision, skipping fetch # git checkout -q -f -B kisskb 4ee812f6143d78d8ba1399671d78c8d78bf2817c # git clean -qxdf # < git log -1 # commit 4ee812f6143d78d8ba1399671d78c8d78bf2817c # Author: Michael Ellerman # Date: Wed Nov 20 22:27:38 2019 +1100 # # crypto: vmx - Avoid weird build failures # # In the vmx crypto Makefile we assign to a variable called TARGET and # pass that to the aesp8-ppc.pl and ghashp8-ppc.pl scripts. # # The variable is meant to describe what flavour of powerpc we're # building for, eg. either 32 or 64-bit, and big or little endian. # # Unfortunately TARGET is a fairly common name for a make variable, and # if it happens that TARGET is specified as a command line parameter to # make, the value specified on the command line will override our value. # # In particular this can happen if the kernel Makefile is driven by an # external Makefile that uses TARGET for something. # # This leads to weird build failures, eg: # nonsense at /build/linux/drivers/crypto/vmx/ghashp8-ppc.pl line 45. # /linux/drivers/crypto/vmx/Makefile:20: recipe for target 'drivers/crypto/vmx/ghashp8-ppc.S' failed # # Which shows that we passed an empty value for $(TARGET) to the perl # script, confirmed with make V=1: # # perl /linux/drivers/crypto/vmx/ghashp8-ppc.pl > drivers/crypto/vmx/ghashp8-ppc.S # # We can avoid this confusion by using override, to tell make that we # don't want anything to override our variable, even a value specified # on the command line. We can also use a less common name, given the # script calls it "flavour", let's use that. # # Signed-off-by: Michael Ellerman # Signed-off-by: Herbert Xu # < /opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux-ld --version # < git log --format=%s --max-count=1 4ee812f6143d78d8ba1399671d78c8d78bf2817c # < make -s -j 32 ARCH=powerpc O=/kisskb/build/crypto_powernv_defconfig_ppc64le-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- powernv_defconfig # make -s -j 32 ARCH=powerpc O=/kisskb/build/crypto_powernv_defconfig_ppc64le-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- In file included from /kisskb/src/include/linux/list.h:9:0, from /kisskb/src/include/linux/wait.h:7, from /kisskb/src/include/linux/wait_bit.h:8, from /kisskb/src/include/linux/fs.h:6, from /kisskb/src/fs/btrfs/send.c:7: /kisskb/src/fs/btrfs/send.c: In function 'process_extent': /kisskb/src/include/linux/kernel.h:37:33: warning: 'clone_src_i_size' may be used uninitialized in this function [-Wmaybe-uninitialized] #define IS_ALIGNED(x, a) (((x) & ((typeof(x))(a) - 1)) == 0) ^ /kisskb/src/fs/btrfs/send.c:5088:6: note: 'clone_src_i_size' was declared here u64 clone_src_i_size; ^ WARNING: vmlinux.o(.text+0x2fc8): Section mismatch in reference from the variable start_here_common to the function .init.text:start_kernel() The function start_here_common() references the function __init start_kernel(). This is often because start_here_common lacks a __init annotation or the annotation of start_kernel is wrong. Completed OK # rm -rf /kisskb/build/crypto_powernv_defconfig_ppc64le-gcc5 # Build took: 0:03:15.563243