This is the mail archive of the cygwin-xfree@cygwin.com mailing list for the Cygwin XFree86 project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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);
}



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]