Bug 7299 - Loading of module libint10.so fails when built with Int10SubLibs
Summary: Loading of module libint10.so fails when built with Int10SubLibs
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Server/DDX/Xorg/dlloader (show other bugs)
Version: 6.9.0
Hardware: x86 (IA32) Linux (All)
: high normal
Assignee: Adam Jackson
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-06-22 05:09 UTC by Peter Breitenlohner
Modified: 2010-03-22 08:51 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Peter Breitenlohner 2006-06-22 05:09:48 UTC
I have tried to build the Xorg server with "#define Int10SubLibs" in the hope
that the same IA32 server can then be used on linux-i686 and linux-x86_64
systems (the default version uses vm86 but the ia32 emulation of linux-x86_64
lacks the vm86 syscall).

However, loading the libint10.so module failed with these messages in Xorg.0.log:

  (II) Loading sub module "int10"
  (II) LoadModule: "int10"
  (II) Loading /usr/X11R6/lib/modules-6.9.0/linux/libint10.so
  dlopen: /usr/X11R6/lib/modules-6.9.0/linux/libint10.so: undefined symbol:
Int10Current
  (EE) Failed to load /usr/X11R6/lib/modules-6.9.0/linux/libint10.so
  (II) UnloadModule: "int10"

Looking at the three modules libint10.so, libvm86.so, and libx86emu.so I noticed
that the symbol Int10Current is defined in libvm86.so and libx86emu.so but not
defined in libint10.so. I think it ought to be the other way around, although
this certainly doesn't matter when libvm86 is integrated into libint10, and
equally doesn't matter when building with "#undef Int10SubLibs".

Repeating the build with "define MakeDllModules NO" (noy the default) everything
works fine:

  (II) Loading sub module "int10"
  (II) LoadModule: "int10"
  (II) Loading /usr/X11R6/lib/modules-6.9.0/linux/libint10.a
  (II) Module int10: vendor="X.Org Foundation"
  ...
  (II) Loading sub module "vm86"
  (II) LoadModule: "vm86"
  (II) Loading /usr/X11R6/lib/modules-6.9.0/linux/libvm86.a
  (II) Module vm86: vendor="X.Org Foundation"
  ...
Comment 1 Daniel Stone 2007-02-27 01:32:36 UTC
Sorry about the phenomenal bug spam, guys.  Adding xorg-team@ to the QA contact so bugs don't get lost in future.
Comment 2 Julien Cristau 2010-03-21 07:40:38 UTC
I had a patch to fix this with modular at some point (http://git.debian.org/?p=pkg-xorg/xserver/xorg-server.git;a=blob;f=debian/patches/42_build_int10_submodules.diff;h=483308a2a58a09babf4d2a90102d50123d96cbc5;hb=cc67cc3b25c78cfc6bf11c78ab563b7f8e4190ee) but then switched to x86emu for all archs (which is also the default nowadays).  Is this bug still relevant?  The modular build has never supported the equivalent of Int10SubLibs afaict.
Comment 3 Peter Breitenlohner 2010-03-22 04:23:01 UTC
I'd say with x86emu as default for all archs the original problem is gone.

All we needed back in 2006 (and still want to have today) is an IA32 Xserver binary, that can run under both x86_64-linux and i686-linux (one of the few Pentium4 left or an x86_64 booted into 32bit mode).  We thought that vm86 might be somewhat more efficient in 32bit mode than x86emu, but this should hardly matter with today's hardware.
Comment 4 Julien Cristau 2010-03-22 08:51:48 UTC
(In reply to comment #3)
> I'd say with x86emu as default for all archs the original problem is gone.
> 
ok, let's close this then.  thanks!


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.