public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug libfortran/24541]  New: _gfortran_ioparm changes size
@ 2005-10-26 14:39 hjl at lucon dot org
  2005-10-26 15:01 ` [Bug libfortran/24541] libgfortran.so in 4.1 is incompatible with 4.0 hjl at lucon dot org
                   ` (9 more replies)
  0 siblings, 10 replies; 11+ messages in thread
From: hjl at lucon dot org @ 2005-10-26 14:39 UTC (permalink / raw)
  To: gcc-bugs

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

[hjl@gnu-13 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
[hjl@gnu-13 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


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug libfortran/24541] libgfortran.so in 4.1 is incompatible with 4.0
  2005-10-26 14:39 [Bug libfortran/24541] New: _gfortran_ioparm changes size hjl at lucon dot org
@ 2005-10-26 15:01 ` hjl at lucon dot org
  2005-10-26 15:56 ` pinskia at gcc dot gnu dot org
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: hjl at lucon dot org @ 2005-10-26 15:01 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from hjl at lucon dot org  2005-10-26 15:01 -------
I built SPEC CPU 2K with gcc 4.0 and ran with libgfortran.so in gcc 4.1. I
got

Specinvoke: /export/spec/src/2000/spec/bin/specinvoke -E -d
/export/spec/src/2000/spec/benchspec/CFP2000/172.mgrid/run/00000002 -c 1 -e
compare.err -o compare.out -f compare.cmd
*** Miscompare of mgrid.out, see
/export/spec/src/2000/spec/benchspec/CFP2000/172.mgrid/run/00000002/mgrid.out.mis
0447:      0.724205E-09
           0.722967E-09
                      ^
0448:      0.724205E-09
           0.722967E-09
                      ^
0449:      0.724366E-09
           0.723163E-09
                      ^
0511:      0.132651E-09
           0.131288E-09
                      ^
0512:      0.132651E-09
           0.131288E-09
                      ^
0513:      0.966122E-10
           0.949407E-10
                      ^
0514:      0.966122E-10
           0.949407E-10
                      ^
0515:      0.102259E-09
           0.100198E-09
                      ^
0516:      0.102259E-09
           0.100198E-09
                      ^
0517:      0.101682E-09
           0.992215E-10
                      ^
0518:      0.101682E-09
           0.992215E-10
                      ^
Change to libgfortran.so in gcc 4.0 fixed the problem.

I have 2 questions:

1. Is output of FORTRAN in gcc 4.1 binary compatible with gcc 4.0?
2. Should libgfortran.so in gcc 4.1 be backward compatible with
libgfortran.so in gcc 4.0?


-- 

hjl at lucon dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|_gfortran_ioparm changes    |libgfortran.so in 4.1 is
                   |size                        |incompatible with 4.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24541


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug libfortran/24541] libgfortran.so in 4.1 is incompatible with 4.0
  2005-10-26 14:39 [Bug libfortran/24541] New: _gfortran_ioparm changes size hjl at lucon dot org
  2005-10-26 15:01 ` [Bug libfortran/24541] libgfortran.so in 4.1 is incompatible with 4.0 hjl at lucon dot org
@ 2005-10-26 15:56 ` pinskia at gcc dot gnu dot org
  2005-10-26 16:06 ` hjl at lucon dot org
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-10-26 15:56 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from pinskia at gcc dot gnu dot org  2005-10-26 15:56 -------
This is actually the issue is that 4.0.x's gfortran is experimental and really
should not be thought about be used in normal use, even to compile and then
link with a newer version.  This has been discussed before.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|critical                    |minor


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24541


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug libfortran/24541] libgfortran.so in 4.1 is incompatible with 4.0
  2005-10-26 14:39 [Bug libfortran/24541] New: _gfortran_ioparm changes size hjl at lucon dot org
  2005-10-26 15:01 ` [Bug libfortran/24541] libgfortran.so in 4.1 is incompatible with 4.0 hjl at lucon dot org
  2005-10-26 15:56 ` pinskia at gcc dot gnu dot org
@ 2005-10-26 16:06 ` hjl at lucon dot org
  2005-10-26 16:07 ` pinskia at gcc dot gnu dot org
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: hjl at lucon dot org @ 2005-10-26 16:06 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from hjl at lucon dot org  2005-10-26 16:06 -------
Then rename _gfortran_ioparm to something like _gfortran_version_4.1_ioparm
and change soname of libgfortran from libgfortran.so.0 to something like
libgfortran.so.0.1. When libgfortran's ABI is changed, we should update
its soname and try to prevent mixing inputs with different ABIs.


-- 

hjl at lucon dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|minor                       |critical


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24541


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug libfortran/24541] libgfortran.so in 4.1 is incompatible with 4.0
  2005-10-26 14:39 [Bug libfortran/24541] New: _gfortran_ioparm changes size hjl at lucon dot org
                   ` (2 preceding siblings ...)
  2005-10-26 16:06 ` hjl at lucon dot org
@ 2005-10-26 16:07 ` pinskia at gcc dot gnu dot org
  2005-10-26 16:19 ` hjl at lucon dot org
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-10-26 16:07 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from pinskia at gcc dot gnu dot org  2005-10-26 16:07 -------
This is still minor as the ABI was expected to change and really you should not
be doing this.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|critical                    |minor


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24541


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug libfortran/24541] libgfortran.so in 4.1 is incompatible with 4.0
  2005-10-26 14:39 [Bug libfortran/24541] New: _gfortran_ioparm changes size hjl at lucon dot org
                   ` (3 preceding siblings ...)
  2005-10-26 16:07 ` pinskia at gcc dot gnu dot org
@ 2005-10-26 16:19 ` hjl at lucon dot org
  2005-10-26 17:46 ` steven at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: hjl at lucon dot org @ 2005-10-26 16:19 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from hjl at lucon dot org  2005-10-26 16:19 -------
So what? ABI of glibc changes. ABI of libstdc++ changes. When the ABI changes,
we should manage it in such a way that it won't cause problems for existing
executables and shared libraries.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24541


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug libfortran/24541] libgfortran.so in 4.1 is incompatible with 4.0
  2005-10-26 14:39 [Bug libfortran/24541] New: _gfortran_ioparm changes size hjl at lucon dot org
                   ` (4 preceding siblings ...)
  2005-10-26 16:19 ` hjl at lucon dot org
@ 2005-10-26 17:46 ` steven at gcc dot gnu dot org
  2005-10-27 17:21 ` tobi at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: steven at gcc dot gnu dot org @ 2005-10-26 17:46 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from steven at gcc dot gnu dot org  2005-10-26 17:46 -------
Re. comment #5, yes other library ABIs change too, but libgfortran is special
in that what shipped with GCC 4.0 was highly experimental and never intended to
be a stable interface.  The decision at the time was that breaking it in any
way we saw fit for later GCCs was OK until we have something that _is_ stable
(i.e. not something we have to call stable just because it was released).

I would like to have this PR closed as WONTFIX, but I'll wait for input from
other people.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24541


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug libfortran/24541] libgfortran.so in 4.1 is incompatible with 4.0
  2005-10-26 14:39 [Bug libfortran/24541] New: _gfortran_ioparm changes size hjl at lucon dot org
                   ` (5 preceding siblings ...)
  2005-10-26 17:46 ` steven at gcc dot gnu dot org
@ 2005-10-27 17:21 ` tobi at gcc dot gnu dot org
  2005-11-15 12:14 ` fxcoudert at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: tobi at gcc dot gnu dot org @ 2005-10-27 17:21 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #7 from tobi at gcc dot gnu dot org  2005-10-27 17:21 -------
We should bump the library file's version number.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24541


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug libfortran/24541] libgfortran.so in 4.1 is incompatible with 4.0
  2005-10-26 14:39 [Bug libfortran/24541] New: _gfortran_ioparm changes size hjl at lucon dot org
                   ` (6 preceding siblings ...)
  2005-10-27 17:21 ` tobi at gcc dot gnu dot org
@ 2005-11-15 12:14 ` fxcoudert at gcc dot gnu dot org
  2005-12-30 18:25 ` pinskia at gcc dot gnu dot org
  2006-01-01  5:36 ` pinskia at gcc dot gnu dot org
  9 siblings, 0 replies; 11+ messages in thread
From: fxcoudert at gcc dot gnu dot org @ 2005-11-15 12:14 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #8 from fxcoudert at gcc dot gnu dot org  2005-11-15 12:14 -------
(In reply to comment #7)
> We should bump the library file's version number.

Could we get a gcc-admin script to change the library's version everyday with
version numbers like 0.0.20051115 and so on?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24541


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug libfortran/24541] libgfortran.so in 4.1 is incompatible with 4.0
  2005-10-26 14:39 [Bug libfortran/24541] New: _gfortran_ioparm changes size hjl at lucon dot org
                   ` (7 preceding siblings ...)
  2005-11-15 12:14 ` fxcoudert at gcc dot gnu dot org
@ 2005-12-30 18:25 ` pinskia at gcc dot gnu dot org
  2006-01-01  5:36 ` pinskia at gcc dot gnu dot org
  9 siblings, 0 replies; 11+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-12-30 18:25 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #9 from pinskia at gcc dot gnu dot org  2005-12-30 18:25 -------
(In reply to comment #8)
> Could we get a gcc-admin script to change the library's version everyday with
> version numbers like 0.0.20051115 and so on?

That seems like a bad idea.  Anyways this is fixed already.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24541



^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug libfortran/24541] libgfortran.so in 4.1 is incompatible with 4.0
  2005-10-26 14:39 [Bug libfortran/24541] New: _gfortran_ioparm changes size hjl at lucon dot org
                   ` (8 preceding siblings ...)
  2005-12-30 18:25 ` pinskia at gcc dot gnu dot org
@ 2006-01-01  5:36 ` pinskia at gcc dot gnu dot org
  9 siblings, 0 replies; 11+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-01-01  5:36 UTC (permalink / raw)
  To: gcc-bugs



-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |4.1.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24541



^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2006-01-01  5:36 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-10-26 14:39 [Bug libfortran/24541] New: _gfortran_ioparm changes size hjl at lucon dot org
2005-10-26 15:01 ` [Bug libfortran/24541] libgfortran.so in 4.1 is incompatible with 4.0 hjl at lucon dot org
2005-10-26 15:56 ` pinskia at gcc dot gnu dot org
2005-10-26 16:06 ` hjl at lucon dot org
2005-10-26 16:07 ` pinskia at gcc dot gnu dot org
2005-10-26 16:19 ` hjl at lucon dot org
2005-10-26 17:46 ` steven at gcc dot gnu dot org
2005-10-27 17:21 ` tobi at gcc dot gnu dot org
2005-11-15 12:14 ` fxcoudert at gcc dot gnu dot org
2005-12-30 18:25 ` pinskia at gcc dot gnu dot org
2006-01-01  5:36 ` pinskia at gcc dot gnu dot org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).