|Summary:||Loading of module libint10.so fails when built with Int10SubLibs|
|Product:||xorg||Reporter:||Peter Breitenlohner <peb>|
|Component:||Server/DDX/Xorg/dlloader||Assignee:||Adam Jackson <ajax>|
|Status:||RESOLVED FIXED||QA Contact:||Xorg Project Team <xorg-team>|
|i915 platform:||i915 features:|
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.