[XFree86-4.2.0] Now that we have an improved ld, please make libXt a shared library.

Ralf Habacker Ralf.Habacker@freenet.de
Mon Jul 28 18:48:00 GMT 2003


Hi Alexander,

>
> for libXt it uses the direct address. For every other library using
> the libXt.dll it uses the address from the stub.

I see, this is another case. Please take a look into xc/lib/xt/Initialize.c and
xc/lib/xt/sharedlib.c which provides such a case for another os. I don't
understand the xfree build system very well, so I can't provide a working
solution for this, but in fact _XtInherit() should be located in the xt import
library, which references __XtInherit() which is located in the real xt dll.

Cheers
Ralf


<snip>

#ifdef SUNSHLIB
/*
 * _XtInherit needs to be statically linked since it is compared against as
 * well as called.
 */
void _XtInherit()
{
    extern void __XtInherit();
    __XtInherit();
}
#endif


In sharedlib.c there is similar code

<snip>

#ifdef SUNSHLIB
void _XtInherit()
{
    extern void __XtInherit();
    __XtInherit();
}
#define _XtInherit __XtInherit
#endif

void _XtInherit()
{
    XtErrorMsg("invalidProcedure","inheritanceProc",XtCXtToolkitError,
            "Unresolved inheritance operation",
              (String *)NULL, (Cardinal *)NULL);
}




More information about the Cygwin-xfree mailing list