I'm porting a product that currently runs on a variety
of Unixes and Linux and am having trouble using a
dynamic library that is part of the product with its
executables. The current symptom is two undefined
symbols:
gds(long double *,...)(float, int, long long)
gds(float, long double,...)(...)
The "gds" is a prefix we use, but never alone.
There is no reference to "long double" anywhere
in the code.
I get that symptom when I link with our shared library
if it is linked with a flat namespace, two-level namespace
with entry points marked as __attribute__((visibility="default")
and the library linked to hide other attributes, or with
an exported symbols list. I don't see the undefined
symbols if I compile and link the shared library with
visibility default, though that produces (numerous)
other problems.
Any clues?