[Bug fortran/19338] New: [4.0 Regression] FAIL: gfortran.dg/g77/980628-0.f -O0 execution test
danglin at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Sat Jan 8 21:36:00 GMT 2005
This failure is caused by a misaligned floating point load on
hppa64-hp-hpux11.11:
(gdb) r
Starting program: /test/gnu/gcc-3.3/objdir/gcc/testsuite/980628-0.exe
Program received signal SIGBUS, Bus error.
0x40000000000027ec in x_ (r1=0x800003fffeff0848, d1=@0x800003fffeff084c,
i1=@0x800003fffeff0860, r2=0x800003fffeff0830, d2=@0x800003fffeff0834,
i2=@0x800003fffeff0868, r3=0x800003fffeff0818, d3=@0x800003fffeff081c,
i3=@0x800003fffeff0864)
at /test/gnu/gcc-3.3/gcc/gcc/testsuite/gfortran.dg/g77/980628-0.f:47
47 if (d1 .ne. 10.) call abort
Current language: auto; currently fortran
(gdb) disass 0x40000000000027dc 0x40000000000027fc
Dump of assembler code from 0x40000000000027dc to 0x40000000000027fc:
0x40000000000027dc <x_+148>: nop
0x40000000000027e0 <x_+152>: copy r4,dp
0x40000000000027e4 <x_+156>: ldd 8(,r3),r31
0x40000000000027e8 <x_+160>: ldd 8(,r31),ret0
0x40000000000027ec <x_+164>: fldd 0(,ret0),fr23
0x40000000000027f0 <x_+168>: addil 0,dp,%r1
0x40000000000027f4 <x_+172>: ldd 78(r1),ret0
0x40000000000027f8 <x_+176>: fldd 0(,ret0),fr22
End of assembler dump.
(gdb) p/x $ret0
$1 = 0x800003fffeff084c
The register $ret0 needs to be 8-byte aligned for the fldd.
(gdb) bt
#0 0x40000000000027ec in x_ (r1=0x800003fffeff0848, d1=@0x800003fffeff084c,
i1=@0x800003fffeff0860, r2=0x800003fffeff0830, d2=@0x800003fffeff0834,
i2=@0x800003fffeff0868, r3=0x800003fffeff0818, d3=@0x800003fffeff081c,
i3=@0x800003fffeff0864)
at /test/gnu/gcc-3.3/gcc/gcc/testsuite/gfortran.dg/g77/980628-0.f:47
#1 0x4000000000002730 in subr_ ()
at /test/gnu/gcc-3.3/gcc/gcc/testsuite/gfortran.dg/g77/980628-0.f:35
#2 0x40000000000024d0 in MAIN__ ()
at /test/gnu/gcc-3.3/gcc/gcc/testsuite/gfortran.dg/g77/980628-0.f:6
#3 0x4000000000002b4c in main (argc=-16840632, argv=0x800003fffeff084c)
at ../../../gcc/libgfortran/fmain.c:18
(gdb)
The same problem probably also causes the following fails:
FAIL: gfortran.dg/g77/980628-0.f -O0 execution test
FAIL: gfortran.dg/g77/980628-0.f -O1 execution test
FAIL: gfortran.dg/g77/980628-0.f -O2 execution test
FAIL: gfortran.dg/g77/980628-0.f -O3 -fomit-frame-pointer execution test
FAIL: gfortran.dg/g77/980628-0.f -O3 -fomit-frame-pointer -funroll-loops
execution test
FAIL: gfortran.dg/g77/980628-0.f -O3 -fomit-frame-pointer -funroll-all-loops -
finline-functions execution test
FAIL: gfortran.dg/g77/980628-0.f -O3 -g execution test
FAIL: gfortran.dg/g77/980628-0.f -Os execution test
FAIL: gfortran.dg/g77/980628-1.f -O0 execution test
FAIL: gfortran.dg/g77/980628-1.f -O1 execution test
FAIL: gfortran.dg/g77/980628-1.f -O2 execution test
FAIL: gfortran.dg/g77/980628-1.f -O3 -fomit-frame-pointer execution test
FAIL: gfortran.dg/g77/980628-1.f -O3 -fomit-frame-pointer -funroll-loops
execution test
FAIL: gfortran.dg/g77/980628-1.f -O3 -fomit-frame-pointer -funroll-all-loops -
finline-functions execution test
FAIL: gfortran.dg/g77/980628-1.f -O3 -g execution test
FAIL: gfortran.dg/g77/980628-1.f -Os execution test
FAIL: gfortran.dg/g77/980628-10.f -O0 execution test
FAIL: gfortran.dg/g77/980628-10.f -O1 execution test
FAIL: gfortran.dg/g77/980628-10.f -O2 execution test
FAIL: gfortran.dg/g77/980628-10.f -O3 -fomit-frame-pointer execution test
FAIL: gfortran.dg/g77/980628-10.f -O3 -fomit-frame-pointer -funroll-loops
execution test
FAIL: gfortran.dg/g77/980628-10.f -O3 -fomit-frame-pointer -funroll-all-loops -
finline-functions execution test
FAIL: gfortran.dg/g77/980628-10.f -O3 -g execution test
FAIL: gfortran.dg/g77/980628-10.f -Os execution test
FAIL: gfortran.dg/g77/980628-2.f -O0 execution test
FAIL: gfortran.dg/g77/980628-2.f -O1 execution test
FAIL: gfortran.dg/g77/980628-2.f -O2 execution test
FAIL: gfortran.dg/g77/980628-2.f -O3 -fomit-frame-pointer execution test
FAIL: gfortran.dg/g77/980628-2.f -O3 -fomit-frame-pointer -funroll-loops
execution test
FAIL: gfortran.dg/g77/980628-2.f -O3 -fomit-frame-pointer -funroll-all-loops -
finline-functions execution test
FAIL: gfortran.dg/g77/980628-2.f -O3 -g execution test
FAIL: gfortran.dg/g77/980628-2.f -Os execution test
FAIL: gfortran.dg/g77/980628-3.f -O0 execution test
FAIL: gfortran.dg/g77/980628-3.f -O1 execution test
FAIL: gfortran.dg/g77/980628-3.f -O2 execution test
FAIL: gfortran.dg/g77/980628-3.f -O3 -fomit-frame-pointer execution test
FAIL: gfortran.dg/g77/980628-3.f -O3 -fomit-frame-pointer -funroll-loops
execution test
FAIL: gfortran.dg/g77/980628-3.f -O3 -fomit-frame-pointer -funroll-all-loops -
finline-functions execution test
FAIL: gfortran.dg/g77/980628-3.f -O3 -g execution test
FAIL: gfortran.dg/g77/980628-3.f -Os execution test
FAIL: gfortran.dg/g77/980628-7.f -O0 execution test
FAIL: gfortran.dg/g77/980628-7.f -O1 execution test
FAIL: gfortran.dg/g77/980628-7.f -O2 execution test
FAIL: gfortran.dg/g77/980628-7.f -O3 -fomit-frame-pointer execution test
FAIL: gfortran.dg/g77/980628-7.f -O3 -fomit-frame-pointer -funroll-loops
execution test
FAIL: gfortran.dg/g77/980628-7.f -O3 -fomit-frame-pointer -funroll-all-loops -
finline-functions execution test
FAIL: gfortran.dg/g77/980628-7.f -O3 -g execution test
FAIL: gfortran.dg/g77/980628-7.f -Os execution test
FAIL: gfortran.dg/g77/980628-8.f -O0 execution test
FAIL: gfortran.dg/g77/980628-8.f -O1 execution test
FAIL: gfortran.dg/g77/980628-8.f -O2 execution test
FAIL: gfortran.dg/g77/980628-8.f -O3 -fomit-frame-pointer execution test
FAIL: gfortran.dg/g77/980628-8.f -O3 -fomit-frame-pointer -funroll-loops
execution test
FAIL: gfortran.dg/g77/980628-8.f -O3 -fomit-frame-pointer -funroll-all-loops -
finline-functions execution test
FAIL: gfortran.dg/g77/980628-8.f -O3 -g execution test
FAIL: gfortran.dg/g77/980628-8.f -Os execution test
FAIL: gfortran.dg/g77/980628-9.f -O0 execution test
FAIL: gfortran.dg/g77/980628-9.f -O1 execution test
FAIL: gfortran.dg/g77/980628-9.f -O2 execution test
FAIL: gfortran.dg/g77/980628-9.f -O3 -fomit-frame-pointer execution test
FAIL: gfortran.dg/g77/980628-9.f -O3 -fomit-frame-pointer -funroll-loops
execution test
FAIL: gfortran.dg/g77/980628-9.f -O3 -fomit-frame-pointer -funroll-all-loops -
finline-functions execution test
FAIL: gfortran.dg/g77/980628-9.f -O3 -g execution test
FAIL: gfortran.dg/g77/980628-9.f -Os execution test
The problem is caused by passing a misaligned pointer for the second
argument of x_:
Breakpoint 1, x_ (r1=Cannot access memory at address 0x40400000403e0000
)
at /test/gnu/gcc-3.3/gcc/gcc/testsuite/gfortran.dg/g77/980628-0.f:39
39 subroutine x (r1, d1, i1, r2, d2, i2, r3, d3, i3)
(gdb) p/x $r25
$4 = 0x800003fffeff084c
--
Summary: [4.0 Regression] FAIL: gfortran.dg/g77/980628-0.f -O0
execution test
Product: gcc
Version: 4.0.0
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: danglin at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org
GCC build triplet: hppa*-*-hpux*
GCC host triplet: hppa*-*-hpux*
GCC target triplet: hppa*-*-hpux*
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19338
More information about the Gcc-bugs
mailing list