[Bug fortran/54923] New: Internal unit I/O error when using -malign-double
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54923 Bug #: 54923 Summary: Internal unit I/O error when using -malign-double Classification: Unclassified Product: gcc Version: 4.6.3 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran AssignedTo: unassig...@gcc.gnu.org ReportedBy: gnu@gishpuppy.com Reading from of integer from character string fails with Fortran runtime error: Internal unit I/O error when compiling with -malign-double. Background: This occurred when using the usual getarg(1,arg) construct and linking against FFTW3, which requires data alignment. Minimal example: ___ PROGRAM readtest IMPLICIT NONE CHARACTER*8 arg INTEGER inputarg arg=" 1 " READ(arg,*) inputarg PRINT *,"Argument supplied was: ", inputarg RETURN END ___ Compiling with gfortran without data alignment yields the expected result. Compiling with -malign-double in the compiler options yields runtime error. Thank you.
[Bug fortran/54923] Internal unit I/O error when using -malign-double
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54923 --- Comment #3 from Drew 2012-10-31 03:54:56 UTC --- After some googling I have found that ABI means application binary interface and how this affects the problem, thank you. I would be happy if someone could direct me to a tutorial on how to maintain two different ABIs on the same machine (so as not to break unaligned code elsewhere) and how to obtain it precompiled from a package maintainer. As another workaround, it has been indicated that $LD_PRELOAD may be used to link to an aligned malloc http://gcc.gnu.org/ml/fortran/2007-08/msg00320.html For information on how to do either I, and I'm sure many others attempting to call SSE functions or DMA transfers from 32 bit gfortran, would be very thankful.
[Bug fortran/31696] -malign-double trashes fortran format
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31696 --- Comment #8 from Drew 2012-10-31 03:55:13 UTC --- After some googling I have found that ABI means application binary interface and how this affects the problem, thank you. I would be happy if someone could direct me to a tutorial on how to maintain two different ABIs on the same machine (so as not to break unaligned code elsewhere) and how to obtain it precompiled from a package maintainer. As another workaround, it has been indicated that $LD_PRELOAD may be used to link to an aligned malloc http://gcc.gnu.org/ml/fortran/2007-08/msg00320.html For information on how to do either I, and I'm sure many others attempting to call SSE functions or DMA transfers from 32 bit gfortran, would be very thankful.