This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/60024] global-buffer-overflow in init_regs_for_mode
- From: "hjl.tools at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sat, 01 Feb 2014 15:06:27 +0000
- Subject: [Bug rtl-optimization/60024] global-buffer-overflow in init_regs_for_mode
- Auto-submitted: auto-generated
- References: <bug-60024-4 at http dot gcc dot gnu dot org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60024
H.J. Lu <hjl.tools at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2014-02-01
CC| |abel at ispras dot ru
Target Milestone|--- |4.9.0
Ever confirmed|0 |1
--- Comment #1 from H.J. Lu <hjl.tools at gmail dot com> ---
(In reply to H.J. Lu from comment #0)
> 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
(gdb) call ix86_hard_regno_mode_ok (cur_reg, mode)
$6 = false
(gdb) p cur_reg
$7 = 76
(gdb) p mode
$8 = DFmode
(gdb) p nregs
$9 = 2
(gdb) call ix86_hard_regno_mode_ok (cur_reg, mode)
$10 = false
(gdb)