[PULL] Kill libxorg

Peter Hutterer peter.hutterer at who-t.net
Mon Jun 20 15:42:54 PDT 2011


On Mon, Jun 20, 2011 at 12:25:07PM -0700, Dan Nicholson wrote:
> On Sun, Jun 19, 2011 at 5:25 PM, Peter Hutterer
> <peter.hutterer at who-t.net> wrote:
> > On Fri, Jun 17, 2011 at 04:55:56PM -0700, Dan Nicholson wrote:
> >> Here's a few commits that kill off the libxorg "convenience library of
> >> convenience libraries". It provides a nice speedup when you're rebuilding
> >> Xorg from only a couple local changes.
> >
> > Despite a distclean && reconf, I cannot make this link on my machine.
> >
> > ./../os/os.O: In function `AddEnabledDevice':
> > /home/whot/xorg/xserver/os/connection.c:1057: multiple definition of
> > `AddEnabledDevice'
> > ./../os/os.O:/home/whot/xorg/xserver/os/connection.c:1057: first defined
> > here
> > ./../os/os.O: In function `CreateWellKnownSockets':
> > /home/whot/xorg/xserver/os/connection.c:371: multiple definition of
> > `CreateWellKnownSockets'
> > ./../os/os.O:/home/whot/xorg/xserver/os/connection.c:371: first defined
> > here
> > ./../os/os.O: In function `AugmentSelf':
> > /home/whot/xorg/xserver/os/access.c:806: multiple definition of
> > `AugmentSelf'
> > ./../os/os.O:/home/whot/xorg/xserver/os/access.c:806: first defined here
> > collect2: ld returned 1 exit status
> >
> > there are approximately 2314 more of these, but I'll skip them for brevity.
> > Is this a problem on my side or a bug in the patchset?
> 
> Patchset :) I didn't realize I could even enable dtrace for linux, but
> then found it in the systemtap package. Here's the issue (you might
> have to do this manually as gmail will most definitely whack the
> formatting):
> 
> diff --git a/hw/xfree86/Makefile.am b/hw/xfree86/Makefile.am
> index a4ec1f7..e3ef14f 100644
> --- a/hw/xfree86/Makefile.am
> +++ b/hw/xfree86/Makefile.am
> @@ -72,11 +72,6 @@ BUILT_SOURCES = xorg.conf.example
>  DISTCLEANFILES = xorg.conf.example
>  EXTRA_DIST = xorgconf.cpp
> 
> -if SPECIAL_DTRACE_OBJECTS
> -# Re-add dtrace object code that gets lost when building static libraries
> -Xorg_LDADD += $(XSERVER_LIBS)
> -endif
> -
>  if SOLARIS_ASM_INLINE
>  # Needs to be built before any files are compiled when using Sun compilers
>  # so in*/out* inline definitions are properly processed.
> 
> I'm not really sure why that was needed when $(XSERVER_LIBS) was part
> of libxorg.la rather than Xorg. I guess the symbols were getting
> thrown out when linking os.O rather than libos.la into libxorg.la? But
> if you're linking everything straight into Xorg, then you're just
> adding the object files twice on the command line without the above
> fix. So, I think the diff above should fix it, but I'm not an expert
> on dtrace hooks. :) I'm not sure why Alan didn't hit the same thing,
> though since SPECIAL_DTRACE_OBJECTS is yes on Solaris, too.
> 
> Can you try that out? If so, I'll roll it into PATCH 3/3.

yep, that fixed it, thanks.
consider this tested-by: Peter Hutterer <peter.hutterer at who-t.net>

Cheers,
  Peter


More information about the xorg-devel mailing list