Many fortran tests, like libgfortran.dg/arrayio_9.f90 and
libgfortran.dg/arrayio_10.f90 are failing on IA64 because the IO library is
reading and writing double values to unaligned addresses.
In gdb I see:
(gdb) r
Starting program: /proj/opensrc/nightly/build-ia64-hp-hpux11.23-trunk/x
Program received signal SIGBUS, Bus error
si_code: 1 - BUS_ADRALN - Invalid address alignment.
0x9fffffffbd717700:0 in *_gfortrani_convert_real (dtp=0x9fffffffffffef80,
dest=0x9ffffffffffff07c, buffer=0x6000000000021de0 "1", length=8)
at /proj/opensrc/nightly/src/trunk/libgfortran/io/read.c:154
154 *((GFC_REAL_8*) dest) = strtod (buffer, NULL);
The dest address is not 8 byte aligned which is what is required for writing a
double out to memory on IA64 due to its strong alignment requirement.
--
Summary: Fortran IO using unaligned accesses to read/write
doubles.
Product: gcc
Version: 4.5.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: libfortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: sje at cup dot hp dot com
GCC target triplet: ia64-hp-hpux11.23
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39665