[ANNOUNCE] xorg-server

Alan Coopersmith Alan.Coopersmith at Sun.COM
Fri Mar 5 08:15:59 PST 2010

Dan Nicholson wrote:
> Is X at least linked to the right libraries? If not, then I think what
> we need to do is add them Xext/libXextmodule.la. Something like the
> attached patch should work, but I'm not sure it's the right thing.

I've been carrying around some similar patches in our builds to add library
linking to the modules (not libselinux of course, but others) to resolve
symbols since we build most of the drivers with -z defs to catch missing
symbol errors at build time instead of runtime, and the modules they link
against thus need to resolve their symbols.   I've been slacking on
upstreaming it, but it hasn't seemed to cause any problems in the several
years we've had it.    (The -R path is to handle our multilib layout, and
that part is definitely Solaris-specific.)

--- hw/xfree86/dixmods/Makefile.am      2009-05-08 17:45:57.848078000 -0700
+++ hw/xfree86/dixmods/Makefile.am      2009-05-08 17:46:07.162324000 -0700
@@ -36,6 +36,7 @@ libdbe_la_SOURCES = dbemodule.c

 libfb_la_LDFLAGS = -avoid-version
 libfb_la_LIBADD = $(top_builddir)/fb/libfb.la
+libfb_la_LIBADD += -lpixman-1
 libfb_la_SOURCES = $(top_builddir)/fb/fbcmap_mi.c fbmodule.c
 libfb_la_CFLAGS = $(AM_CFLAGS)

@@ -47,6 +48,8 @@ libwfb_la_CFLAGS = $(AM_CFLAGS) -DFB_ACC
 libglx_la_LDFLAGS = -avoid-version -mimpure-text
 GLXDRI_LIBRARY = $(top_builddir)/glx/libglxdri.la
+libglx_la_LDFLAGS += -R$(extsmoduledir:amd64/extensions=extensions/amd64)
+libglx_la_LDFLAGS += -Wl,-N,libdri.so -Wl,-N,libdri2.so
 libglx_la_LIBADD = \
        $(top_builddir)/glx/libglx.la \
diff -urp -x '*~' -x '*.orig' hw/xfree86/int10/Makefile.am
--- hw/xfree86/int10/Makefile.am        2007-10-17 07:01:23.000000000 -0700
+++ hw/xfree86/int10/Makefile.am        2009-05-08 17:46:07.162854000 -0700
@@ -42,3 +42,5 @@ libint10_la_SOURCES = stub.c xf86int10mo

 EXTRA_DIST = xf86x86emu.h INT10.HOWTO
+libint10_la_LIBADD = $(PCIACCESS_LIBS)

There's also a bunch to add a ton of -l flags to every driver too, but full
-z defs linking of those relies on us building a linker mapfile in our builds
that lists the symbols exported from the Xorg binary so that the linker can
record those as resolved already, and I've not checked to see if the way I've
done that is portable at all.   An example of just adding the -l flags:

	-Alan Coopersmith-           alan.coopersmith at sun.com
	 Oracle Solaris Platform Engineering: X Window System

More information about the xorg-devel mailing list