When I run a FORTRAN program, compiled with gcc 4.0, against libgfortran in
gcc 4.1, I got
a.out: Symbol `_gfortran_ioparm' has different size in shared object, consider
re-linking
[EMAIL PROTECTED] 00000004]$ readelf -s /usr/gcc-4.1/lib/libgfortran.so| grep
_gfortran_ioparm
636: 000688e0 252 OBJECT GLOBAL DEFAULT 23 _gfortran_ioparm
1617: 000688e0 252 OBJECT GLOBAL DEFAULT 23 _gfortran_ioparm
[EMAIL PROTECTED] 00000004]$ readelf -s /usr/gcc-4.0/lib/libgfortran.so| grep
_gfortran_ioparm
518: 00056740 240 OBJECT GLOBAL DEFAULT 23 _gfortran_ioparm
1005: 00056740 240 OBJECT GLOBAL DEFAULT 23 _gfortran_ioparm
It is very bad since due to copy relocation, _gfortran_ioparm will only
have 240 bytes at run-time. Please consider using symbol versioning or
a different soname for libgfortran.
--
Summary: _gfortran_ioparm changes size
Product: gcc
Version: 4.1.0
Status: UNCONFIRMED
Severity: critical
Priority: P2
Component: libfortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: hjl at lucon dot org
GCC build triplet: i686-pc-linux-gnu
GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24541