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

--- Comment #3 from Bill Seurer <seurer at linux dot vnet.ibm.com> ---
Running f951 directly via gdb on a power 9 LE system I see:

(gdb) run /home/seurer/gcc/git/gcc-test/gcc/testsuite/gfortran.dg/pr95090.f90
-quiet -dumpbase pr95090.f90 -dumpbase-ext .f90 -mcpu=power9 -O -version
-fdiagnostics-color=never -fdiagnostics-urls=never -fno-diagnostics-show-caret
-fno-diagnostics-show-line-numbers -fdiagnostics-urls=never -fcoarray=lib
-fsecond-underscore -o pr95090.s -fintrinsic-modules-path finclude
Starting program: /home3/seurer/gcc/git/build/gcc-test/gcc/f951
/home/seurer/gcc/git/gcc-test/gcc/testsuite/gfortran.dg/pr95090.f90 -quiet
-dumpbase pr95090.f90 -dumpbase-ext .f90 -mcpu=power9 -O -version
-fdiagnostics-color=never -fdiagnostics-urls=never -fno-diagnostics-show-caret
-fno-diagnostics-show-line-numbers -fdiagnostics-urls=never -fcoarray=lib
-fsecond-underscore -o pr95090.s -fintrinsic-modules-path finclude
GNU Fortran (GCC) version 11.0.0 20200604 (experimental) [remotes/origin/HEAD
revision 0ddb93ce7:d48b471b9:7ece3bd8088983289731450826c238eb2bdd2db5]
(powerpc64le-unknown-linux-gnu)
        compiled by GNU C version 7.4.0, GMP version 6.1.0, MPFR version 3.1.4,
MPC version 1.0.3, isl version isl-0.18-GMP

GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
GNU Fortran2008 (GCC) version 11.0.0 20200604 (experimental)
[remotes/origin/HEAD revision
0ddb93ce7:d48b471b9:7ece3bd8088983289731450826c238eb2bdd2db5]
(powerpc64le-unknown-linux-gnu)
        compiled by GNU C version 7.4.0, GMP version 6.1.0, MPFR version 3.1.4,
MPC version 1.0.3, isl version isl-0.18-GMP

GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
*** buffer overflow detected ***: /home3/seurer/gcc/git/build/gcc-test/gcc/f951
terminated

Program received signal SIGABRT, Aborted.
0x00007ffff7bfe98c in __libc_signal_restore_set (set=0x7fffffffd488) at
../sysdeps/unix/sysv/linux/nptl-signals.h:80
80      ../sysdeps/unix/sysv/linux/nptl-signals.h: No such file or directory.
(gdb) where
#0  0x00007ffff7bfe98c in __libc_signal_restore_set (set=0x7fffffffd488) at
../sysdeps/unix/sysv/linux/nptl-signals.h:80
#1  __GI_raise (sig=<optimized out>) at ../sysdeps/unix/sysv/linux/raise.c:48
#2  0x00007ffff7c00be0 in __GI_abort () at abort.c:79
#3  0x00007ffff7c508fc in __libc_message (action=<optimized out>,
fmt=<optimized out>) at ../sysdeps/posix/libc_fatal.c:181
#4  0x00007ffff7d24d74 in __GI___fortify_fail_abort (need_backtrace=true,
msg=<optimized out>) at fortify_fail.c:33
#5  0x00007ffff7d24e10 in __GI___fortify_fail (msg=<optimized out>) at
fortify_fail.c:44
#6  0x00007ffff7d21680 in __GI___chk_fail () at chk_fail.c:28
#7  0x00007ffff7d203e4 in __strcpy_chk (dest=0x7fffffffda98
"t2345678901234567890123456789012345678901234567890123456789_123",
src=0x7ffff5c40360
"pdtt2345678901234567890123456789012345678901234567890123456789_123",
destlen=64)
    at strcpy_chk.c:30
#8  0x0000000010289c7c in strcpy (__src=<optimized out>, __dest=0x7fffffffda98
"t2345678901234567890123456789012345678901234567890123456789_123") at
/usr/include/powerpc64le-linux-gnu/bits/string_fortified.h:90
#9  gfc_match_decl_type_spec (ts=0x123ebdb0 <current_ts>,
implicit_flag=<optimized out>) at
/home/seurer/gcc/git/gcc-test/gcc/fortran/decl.c:4287
#10 0x000000001028b4b8 in gfc_match_data_decl () at
/home/seurer/gcc/git/gcc-test/gcc/fortran/decl.c:6119
#11 0x0000000010320974 in match_word (str=0x0, subr=<optimized out>,
old_locus=0x7fffffffde28) at
/home/seurer/gcc/git/gcc-test/gcc/fortran/parse.c:65
#12 0x0000000010324884 in decode_statement () at
/home/seurer/gcc/git/gcc-test/gcc/fortran/parse.c:376
#13 0x0000000010327368 in next_free () at
/home/seurer/gcc/git/gcc-test/gcc/fortran/parse.c:1279
#14 next_statement () at /home/seurer/gcc/git/gcc-test/gcc/fortran/parse.c:1511
#15 0x000000001032b604 in parse_spec (st=ST_NONE) at
/home/seurer/gcc/git/gcc-test/gcc/fortran/parse.c:3738
#16 0x000000001032e37c in parse_progunit (st=ST_NONE) at
/home/seurer/gcc/git/gcc-test/gcc/fortran/parse.c:5851
#17 0x000000001032e854 in parse_contained (module=1) at
/home/seurer/gcc/git/gcc-test/gcc/fortran/parse.c:5752
#18 0x000000001032ffa4 in parse_module () at
/home/seurer/gcc/git/gcc-test/gcc/fortran/parse.c:6125
#19 0x000000001033039c in gfc_parse_file () at
/home/seurer/gcc/git/gcc-test/gcc/fortran/parse.c:6428
#20 0x00000000103a4120 in gfc_be_parse_file () at
/home/seurer/gcc/git/gcc-test/gcc/fortran/f95-lang.c:212
#21 0x0000000010bdd974 in compile_file () at
/home/seurer/gcc/git/gcc-test/gcc/toplev.c:458
#22 0x0000000010249b34 in do_compile () at
/home/seurer/gcc/git/gcc-test/gcc/toplev.c:2302
#23 toplev::main (this=0x7fffffffe8a6, argc=<optimized out>, argv=<optimized
out>) at /home/seurer/gcc/git/gcc-test/gcc/toplev.c:2441
#24 0x000000001024c004 in main (argc=<optimized out>, argv=0x7fffffffecc8) at
/home/seurer/gcc/git/gcc-test/gcc/main.c:39

Reply via email to