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-----