# git rev-parse -q --verify cafa0010cd51fb711fdcb50fc55f394c5f167a0a^{commit} cafa0010cd51fb711fdcb50fc55f394c5f167a0a already have revision, skipping fetch # git checkout -q -f -B kisskb cafa0010cd51fb711fdcb50fc55f394c5f167a0a # git clean -qxdf # < git log -1 # commit cafa0010cd51fb711fdcb50fc55f394c5f167a0a # Author: Joe Perches # Date: Mon Aug 20 13:15:26 2018 -0700 # # Raise the minimum required gcc version to 4.6 # # Various architectures fail to build properly with older versions of the # gcc compiler. # # An example from Guenter Roeck in thread [1]: # > # > In file included from ./include/linux/mm.h:17:0, # > from ./include/linux/pid_namespace.h:7, # > from ./include/linux/ptrace.h:10, # > from arch/openrisc/kernel/asm-offsets.c:32: # > ./include/linux/mm_types.h:497:16: error: flexible array member in otherwise empty struct # > # > This is just an example with gcc 4.5.1 for or32. I have seen the problem # > with gcc 4.4 (for unicore32) as well. # # So update the minimum required version of gcc to 4.6. # # [1] https://lore.kernel.org/lkml/20180814170904.GA12768@roeck-us.net/ # # Miscellanea: # # - Update Documentation/process/changes.rst # # - Remove and consolidate version test blocks in compiler-gcc.h for # versions lower than 4.6 # # Signed-off-by: Joe Perches # Reviewed-by: Kees Cook # Reviewed-by: Nick Desaulniers # Signed-off-by: Linus Torvalds # < /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/hppa64-linux/bin/hppa64-linux-gcc --version # < git log --format=%s --max-count=1 cafa0010cd51fb711fdcb50fc55f394c5f167a0a # < make -s -j 8 ARCH=parisc O=/kisskb/build/linus_a500_defconfig_parisc64 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/hppa64-linux/bin/hppa64-linux- a500_defconfig # make -s -j 8 ARCH=parisc O=/kisskb/build/linus_a500_defconfig_parisc64 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/hppa64-linux/bin/hppa64-linux- :1335:2: warning: #warning syscall rseq not implemented [-Wcpp] /kisskb/src/fs/ext4/super.c: In function '__save_error_info': /kisskb/src/fs/ext4/super.c:344:2: warning: 'strncpy' specified bound 32 equals destination size [-Wstringop-truncation] strncpy(es->s_last_error_func, func, sizeof(es->s_last_error_func)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/fs/ext4/super.c:349:3: warning: 'strncpy' specified bound 32 equals destination size [-Wstringop-truncation] strncpy(es->s_first_error_func, func, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sizeof(es->s_first_error_func)); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /kisskb/src/arch/parisc/include/asm/atomic.h:10, from /kisskb/src/include/linux/atomic.h:7, from /kisskb/src/arch/parisc/include/asm/bitops.h:13, from /kisskb/src/include/linux/bitops.h:18, from /kisskb/src/include/linux/kernel.h:11, from /kisskb/src/include/linux/list.h:9, from /kisskb/src/include/linux/module.h:9, from /kisskb/src/drivers/scsi/scsi_debug.c:23: /kisskb/src/drivers/scsi/scsi_debug.c: In function 'resp_start_stop': /kisskb/src/arch/parisc/include/asm/cmpxchg.h:48:3: warning: value computed is not used [-Wunused-value] ((__typeof__(*(ptr)))__xchg((unsigned long)(x), (ptr), sizeof(*(ptr)))) /kisskb/src/arch/parisc/include/asm/atomic.h:78:30: note: in expansion of macro 'xchg' #define atomic_xchg(v, new) (xchg(&((v)->counter), new)) ^~~~ /kisskb/src/drivers/scsi/scsi_debug.c:1624:2: note: in expansion of macro 'atomic_xchg' atomic_xchg(&devip->stopped, stop); ^~~~~~~~~~~ In function '__xfs_xattr_put_listent', inlined from 'xfs_xattr_put_listent' at /kisskb/src/fs/xfs/xfs_xattr.c:204:2: /kisskb/src/fs/xfs/xfs_xattr.c:142:2: warning: 'strncpy' output may be truncated copying between 5 and 9 bytes from a string of length 9 [-Wstringop-truncation] strncpy(offset, prefix, prefix_len); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Completed OK # rm -rf /kisskb/build/linus_a500_defconfig_parisc64 # Build took: 0:01:45.970772