[Xorg] unresolved symbols in cross compiled Xorg

Seb James seb at hypercubesystems.co.uk
Wed Jul 14 09:12:57 PDT 2004


Hello,
 
I'm building X for a small x86 device. It's a cross-compiled build for a
Linux/uclibc system, built on an i686 Linux host. Having built Xorg
successfully, I'm having problems at runtime with symbols in some of the
Xorg modules; specifically, libxaa.a, libfb.a and libramdac.a.

I'll concentrate on libxaa, as I think if I can fix this one it'll point
me in the right direction for the others.

>From the Xorg log:
----
(II) Loading sub module "xaa"
(II) LoadModule: "xaa"
(II) Loading /usr/X11R6/lib/modules/libxaa.a
Skipping "/usr/X11R6/lib/modules/libxaa.a:xaaBitOrder.o":  No symbols found
Skipping "/usr/X11R6/lib/modules/libxaa.a:xaaTables.o":  No symbols found
----

Then I get a lot of output like this before Xorg quits:
----
Symbol byte_expand3 from module /usr/X11R6/lib/modules/libxaa.a is unresolved!
Symbol byte_reversed_expand3 from module /usr/X11R6/lib/modules/libxaa.a is unresolved!
----

However, nm shows that there _are_ symbols in both xaaTables.o,
xaaBitOrder.o and libxaa.a:

$i686-linux-uclibc-nm xaaBitOrder.o
00000000 T XAAReverseBitOrder

$i686-linux-uclibc-nm xaaTables.o
00000000 D byte_expand3
00000400 D byte_reversed_expand3

$i686-linux-uclibc-nm libxaa.a | grep byte
00000000 D byte_expand3
00000400 D byte_reversed_expand3
         U byte_expand3
         U byte_expand3
         U byte_reversed_expand3
         U byte_expand3
         U byte_expand3
         U byte_reversed_expand3

or does it?

Why are these symbols apparently existent in libxaa.a, but not
recognized by Xorg when it loads libxaa? 

What condition causes Xorg to skip a section in a module library?

Thanks in advance for any answers.

Seb James

-- 
Sebastian James - Embedded Systems.
Hypercube Systems Ltd 'Embedded Linux Solutions'
35 Walkley Crescent Road, Sheffield, S6 5BA
Tel: 0845 4580277  Web: www.hypercubesystems.co.uk




More information about the xorg mailing list