[PULL] Kill libxorg

Dan Nicholson dbn.lists at gmail.com
Tue Jun 21 12:16:39 PDT 2011


On Mon, Jun 20, 2011 at 3:42 PM, Peter Hutterer
<peter.hutterer at who-t.net> wrote:
> 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>

Alright, git://people.freedesktop.org/~dbn/xserver.git no-libxorg has
been updated. I think it's ready to pull now.

--
Dan


More information about the xorg-devel mailing list