Ali Bahrami <Ali.Bahrami at Sun.COM> writes:

> The GNU link-editor allows wildcard (*) characters to be used
> in the symbol names found in version definitions, a feature not
> currently supported by the Solaris ld. The presence of the --version-script
> option can make configure scripts believe that it is safe to pass such
> a version definition to the Solaris ld, as described in:
> 
>       6765299 ld --version-script option not compatible with GNU ld
> 
> Until such time as the Solaris ld can properly handle wildcard
> characters in symbol names, the presence of the --version-script
> option is a liability rather than a benefit. The --version-script

True, but it's worse than that: GNU ld also supports something like

    # Names inside the 'extern' block are demangled names.
    extern "C++"
    {
      std::_6::*;
      std::*
    };

(this is an example from the libstdc++ version scripts).  Since the name
mangling is compiler dependent, this may get intricate to support properly.

There may be even more GNU extensions.  Hopefully the GNU ld manual
describes all of them.

        Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Faculty of Technology, Bielefeld University

Reply via email to