On 06/03/2017 22:20, Adam Jackson wrote:
On Mon, 2017-03-06 at 18:23 +0000, Jon Turney wrote:

Unfortunately, one of the possible definitions of _X_EXPORT in
Xfuncproto.h is empty, in which case, this leaves us with nothing in
sdksyms.c

Though this be true, I'm not sure how it can matter. We only build
xfree86 on systems where _X_EXPORT expands to something non-empty. And

It has been possible to build an xfree86 server for Cygwin since this [1] patchset.

This might even turn out to be useful, if the idea of removing Xephyr, Xnest and Xvfb servers [2], to be replaced by invoking the Xorg server with the xf86-video-dummy or xf86-video-nested drivers, ever happens.

[1] https://lists.x.org/archives/xorg-devel/2012-April/030281.html
[2] https://lists.x.org/archives/xorg-devel/2012-March/030059.html

we rely on it expanding to something non-empty because we build the
rest of the server with hidden visibility, so we need a positive way to
declare that a symbol is exported; if the system does not have this
facility, then the server isn't going to export the correct set of
symbols to the drivers anyway.

Well, that's not absolutely essential, I mean, sdksyms just ensures that symbols we want to export are actually referenced and so present in Xorg.

But yeah, at the moment _X_EXPORT expands to nothing and -Wl,--export-all is used on Cygwin, which is wrong, strictly speaking, as that makes it possible to build a driver which uses a symbol it shouldn't.

So, I guess I need to look at doing this properly with __attribute__((dllexport|dllimport)).

_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to