[PATCH libXfont] Make shared library work on Cygwin/MinGW

Yaakov (Cygwin/X) yselkowitz at users.sourceforge.net
Sun Apr 6 12:47:17 PDT 2014


On 2014-04-06 14:41, Yaakov (Cygwin/X) wrote:
> From: Yaakov Selkowitz <yselkowitz-Rn4VEauK+AKRv+LV9MX5uipxlwaOVQ5f at public.gmane.org>
>
> Weak symbols on PE platforms do not work the same way as on ELF
> platforms, hence we have been unable to have a fully functional shared
> libXfont until now.  This patch works around these issues so that we
> can fix that.
>
> In summary, only when compiling shared libraries on NO_WEAK_SYMBOLS
> platforms, when the first stub is called, the invoking program is first
> checked to determine if it exports the stubbed functions.  Then, for
> every stub call, if the function is exported by the loader, it is called
> instead of the stub code.
>
> serverClient and serverGeneration are data pointers, and therefore are
> replaced by getter functions. ErrorF is variadic, so the override is
> routed through VErrorF instead. FatalError has no va_list equivalent,
> but it is not actually used in libXfont and therefore should be safe to
> remove.
>
> This requires all X servers to export their symbols, which requires
> forthcoming patches for hw/xwin and xfs; the other xservers (including
> tigervnc) already do this via LD_EXPORT_SYMBOLS_FLAG.

Almost forgot:

Signed-off-by: Yaakov Selkowitz <yselkowitz at users.sourceforge.net>



More information about the xorg-devel mailing list