https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122137
John David Anglin <danglin at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |danglin at gcc dot gnu.org
--- Comment #5 from John David Anglin <danglin at gcc dot gnu.org> ---
We have the following fails on hppa64-hp-hpux11.11:
FAIL: gfortran.dg/pdt_46.f03 -O0 execution test
FAIL: gfortran.dg/pdt_46.f03 -O1 execution test
FAIL: gfortran.dg/pdt_46.f03 -O2 execution test
FAIL: gfortran.dg/pdt_46.f03 -O3 -fomit-frame-pointer -funroll-loops
-fpeel-lo
ops -ftracer -finline-functions execution test
FAIL: gfortran.dg/pdt_46.f03 -O3 -g execution test
FAIL: gfortran.dg/pdt_46.f03 -Os execution test
FAIL: gfortran.dg/pdt_77.f03 -O0 execution test
FAIL: gfortran.dg/pdt_77.f03 -O1 execution test
FAIL: gfortran.dg/pdt_77.f03 -O2 execution test
FAIL: gfortran.dg/pdt_77.f03 -O3 -fomit-frame-pointer -funroll-loops
-fpeel-lo
ops -ftracer -finline-functions execution test
FAIL: gfortran.dg/pdt_77.f03 -O3 -g execution test
FAIL: gfortran.dg/pdt_77.f03 -Os execution test
With pdt_46.exe compiled with -O0, we get a segmentation fault in the
7th call to free:
bash-5.1$ gdb pdt_46.exe
GNU gdb (GDB) 7.9.50.20150313-cvs
Copyright (C) 2015 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "hppa64-hp-hpux11.11".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from pdt_46.exe...done.
(gdb) break free
Function "free" not defined.
Make breakpoint pending on future shared library load? (y or [n]) y
Breakpoint 1 (free) pending.
(gdb) ignore 1 6
Will ignore next 6 crossings of breakpoint 1.
(gdb) r
Starting program: /home/dave/gnu/gcc/objdir64/gcc/testsuite/gfortran/pdt_46.exe
Breakpoint 1, 0x800003ffbfc3fbc8 in free () from /lib/pa20_64/libc.2
(gdb) bt
#0 0x800003ffbfc3fbc8 in free () from /lib/pa20_64/libc.2
#1 0x4000000000003324 in main2 ()
at /home/dave/gnu/gcc/gcc/gcc/testsuite/gfortran.dg/pdt_46.f03:52
#2 0x4000000000003a18 in test ()
at /home/dave/gnu/gcc/gcc/gcc/testsuite/gfortran.dg/pdt_46.f03:32
#3 0x400000000000436c in main (
argc=<error reading variable: Cannot access memory at address
0x4396000043c80000>,
argv=<error reading variable: Cannot access memory at address
0x4396000043c80008>) at
/home/dave/gnu/gcc/gcc/gcc/testsuite/gfortran.dg/pdt_46.f03:29
(gdb) p/x $r26
$1 = 0x4396000043c80000
(gdb) c
Continuing.
Program received signal SIGSEGV, Segmentation fault.
0x800003ffbfc3fd08 in free () from /lib/pa20_64/libc.2
The address passed to free in the 7th call lies in the code segment
and isn't writable.