More complex linkage failures on AIX

Gabriel Dos Reis gdr@acm.org
Fri Jun 11 03:06:00 GMT 2004


You Wrote David Edelsohn
> 	I am seeing a number of failures of complex testcases in the
> testsuite due to linkage errors on AIX looking for cabs, carg, cexp:
>
> FAIL: 26_numerics/complex/13450.cc (test for excess errors)
> Excess errors:
> ld: 0711-317 ERROR: Undefined symbol: .cabsf
> ld: 0711-317 ERROR: Undefined symbol: .cargf
> ld: 0711-317 ERROR: Undefined symbol: .cexpf
> ld: 0711-317 ERROR: Undefined symbol: .cabsl
> ld: 0711-317 ERROR: Undefined symbol: .cargl
> ld: 0711-317 ERROR: Undefined symbol: .cexpl
> ld: 0711-317 ERROR: Undefined symbol: .carg
> ld: 0711-317 ERROR: Undefined symbol: .cexp
>
> FAIL: 26_numerics/complex/pow.cc (test for excess errors)
> Excess errors:
> ld: 0711-317 ERROR: Undefined symbol: .carg
>
> FAIL: 26_numerics/complex_value.cc (test for excess errors)
> Excess errors:
> ld: 0711-317 ERROR: Undefined symbol: .carg
>
>
> libstdc++-v3/include/std/std_complex.h explicitly makes calls to
> __builtin_{cabs,carg,cexp} which the compiler converts to libcalls.
>
> 	What should happen here?

Doesn't AIX implement those C99 functions?

If yes, then the library where they are put should be linked with
libstdc++.  If not, then we ought to supply sutbs in libmath/stubs.c


>
> Thanks, David
>
>



More information about the Libstdc++ mailing list