http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60024
Bug ID: 60024 Summary: global-buffer-overflow in init_regs_for_mode Product: gcc Version: 4.9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: rtl-optimization Assignee: unassigned at gcc dot gnu.org Reporter: hjl.tools at gmail dot com When GCC is bootstrapped with --with-build-config=bootstrap-asan r207375 gave spawn -ignore SIGHUP /export/build/gnu/gcc-asan/build-x86_64-linux/gcc/testsuite/gfortran3/../../gfortran -B/export/build/gnu/gcc-asan/build-x86_64-linux/gcc/testsuite/gfortran3/../../ -B/export/build/gnu/gcc-asan/build-x86_64-linux/x86_64-unknown-linux-gnu/32/libgfortran/ /export/gnu/import/git/sources/gcc/gcc/testsuite/gfortran.dg/pr42294.f -fno-diagnostics-show-caret -fdiagnostics-color=never -O -O2 -fselective-scheduling2 -fsel-sched-pipelining -funroll-all-loops -S -m32 -o pr42294.s^M =================================================================^M ^[[1m^[[31m==9831==ERROR: AddressSanitizer: global-buffer-overflow on address 0x000003deb6cd at pc 0x12f89cf bp 0x7ffffba71eb0 sp 0x7ffffba71ea8^M ^[[1m^[[0m^[[1m^[[34mREAD of size 1 at 0x000003deb6cd thread T0^[[1m^[[0m^M #0 0x12f89ce in init_regs_for_mode /export/gnu/import/git/sources/gcc/gcc/sel-sched.c:1124^M #1 0x12f89ce in mark_unavailable_hard_regs /export/gnu/import/git/sources/gcc/gcc/sel-sched.c:1292^M #2 0x12f89ce in find_used_regs /export/gnu/import/git/sources/gcc/gcc/sel-sched.c:3336^M #3 0x12f89ce in collect_unavailable_regs_from_bnds /export/gnu/import/git/sources/gcc/gcc/sel-sched.c:1630^M #4 0x12f89ce in find_best_reg_for_expr /export/gnu/import/git/sources/gcc/gcc/sel-sched.c:1693^M #5 0x12f89ce in fill_vec_av_set /export/gnu/import/git/sources/gcc/gcc/sel-sched.c:3853^M #6 0x12ff673 in fill_ready_list /export/gnu/import/git/sources/gcc/gcc/sel-sched.c:4083^M #7 0x12ff673 in find_best_expr /export/gnu/import/git/sources/gcc/gcc/sel-sched.c:4446^M #8 0x12ff673 in fill_insns /export/gnu/import/git/sources/gcc/gcc/sel-sched.c:5613^M #9 0x12ff673 in schedule_on_fences /export/gnu/import/git/sources/gcc/gcc/sel-sched.c:7434^M #10 0x12ff673 in sel_sched_region_2 /export/gnu/import/git/sources/gcc/gcc/sel-sched.c:7568^M #11 0x130bb8e in sel_sched_region_1 /export/gnu/import/git/sources/gcc/gcc/sel-sched.c:7607^M #12 0x130bb8e in sel_sched_region(int) /export/gnu/import/git/sources/gcc/gcc/sel-sched.c:7708^M #13 0x130f731 in run_selective_scheduling() /export/gnu/import/git/sources/gcc/gcc/sel-sched.c:7784^M #14 0x12a5cb1 in rest_of_handle_sched2 /export/gnu/import/git/sources/gcc/gcc/sched-rgn.c:3650^M #15 0x12a5cb1 in execute /export/gnu/import/git/sources/gcc/gcc/sched-rgn.c:3769^M #16 0x11768e4 in execute_one_pass(opt_pass*) /export/gnu/import/git/sources/gcc/gcc/passes.c:2229^M #17 0x11772c8 in execute_pass_list(opt_pass*) /export/gnu/import/git/sources/gcc/gcc/passes.c:2282^M #18 0x11772ee in execute_pass_list(opt_pass*) /export/gnu/import/git/sources/gcc/gcc/passes.c:2283^M #19 0x11772ee in execute_pass_list(opt_pass*) /export/gnu/import/git/sources/gcc/gcc/passes.c:2283^M #20 0xa71cfa in expand_function /export/gnu/import/git/sources/gcc/gcc/cgraphunit.c:1774^M #21 0xa770da in expand_all_functions /export/gnu/import/git/sources/gcc/gcc/cgraphunit.c:1908^M #22 0xa770da in compile() /export/gnu/import/git/sources/gcc/gcc/cgraphunit.c:2252^M #23 0xa7898a in finalize_compilation_unit() /export/gnu/import/git/sources/gcc/gcc/cgraphunit.c:2329^M #24 0xffd1e0 in write_global_declarations() /export/gnu/import/git/sources/gcc/gcc/langhooks.c:323^M #25 0x1367834 in compile_file /export/gnu/import/git/sources/gcc/gcc/toplev.c:562^M #26 0x136c7a3 in do_compile /export/gnu/import/git/sources/gcc/gcc/toplev.c:1914^M #27 0x136c7a3 in toplev_main(int, char**) /export/gnu/import/git/sources/gcc/gcc/toplev.c:1990^M #28 0x3743821ca4 in __libc_start_main (/lib64/libc.so.6+0x3743821ca4)^M #29 0x5d1e60 (/export/build/gnu/gcc-asan/build-x86_64-linux/gcc/f951+0x5d1e60)^M ^M ^[[1m^[[32m0x000003deb6cd is located 51 bytes to the left of global variable 'default_target_regs' from '/export/gnu/import/git/sources/gcc/gcc/reginfo.c' (0x3deb700) of size 20488^M ^[[1m^[[0m^[[1m^[[32m0x000003deb6cd is located 0 bytes to the right of global variable 'global_regs' from '/export/gnu/import/git/sources/gcc/gcc/reginfo.c' (0x3deb680) of size 77^M