# git rev-parse -q --verify 4620a06e4b3c5d076feb9a42ab43dce77c385358^{commit} 4620a06e4b3c5d076feb9a42ab43dce77c385358 already have revision, skipping fetch # git checkout -q -f -B kisskb 4620a06e4b3c5d076feb9a42ab43dce77c385358 # git clean -qxdf # git log -1 commit 4620a06e4b3c5d076feb9a42ab43dce77c385358 Author: Geert Uytterhoeven Date: Wed Aug 3 19:58:19 2016 +0200 shmem: Fix link error if huge pages support is disabled If CONFIG_TRANSPARENT_HUGE_PAGECACHE=n, HPAGE_PMD_NR evaluates to BUILD_BUG_ON(), and may cause (e.g. with gcc 4.12): mm/built-in.o: In function `shmem_alloc_hugepage': shmem.c:(.text+0x17570): undefined reference to `__compiletime_assert_1365' To fix this, move the assignment to hindex after the check for huge pages support. Fixes: 800d8c63b2e9 ("shmem: add huge pages support") Signed-off-by: Geert Uytterhoeven Acked-by: Kirill A. Shutemov Cc: Andrew Morton Signed-off-by: Linus Torvalds # < /opt/cross/kisskb/gcc-4.6.3-nolibc/x86_64-linux/bin/x86_64-linux-gcc --version # < git log --format=%s --max-count=1 4620a06e4b3c5d076feb9a42ab43dce77c385358 # < make -j 8 ARCH=x86_64 O=/home/kisskb/slave/build/linus_x86_64-randconfig_x86_64 CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/x86_64-linux/bin/x86_64-linux- randconfig KCONFIG_SEED=0x344DA0A6 # Added to kconfig CONFIG_STANDALONE=y # Added to kconfig CONFIG_PREVENT_FIRMWARE_BUILD=y # yes \n | make -j 8 ARCH=x86_64 O=/home/kisskb/slave/build/linus_x86_64-randconfig_x86_64 CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/x86_64-linux/bin/x86_64-linux- oldconfig yes: standard output: Broken pipe yes: write error # make -j 8 ARCH=x86_64 O=/home/kisskb/slave/build/linus_x86_64-randconfig_x86_64 CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/x86_64-linux/bin/x86_64-linux- make[1]: Entering directory '/home/kisskb/slave/build/linus_x86_64-randconfig_x86_64' GEN ./Makefile scripts/kconfig/conf --silentoldconfig Kconfig scripts/Makefile.gcc-plugins:17: warning: cannot use CONFIG_KCOV: -fsanitize-coverage=trace-pc is not supported by compiler ++ dirname /home/kisskb/slave/src/scripts/gcc-plugin.sh + srctree=/home/kisskb/slave/src/scripts ++ /opt/cross/kisskb/gcc-4.6.3-nolibc/x86_64-linux/bin/x86_64-linux-gcc -print-file-name=plugin + gccplugins_dir=/opt/cross/gcc-4.6.3-nolibc/x86_64-linux/lib/gcc/x86_64-linux/4.6.3/plugin ++ gcc -E -x c++ - -o /dev/null -I/home/kisskb/slave/src/scripts/gcc-plugins -I/opt/cross/gcc-4.6.3-nolibc/x86_64-linux/lib/gcc/x86_64-linux/4.6.3/plugin/include + plugincc='gcc: error trying to exec '\''cc1plus'\'': execvp: No such file or directory' + '[' 1 -ne 0 ']' + exit 1 scripts/Makefile.gcc-plugins:30: warning: your gcc installation does not support plugins, perhaps the necessary headers are missing? SYSTBL arch/x86/entry/syscalls/../../include/generated/asm/syscalls_32.h SYSHDR arch/x86/entry/syscalls/../../include/generated/asm/unistd_32_ia32.h SYSHDR arch/x86/entry/syscalls/../../include/generated/asm/unistd_64_x32.h SYSHDR arch/x86/entry/syscalls/../../include/generated/uapi/asm/unistd_32.h SYSHDR arch/x86/entry/syscalls/../../include/generated/uapi/asm/unistd_64.h SYSTBL arch/x86/entry/syscalls/../../include/generated/asm/syscalls_64.h CHK include/config/kernel.release HOSTCC scripts/basic/bin2c SYSHDR arch/x86/entry/syscalls/../../include/generated/uapi/asm/unistd_x32.h Cannot use CONFIG_CC_STACKPROTECTOR_REGULAR: -fstack-protector not supported by compiler /home/kisskb/slave/src/Makefile:1055: recipe for target 'prepare-compiler-check' failed make[1]: *** [prepare-compiler-check] Error 1 make[1]: *** Waiting for unfinished jobs.... UPD include/config/kernel.release make[1]: *** wait: No child processes. Stop. Makefile:150: recipe for target 'sub-make' failed make: *** [sub-make] Error 2 Command 'make -j 8 ARCH=x86_64 O=/home/kisskb/slave/build/linus_x86_64-randconfig_x86_64 CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/x86_64-linux/bin/x86_64-linux- ' returned non-zero exit status 2 # rm -rf /home/kisskb/slave/build/linus_x86_64-randconfig_x86_64 # Build took: 0:00:05.335878