https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120780

            Bug ID: 120780
           Summary: Missed __builtin_dynamic_object_size optimization(?)
           Product: gcc
           Version: 15.1.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: rguenth at gcc dot gnu.org
  Target Milestone: ---

Building the Linux kernel with GCC 15 reveals

gcc-15 -Wp,-MMD,net/mac80211/.cfg.o.d  -nostdinc -I./arch/x86/include
-I./arch/x86/include/generated -I./include -I./include
-I./arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I./include/uapi
-I./include/generated/uapi -include ./include/linux/compiler-version.h -include
./include/linux/kconfig.h -include ./include/linux/compiler_types.h
-D__KERNEL__ -std=gnu11 -fshort-wchar -funsigned-char -fno-common -fno-PIE
-fno-strict-aliasing -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx
-fcf-protection=branch -fno-jump-tables -m64 -falign-jumps=1 -falign-loops=1
-mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup
-march=x86-64 -mtune=generic -mno-red-zone -mcmodel=kernel
-mstack-protector-guard-reg=gs
-mstack-protector-guard-symbol=__ref_stack_chk_guard -Wno-sign-compare
-fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern
-mindirect-branch-register -mindirect-branch-cs-prefix
-mfunction-return=thunk-extern -fno-jump-tables -mharden-sls=all
-fpatchable-function-entry=16,16 -fno-delete-null-pointer-checks -O2
-fno-allow-store-data-races -fstack-protector-strong
-fzero-init-padding-bits=all -fno-stack-clash-protection -pg -mrecord-mcount
-mfentry -DCC_USING_FENTRY -fmin-function-alignment=16 -fdump-ipa-clones
-fstrict-flex-arrays=3 -fno-strict-overflow -fno-stack-check -fconserve-stack
-fno-builtin-wcslen -Wall -Wextra -Wundef -Werror=implicit-function-declaration
-Werror=implicit-int -Werror=return-type -Werror=strict-prototypes
-Wno-format-security -Wno-trigraphs -Wno-frame-address
-Wno-address-of-packed-member -Wmissing-declarations -Wmissing-prototypes
-Wframe-larger-than=2048 -Wno-main -Wno-dangling-pointer -Wvla
-Wno-pointer-sign -Wcast-function-type -Wno-unterminated-string-initialization
-Wno-array-bounds -Wno-stringop-overflow -Wno-alloc-size-larger-than
-Wimplicit-fallthrough=5 -Werror=date-time -Werror=incompatible-pointer-types
-Werror=designated-init -Wenum-conversion -Wunused -Wno-unused-but-set-variable
-Wno-unused-const-variable -Wno-packed-not-aligned -Wno-format-overflow
-Wno-format-truncation -Wno-stringop-truncation -Wno-override-init
-Wno-missing-field-initializers -Wno-type-limits -Wno-shift-negative-value
-Wno-maybe-uninitialized -Wno-sign-compare -Wno-unused-parameter -g -gdwarf-5
-DDEBUG  -DMODULE  -DKBUILD_BASENAME='"cfg"' -DKBUILD_MODNAME='"mac80211"'
-D__KBUILD_MODNAME=kmod_mac80211 -c -o net/mac80211/cfg.o net/mac80211/cfg.c
In file included from ./include/linux/string.h:392,
                 from ./include/linux/bitmap.h:13,
                 from ./include/linux/cpumask.h:12,
                 from ./arch/x86/include/asm/paravirt.h:21,
                 from ./arch/x86/include/asm/cpuid/api.h:57,
                 from ./arch/x86/include/asm/cpuid.h:6,
                 from ./arch/x86/include/asm/processor.h:19,
                 from ./arch/x86/include/asm/timex.h:5,
                 from ./include/linux/timex.h:67,
                 from ./include/linux/time32.h:13,
                 from ./include/linux/time.h:60,
                 from ./include/linux/skbuff.h:15,
                 from ./include/linux/if_ether.h:19,
                 from ./include/linux/ieee80211.h:19,
                 from net/mac80211/cfg.c:11:
In function ‘fortify_memcpy_chk’,
    inlined from ‘copy_mesh_setup’ at net/mac80211/cfg.c:2540:2,
    inlined from ‘ieee80211_join_mesh’ at net/mac80211/cfg.c:2693:8:
./include/linux/fortify-string.h:571:25: warning: call to
‘__write_overflow_field’ declared with attribute warning: detected write beyond
size of field (1st parameter); maybe use struct_group()? [-Wattribute-warning]
  571 |                         __write_overflow_field(p_size_field, size);
      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This does not happen with 14.

Reply via email to