🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: gmane.comp.gcc.bugs
7 messages
7 total messages Started by "dje at gcc dot Tue, 21 Dec 2010 16:22
[Bug libfortran/47032] New: libgfortran references complex long double functions missing on AIX
#304559
Author: "dje at gcc dot
Date: Tue, 21 Dec 2010 16:22
38 lines
1652 bytes
http://gcc.gnu.org/bugzilla/show_bug.cgi?idG032

           Summary: libgfortran references complex long double functions
                    missing on AIX
           Product: gcc
           Version: 4.6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libfortran
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: dje@gcc.gnu.org


ld: 0711-317 ERROR: Undefined symbol: .__copysignl128
ld: 0711-317 ERROR: Undefined symbol: .__nextafterl128
ld: 0711-317 ERROR: Undefined symbol: .__scalbnl128
ld: 0711-317 ERROR: Undefined symbol: .__cabsl128
ld: 0711-317 ERROR: Undefined symbol: .__cargl128
ld: 0711-317 ERROR: Undefined symbol: .__truncl128

/*
 * There are two forms of long double on AIX.  The default
 * form of long double is the same as a double - 64 bits.  There
 * is a 128-bit form available with some compilers.  If that compiler
 * defines __LONGDOUBLE128, then long doubles are 128-bit instead of
 * 64-bit.  Since the same library routine cannot be used for 128-bit
 * and 64-bit values, the 128-bit routines are renamed and macros are
 * used to manage the name spaces.  It is not necessarily the case that
 * all of the 128-bit versions are available, but the macros are defined
 * intentionally since the 64-bit versions can provide incorrect results
 * when long double values were expected.  If 64-bit versions are required
 * in 128-bit mode, then the code needs to invoke the double routines a
 * rather than the long double routines.
 */

As the comment mentions, not all functions are available(!), but the functions
are redefined to prevent wrong results.
[Bug target/47032] libgfortran references complex long double functions missing on AIX
#304560
Author: "kargl at gcc do
Date: Tue, 21 Dec 2010 16:42
14 lines
621 bytes
http://gcc.gnu.org/bugzilla/show_bug.cgi?idG032

kargl at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |kargl at gcc dot gnu.org
          Component|libfortran                  |target

--- Comment #1 from kargl at gcc dot gnu.org 2010-12-21 16:42:29 UTC ---
From the description of the problem, this appears
to be a target bug not a libgfortran bug.  The
penultimate sentence in the quoted comments even
states that AIX is playing games with the namespace.
[Bug target/47032] libgfortran references complex long double functions missing on AIX
#304561
Author: "dje at gcc dot
Date: Tue, 21 Dec 2010 17:08
16 lines
873 bytes
http://gcc.gnu.org/bugzilla/show_bug.cgi?idG032

David Edelsohn <dje at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2010.12.21 17:07:47
     Ever Confirmed|0                           |1

--- Comment #2 from David Edelsohn <dje at gcc dot gnu.org> 2010-12-21 17:07:47 UTC ---
This is an interaction / assumption problem between the target (AIX) and
libgfortran.  libgfortran previously built with GCC 4.4 s, this is a regression
because libgfortran is relying on more OS features without providing an
alternative.  And disabling all long double support (which works in G++) or
disabling libgfortran on AIX because of this issue seems like a bad options.
[Bug target/47032] libgfortran references complex long double functions missing on AIX
#304567
Author: "sgk at troutmas
Date: Tue, 21 Dec 2010 18:37
23 lines
1171 bytes
http://gcc.gnu.org/bugzilla/show_bug.cgi?idG032

--- Comment #3 from Steve Kargl <sgk at troutmask dot apl.washington.edu> 2010-12-21 18:37:21 UTC ---
On Tue, Dec 21, 2010 at 05:07:53PM +0000, dje at gcc dot gnu.org wrote:
> This is an interaction / assumption problem between the target (AIX) and
> libgfortran.  libgfortran previously built with GCC 4.4 s, this is a regression
> because libgfortran is relying on more OS features without providing an
> alternative.  And disabling all long double support (which works in G++) or
> disabling libgfortran on AIX because of this issue seems like a bad options.
>

libgfortran/configure.ac has lines of the form (note I wrapped the line)

AC_CHECK_LIB([m],[copysignl],[AC_DEFINE([HAVE_COPYSIGNL],[1],\
   [libm includes copysignl])])

So, configure is already checking if libm contains the
the "long double functions".  The problem appears to be
that AC_CHECK_LIB is a compile only test, and these tests
appear to pass on AIX.  AIX rquires a link time test to
either unseti, e.g., HAVE_COPYSIGNL or configure in general
should do a link time tests instead of a compile time tests
to ensure the HAVE_* macros are unset.
[Bug target/47032] libgfortran references complex long double functions missing on AIX
#304866
Author: "rguenth at gcc
Date: Tue, 28 Dec 2010 16:09
11 lines
490 bytes
http://gcc.gnu.org/bugzilla/show_bug.cgi?idG032

Richard Guenther <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |build
             Target|                            |powerpc-ibm-aix

--- Comment #4 from Richard Guenther <rguenth at gcc dot gnu.org> 2010-12-28 16:09:49 UTC ---
David, does GCC 4.5.x build on AIX?
[Bug target/47032] libgfortran references complex long double functions missing on AIX
#305676
Author: "dje at gcc dot
Date: Thu, 06 Jan 2011 18:55
10 lines
370 bytes
http://gcc.gnu.org/bugzilla/show_bug.cgi?idG032

--- Comment #5 from David Edelsohn <dje at gcc dot gnu.org> 2011-01-06 18:55:20 UTC ---
(In reply to comment #4)
> David, does GCC 4.5.x build on AIX?

GCC 4.5 libgfortran builds on AIX 5.3, but not AIX 6.1.  GCC 4.4 libgfortran
built on both, so this is a regression, but I had not noticed the regression on
AIX 6.1.

[Bug target/47032] libgfortran references complex long double functions missing on AIX
#307871
Author: "michael.haubenw
Date: Tue, 25 Jan 2011 19:56
11 lines
545 bytes
http://gcc.gnu.org/bugzilla/show_bug.cgi?idG032

Michael Haubenwallner <michael.haubenwallner at salomon dot at> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |michael.haubenwallner at
                   |                            |salomon dot at

--- Comment #6 from Michael Haubenwallner <michael.haubenwallner at salomon dot at> 2011-01-25 19:56:14 UTC ---
This looks like a dupe of bug#46481.
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads