Radeon TV-in support in Xorg CVS.
Adam Jackson
ajax at nwnk.net
Sun Oct 3 23:08:25 PDT 2004
On Sunday 03 October 2004 19:56, Vladimir Dergachev wrote:
> Ohh, absolutely. This statement tests for a bug in XFree86 loader system
> that prevented it from loading sub modules after a certain stage in
> initialization. This was fixed before 4.4.0, but remained just in case
> things break again.
>
> However, I don't understand why this would not resolve - the code to load
> i2c module (as well as resolve the symbols from it) is just preceding this
> line - if this line breaks so would most of other code.
It's subtle. You're taking the address of an object that isn't defined within
the driver itself. The buildtime linker handles this by listing
xf86CreateI2CBusRec as required but undefined data. There's no way for the
runtime linker to interpose on the act of taking the address, so it requires
that all such data references be resolvable when the module is opened via
dlopen() - otherwise, the & operator could fail. This check happens before
any code in the dlopen'd module can get called, so the radeon driver never
even gets the chance to load the i2c module.
Functions can be resolved lazily, but data can't.
- ajax
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg/attachments/20041004/0f0cd586/attachment.pgp>
More information about the xorg
mailing list