6e1106b4a9
gcc-11 warns about what appears to be an out-of-range array access but stop the build due to -Werror added to cflags: arch/sparc/kernel/mdesc.c: In function 'mdesc_node_by_name': arch/sparc/kernel/mdesc.c:647:22: error: 'strcmp' reading 1 or more bytes from a region of size 0 [-Werror=stringop-overread] 647 | if (!strcmp(names + ep[ret].name_offset, name)) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ arch/sparc/kernel/mdesc.c:77:33: note: at offset 16 into source object 'mdesc' of size 16 77 | struct mdesc_hdr mdesc; | ^~~~~ arch/sparc/kernel/mdesc.c: In function 'mdesc_get_property': arch/sparc/kernel/mdesc.c:692:22: error: 'strcmp' reading 1 or more bytes from a region of size 0 [-Werror=stringop-overread] 692 | if (!strcmp(names + ep->name_offset, name)) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ arch/sparc/kernel/mdesc.c:77:33: note: at offset 16 into source object 'mdesc' of size 16 77 | struct mdesc_hdr mdesc; | ^~~~~ arch/sparc/kernel/mdesc.c: In function 'mdesc_next_arc': arch/sparc/kernel/mdesc.c:719:21: error: 'strcmp' reading 1 or more bytes from a region of size 0 [-Werror=stringop-overread] 719 | if (strcmp(names + ep->name_offset, arc_type)) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ arch/sparc/kernel/mdesc.c:77:33: note: at offset 16 into source object 'mdesc' of size 16 77 | struct mdesc_hdr mdesc; | ^~~~~ cc1: all warnings being treated as errors The issue was initially reported to gcc [1] where it was analized. As suggested, change the struct mdesc_elem * accesses from the end of mdesc to those from the beginning of the data array. Update the prototype of node_block(), name_block() and data_block() since the code really seems to want to do is to compute the address somewhere into the chunk pointed to by hp. [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100262 Upstream status: Pending https://www.spinics.net/lists/sparclinux/msg26385.html Signed-off-by: Romain Naour <romain.naour@gmail.com> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
32 lines
743 B
Plaintext
32 lines
743 B
Plaintext
# Architecture
|
|
BR2_sparc64=y
|
|
BR2_sparc_v9=y
|
|
|
|
# Patches
|
|
BR2_GLOBAL_PATCH_DIR="board/qemu/sparc64-sun4u/patches"
|
|
|
|
# System
|
|
BR2_SYSTEM_DHCP="eth0"
|
|
|
|
# Filesystem
|
|
BR2_TARGET_ROOTFS_EXT2=y
|
|
# BR2_TARGET_ROOTFS_TAR is not set
|
|
|
|
# Image
|
|
BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh"
|
|
BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)"
|
|
|
|
# Linux headers same as kernel, a 5.10 series
|
|
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y
|
|
|
|
# Linux kernel
|
|
BR2_LINUX_KERNEL=y
|
|
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
|
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.7"
|
|
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
|
|
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/sparc64-sun4u/linux.config"
|
|
|
|
# host-qemu for gitlab testing
|
|
BR2_PACKAGE_HOST_QEMU=y
|
|
BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y
|