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, [EMAIL PROTECTED],
    [EMAIL PROTECTED], r2=0x800003fffeff0830, [EMAIL PROTECTED],
    [EMAIL PROTECTED], r3=0x800003fffeff0818, [EMAIL PROTECTED],
    [EMAIL PROTECTED])
    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, [EMAIL PROTECTED],
    [EMAIL PROTECTED], r2=0x800003fffeff0830, [EMAIL PROTECTED],
    [EMAIL PROTECTED], r3=0x800003fffeff0818, [EMAIL PROTECTED],
    [EMAIL PROTECTED])
    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

Reply via email to