On 5/9/22 09:37, Jakub Jelinek via Gcc-patches wrote: > On Mon, May 09, 2022 at 01:02:07PM +0530, Siddhesh Poyarekar wrote: >> On 07/02/2022 17:37, Jakub Jelinek wrote: >>> On Mon, Feb 07, 2022 at 05:31:58PM +0530, Siddhesh Poyarekar wrote: >>>> Use __builtin_dynamic_object_size to get object sizes for ubsan. >>>> >>>> gcc/ChangeLog: >>>> >>>> middle-end/70090 >>>> * ubsan.cc (ubsan_expand_objsize_ifn): Allow non-constant SIZE. >>>> (instrument_object_size): Get dynamic object size expression. >>>> >>>> gcc/testsuite/ChangeLog: >>>> >>>> middle-end/70090 >>>> * gcc.dg/ubsan/object-size-dyn.c: New test. >>>> >>>> Signed-off-by: Siddhesh Poyarekar <siddh...@gotplt.org> >>>> --- >>>> Proposing for gcc13 since I reckoned this is not feasible for stage 4. >>> >>> Ok for stage1. >>> >>> Jakub >>> >> >> Hi Jakub, may I rebase and push this now? > > Yes. > > Jakub >
Hi. The revision caused: $ ./xgcc -B. /home/marxin/Programming/gcc/gcc/testsuite/gfortran.dg/ubsan/bind-c-intent-out-2.f90 -fsanitize=undefined -c -O during GIMPLE pass: ubsan /home/marxin/Programming/gcc/gcc/testsuite/gfortran.dg/ubsan/bind-c-intent-out-2.f90:39:19: 39 | end program alloc_p | ^ internal compiler error: Segmentation fault 0x14b45c7 crash_signal /home/marxin/Programming/gcc/gcc/toplev.cc:322 0x7ffff78b83cf ??? /usr/src/debug/glibc-2.35-2.1.x86_64/signal/../sysdeps/unix/sysv/linux/x86_64/libc_sigaction.c:0 0xc2cf10 contains_struct_check(tree_node*, tree_node_structure_enum, char const*, int, char const*) /home/marxin/Programming/gcc/gcc/tree.h:3570 0x19100d1 build_call_expr_loc_array(unsigned int, tree_node*, int, tree_node**) /home/marxin/Programming/gcc/gcc/tree.cc:10629 0x19102ff build_call_expr_loc(unsigned int, tree_node*, int, ...) /home/marxin/Programming/gcc/gcc/tree.cc:10662 0x14f59a3 instrument_object_size /home/marxin/Programming/gcc/gcc/ubsan.cc:2173 0x14f6770 execute /home/marxin/Programming/gcc/gcc/ubsan.cc:2428 Please submit a full bug report, with preprocessed source (by using -freport-bug). Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions. Martin