# git rev-parse -q --verify 26a7f2efa8557bc235ef632d477b1aef6612bbc8^{commit} 26a7f2efa8557bc235ef632d477b1aef6612bbc8 already have revision, skipping fetch # git checkout -q -f -B kisskb 26a7f2efa8557bc235ef632d477b1aef6612bbc8 # git clean -qxdf # git log -1 commit 26a7f2efa8557bc235ef632d477b1aef6612bbc8 Author: Segher Boessenkool Date: Wed Feb 28 17:02:49 2018 -0800 powerpc: Keep const vars out of writable .sdata Newer gcc will support "-mno-readonly-in-sdata"[1], which makes sure that the optimization on PPC32 for variables getting moved into the .sdata section will not apply to const variables (which must be in .rodata). This was originally noticed in mm/rodata_test.c when rodata_test_data was not static: c0695034 g O .data 00000004 rodata_test_data After this patch with an updated compiler, this is correctly in .rodata. [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82411 Reported-by: Christophe Leroy Signed-off-by: Segher Boessenkool Signed-off-by: Kees Cook Signed-off-by: Michael Ellerman # < /opt/cross/kisskb/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux-gcc --version # < git log --format=%s --max-count=1 26a7f2efa8557bc235ef632d477b1aef6612bbc8 # < make -s -j 10 ARCH=powerpc O=/kisskb/build/powerpc-next_ppc64_defconfig+NO_ALTIVEC_powerpc CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux- ppc64_defconfig # Added to kconfig CONFIG_ALTIVEC=n # Added to kconfig CONFIG_PPC_TRANSACTIONAL_MEM=n # yes \n | make -s -j 10 ARCH=powerpc O=/kisskb/build/powerpc-next_ppc64_defconfig+NO_ALTIVEC_powerpc CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux- oldconfig yes: standard output: Broken pipe yes: write error # make -s -j 10 ARCH=powerpc O=/kisskb/build/powerpc-next_ppc64_defconfig+NO_ALTIVEC_powerpc CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux- /kisskb/src/arch/powerpc/kvm/powerpc.c: In function 'kvm_arch_vcpu_ioctl_run': /kisskb/src/arch/powerpc/kvm/powerpc.c:1611:1: error: label 'out' defined but not used [-Werror=unused-label] cc1: all warnings being treated as errors /kisskb/src/scripts/Makefile.build:316: recipe for target 'arch/powerpc/kvm/powerpc.o' failed make[2]: *** [arch/powerpc/kvm/powerpc.o] Error 1 /kisskb/src/Makefile:1048: recipe for target 'arch/powerpc/kvm' failed make[1]: *** [arch/powerpc/kvm] Error 2 make[1]: *** Waiting for unfinished jobs.... /kisskb/src/kernel/cgroup/cgroup-v1.c: In function 'cgroup1_mount': /kisskb/src/kernel/cgroup/cgroup-v1.c:1268:20: warning: 'root' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/kernel/printk/printk.c: In function 'devkmsg_sysctl_set_loglvl': /kisskb/src/kernel/printk/printk.c:183:16: warning: 'old' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/mm/swap_state.c: In function '__add_to_swap_cache': /kisskb/src/mm/swap_state.c:135:5: warning: 'error' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/mm/hugetlb.c: In function 'alloc_pool_huge_page': /kisskb/src/mm/hugetlb.c:1439:5: warning: 'page' may be used uninitialized in this function [-Wuninitialized] Makefile:146: recipe for target 'sub-make' failed make: *** [sub-make] Error 2 Command 'make -s -j 10 ARCH=powerpc O=/kisskb/build/powerpc-next_ppc64_defconfig+NO_ALTIVEC_powerpc CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux- ' returned non-zero exit status 2 # rm -rf /kisskb/build/powerpc-next_ppc64_defconfig+NO_ALTIVEC_powerpc # Build took: 0:00:32.269022