Subject: Re: XFree86-4.6.0 on Solaris
To: Raymond Meyer <raymond.meyer@rambler.ru>
From: Michael <macallan1888@gmail.com>
List: port-sparc64
Date: 07/15/2006 16:34:54
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello,

On Jul 15, 2006, at 15:42, Raymond Meyer wrote:

> On Sat, 15 Jul 2006 15:20:01 -0400
> Michael <macallan1888@gmail.com> wrote:
>
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>>
>> Hello,
>>
>> On Jul 15, 2006, at 15:05, Raymond Meyer wrote:
>>
>>> Hi, I did manage to build meta-pkgs/xorg on Sparc Solaris.
>>> I copied sunffb directory from NetBSD's X11 tree into my local tree
>>> and built the
>>> driver. When I run 'X -configure' the Xserver tries to load the
>>> driver, but then it
>>> gives the following error message.
>>>
>>> Couldn't open RGB_DB '/opt/pkg/xorg/lib/X11/rgb'
>>> List of video drivers:
>>>         sunffb
>>> ld.so.1: Xorg: fatal: relocation error: file
>>> /opt/pkg/xorg/lib/modules/drivers/sunffb_drv.so: symbol
>>> xf86MatchSbusInstances: referenced symbol not found
>>
>> This function is defined in Xserver/hw/xfree86/common/xf86sbusBus.c,
>> should be built into your XFree86 binary.
>
>
> [root@ultra10] nm Xorg | grep xf86Match
> [3726]  |    402268|     492|FUNC |GLOB |0    |9      |xf86MatchDevice
> [4683]  |    405652|     836|FUNC |GLOB |0    |9       
> |xf86MatchIsaInstances
> [3369]  |    402760|    2892|FUNC |GLOB |0    |9       
> |xf86MatchPciInstances
>
> There is no xf86MatchSbusInstances. This is really strange

So SBus support is missing ( which is a misnomer - actually it's Sun  
/dev/fb* support which covers UPA as well )

> bash-3.00$ pwd
> /opt/sandbox/opt/pkg.obj/x11/xorg-server/work.ultra10/xc/programs/ 
> Xserver/hw/xfree86/common
> bash-3.00$ ls xf86sbusBus*
> xf86sbusBus.c  xf86sbusBus.h  xf86sbusBus.o
> bash-3.00$ nm xf86sbusBus.o | grep xf86Match
> [36]    |      3492|    1764|FUNC |GLOB |0    |2       
> |xf86MatchSbusInstances
>
> I struggle to understand how this symbol can go missing. Maybe some  
> Makefile didn't include some object files??

Strange, so it gets at least compiled.

> bash-3.00$ pwd
> /opt/sandbox/opt/pkg.obj/x11/xorg-server/work.ultra10/xc/programs/ 
> Xserver/hw/xfree86/common
> bash-3.00$ nm libxf86.a | grep xf86Match
> [88]    |     13388|     492|FUNC |GLOB |0    |2      |xf86MatchDevice
> [97]    |     16772|     836|FUNC |GLOB |0    |2       
> |xf86MatchIsaInstances
> [93]    |     13880|    2892|FUNC |GLOB |0    |2       
> |xf86MatchPciInstances
> [36]    |      3492|    1764|FUNC |GLOB |0    |2       
> |xf86MatchSbusInstances
>
> How do all *.o files get linked into the final Xorg binary? What is  
> libxf86.a for, does it get linked into Xorg binary, or is it used  
> somewhere else?

It's a static library that should end up in your Xserver binary. No  
idea why the SBus stuff was dropped. Hmm, is xf86SbusProbe referenced  
from your xf86Bus.o ? In our xserver source it's behind
#if defined(__sparc__) && !defined(__OpenBSD__)

have fun
Michael
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (Darwin)

iQEVAwUBRLlRb8pnzkX8Yg2nAQKzCggAprwkfIE5quAOnVYfQzMWPB4XB/lDr2AH
7scqvSt8+YpE5Be1dRozP9uiT8ri24fbcvXahOKDcDbu2osNn9L96uGIxn89AT+r
IauSam8sXKOV5DFxbLEfIw2SggjH/b0QsxSvy8LjeP3Dyr4JsRX++vLQzECYsJnN
k/i785Ec+mxHTsDbSjKLaKvfnI6FXiHnwPhlhPZGYrJzaeDZ1seg11HOfZ/vAbmM
Rjg21/HSBlF9EmMWZUhDir/1f24Vgj6Tr7DYKmLHC5R8W8gLNyMaVyDqdvRqv1gt
ArH9sASmh1xP7bpMsjok3GWUw9DIanlpQCiIfepmYC20pHV+DJ0xkA==
=rBcn
-----END PGP SIGNATURE-----