Hello,

when Xorg loads libvnc.so module, undefined symbols are not resolved
immediately but they are resolved "on demand". This might look like a
benefit but I don't think so.

I often hit problems that Xorg loads libvnc.so without any problem
and then X session crashes due undefined symbol, when less used code
path inside libvnc.so is executed and it contains symbol which is not
exported from Xorg binary.

I propose to switch to immediately linkage which will avoid such problems
and undefined symbols will be catched during module loading.

Proposed patch is attached but I'm not sure about compatibility. Do
you know if it can cause build failures on, for example, OS X?

Comments are welcomed.

Regards, Adam

-- 
Adam Tkac, Red Hat, Inc.
Index: unix/xserver/hw/vnc/Makefile.am
===================================================================
--- unix/xserver/hw/vnc/Makefile.am     (revision 4048)
+++ unix/xserver/hw/vnc/Makefile.am     (working copy)
@@ -50,7 +50,7 @@
        -I$(top_srcdir)/hw/xfree86/os-support/bus \
        -I$(includedir)/pixman-1 -I$(includedir)
 
-libvnc_la_LDFLAGS = -module -avoid-version
+libvnc_la_LDFLAGS = -module -avoid-version -Wl,-z,now
 
 libvnc_la_LIBADD = libvnccommon.la $(COMMON_LIBS) $(LIBVNC_LIBS)
 
------------------------------------------------------------------------------
_______________________________________________
Tigervnc-devel mailing list
Tigervnc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tigervnc-devel

Reply via email to