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

Reply via email to