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

            Bug ID: 127571
           Summary: UBSAN: signed integer overflow: 9223372036854775800 -
                    -32 cannot be represented in type 'long int' since
                    r17-4215-g492fbdbf99dc9d
           Product: gcc
           Version: 17.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: jamborm at gcc dot gnu.org
                CC: rguenth at gcc dot gnu.org
            Blocks: 63426
  Target Milestone: ---
              Host: x86_64-linux
            Target: x86_64-linux

$ UBSAN_OPTIONS="print_stacktrace=1:halt_on_error=1:abort_on_error=1"
/home/mjambor/gcc/mine/b-obj/gcc/xgcc -B/home/mjambor/gcc/mine/b-obj/gcc/
/home/mjambor/gcc/mine/src/gcc/testsuite/gcc.dg/tree-ssa/pr93582-11.c
-fdiagnostics-plain-output -O2 -fdump-tree-fre1 -S -o pr93582-11.s

  /home/mjambor/gcc/mine/src/gcc/tree-ssa-sccvn.cc:2084:45: runtime error:
signed integer overflow: 9223372036854775800 - -32 cannot be represented in
type 'long int'
    #0 0x00000391f4a1 in vn_walk_cb_data::push_partial_def(pd_data, int, int,
long, long) /home/mjambor/gcc/mine/src/gcc/tree-ssa-sccvn.cc:2084
    #1 0x000003946c0e in vn_reference_lookup_3
/home/mjambor/gcc/mine/src/gcc/tree-ssa-sccvn.cc:3174
    #2 0x00000347d1f7 in walk_non_aliased_vuses(ao_ref*, tree_node*, bool,
void* (*)(ao_ref*, tree_node*, void*), void* (*)(ao_ref*, tree_node*, void*,
translate_flags*), bool (*)(edge_def*,
void*), tree_node* (*)(tree_node*), unsigned int&, void*)
/home/mjambor/gcc/mine/src/gcc/tree-ssa-alias.cc:4000
    #3 0x0000039232ee in vn_reference_lookup(tree_node*, tree_node*,
vn_lookup_kind, vn_reference_s**, bool, tree_node**, tree_node*, bool)
/home/mjambor/gcc/mine/src/gcc/tree-ssa-sccvn.cc:4335
    #4 0x0000039313c3 in visit_reference_op_load
/home/mjambor/gcc/mine/src/gcc/tree-ssa-sccvn.cc:6240
    #5 0x0000039313c3 in visit_stmt
/home/mjambor/gcc/mine/src/gcc/tree-ssa-sccvn.cc:6758
    #6 0x000003933536 in process_bb
/home/mjambor/gcc/mine/src/gcc/tree-ssa-sccvn.cc:8623
    #7 0x0000039391de in do_rpo_vn_1
/home/mjambor/gcc/mine/src/gcc/tree-ssa-sccvn.cc:9097
    #8 0x000003944e81 in execute
/home/mjambor/gcc/mine/src/gcc/tree-ssa-sccvn.cc:9372
    #9 0x000002855c90 in execute_one_pass(opt_pass*)
/home/mjambor/gcc/mine/src/gcc/passes.cc:2646
    #10 0x000002858dd3 in execute_pass_list_1
/home/mjambor/gcc/mine/src/gcc/passes.cc:2757
    #11 0x000002858e1a in execute_pass_list_1
/home/mjambor/gcc/mine/src/gcc/passes.cc:2758
    #12 0x000002858edb in execute_pass_list(function*, opt_pass*)
/home/mjambor/gcc/mine/src/gcc/passes.cc:2768
    #13 0x00000285d652 in do_per_function_toporder(void (*)(function*, void*),
void*) /home/mjambor/gcc/mine/src/gcc/passes.cc:1785
    #14 0x00000285d652 in do_per_function_toporder(void (*)(function*, void*),
void*) /home/mjambor/gcc/mine/src/gcc/passes.cc:1748
    #15 0x00000285dcb7 in execute_ipa_pass_list(opt_pass*)
/home/mjambor/gcc/mine/src/gcc/passes.cc:3111
    #16 0x00000144ed02 in ipa_passes
/home/mjambor/gcc/mine/src/gcc/cgraphunit.cc:2244
    #17 0x00000144ed02 in symbol_table::compile()
/home/mjambor/gcc/mine/src/gcc/cgraphunit.cc:2367
    #18 0x00000144ed02 in symbol_table::compile()
/home/mjambor/gcc/mine/src/gcc/cgraphunit.cc:2343
    #19 0x00000145314a in symbol_table::finalize_compilation_unit()
/home/mjambor/gcc/mine/src/gcc/cgraphunit.cc:2626
    #20 0x000002ec3e29 in compile_file
/home/mjambor/gcc/mine/src/gcc/toplev.cc:482
    #21 0x000000c093b6 in do_compile
/home/mjambor/gcc/mine/src/gcc/toplev.cc:2228
    #22 0x000000c093b6 in toplev::main(int, char**)
/home/mjambor/gcc/mine/src/gcc/toplev.cc:2396
    #23 0x000000c0ca7a in main /home/mjambor/gcc/mine/src/gcc/main.cc:39
    #24 0x7f5ad922b53d in __libc_start_call_main (/lib64/libc.so.6+0x2b53d)
(BuildId: 47195f6690701978d2a63f09fb6c4101a75d3d0a)
    #25 0x7f5ad922b66a in __libc_start_main_alias_2 (/lib64/libc.so.6+0x2b66a)
(BuildId: 47195f6690701978d2a63f09fb6c4101a75d3d0a)
    #26 0x000000c0d784 in _start ../sysdeps/x86_64/start.S:115

  during GIMPLE pass: fre
  dump file: pr93582-11.c.044t.fre1
  /home/mjambor/gcc/mine/src/gcc/testsuite/gcc.dg/tree-ssa/pr93582-11.c: In
function 'foo':
  /home/mjambor/gcc/mine/src/gcc/testsuite/gcc.dg/tree-ssa/pr93582-11.c:16:1:
internal compiler error: Aborted
  0x8d3464f internal_error(char const*, ...)
          /home/mjambor/gcc/mine/src/gcc/diagnostic-global-context.cc:787
  0x2ec1c86 crash_signal
          /home/mjambor/gcc/mine/src/gcc/toplev.cc:325
  0xc04f84 __sanitizer::Abort()
         
/home/mjambor/gcc/mine/src/libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cpp:165
  0x92240bb __sanitizer::Die()
         
/home/mjambor/gcc/mine/src/libsanitizer/sanitizer_common/sanitizer_termination.cpp:58
  0x9224bd9 __ubsan::ScopedReport::~ScopedReport()
          /home/mjambor/gcc/mine/src/libsanitizer/ubsan/ubsan_diag.cpp:402
  0x921a3c3 handleIntegerOverflowImpl<__ubsan::Value>
          /home/mjambor/gcc/mine/src/libsanitizer/ubsan/ubsan_handlers.cpp:231
  0x921deff __ubsan_handle_sub_overflow
          /home/mjambor/gcc/mine/src/libsanitizer/ubsan/ubsan_handlers.cpp:244
  0x391f4a1 vn_walk_cb_data::push_partial_def(pd_data, int, int, long, long)
          /home/mjambor/gcc/mine/src/gcc/tree-ssa-sccvn.cc:2084
  0x3946c0e vn_reference_lookup_3
          /home/mjambor/gcc/mine/src/gcc/tree-ssa-sccvn.cc:3174
  0x347d1f7 walk_non_aliased_vuses(ao_ref*, tree_node*, bool, void*
(*)(ao_ref*, tree_node*, void*), void* (*)(ao_ref*, tree_node*, void*,
translate_flags*), bool (*)(edge_def*, void*), tree _node* (*)(tree_node*),
unsigned int&, void*)
          /home/mjambor/gcc/mine/src/gcc/tree-ssa-alias.cc:4000
  0x39232ee vn_reference_lookup(tree_node*, tree_node*, vn_lookup_kind,
vn_reference_s**, bool, tree_node**, tree_node*, bool)
          /home/mjambor/gcc/mine/src/gcc/tree-ssa-sccvn.cc:4335
  0x39313c3 visit_reference_op_load
          /home/mjambor/gcc/mine/src/gcc/tree-ssa-sccvn.cc:6240
  0x39313c3 visit_stmt
          /home/mjambor/gcc/mine/src/gcc/tree-ssa-sccvn.cc:6758
  0x3933536 process_bb
          /home/mjambor/gcc/mine/src/gcc/tree-ssa-sccvn.cc:8623
  0x39391de do_rpo_vn_1
          /home/mjambor/gcc/mine/src/gcc/tree-ssa-sccvn.cc:9097
  0x3944e81 execute
          /home/mjambor/gcc/mine/src/gcc/tree-ssa-sccvn.cc:9372


The previous commit does not have this isse.

For the record, the UBSAN instrumented GCC was built by configuring it with

  ../src/configure --prefix=/home/mjambor/gcc/mine/inst
--enable-languages=c,c++ --enable-checking=release --disable-multilib
--enable-host-shared --with-build-config=bootstrap-ubsan --disable-libgomp


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63426
[Bug 63426] [meta-bug] Issues found with -fsanitize=undefined

Reply via email to