Radeon TV-in support in Xorg CVS.

Vladimir Dergachev volodya at mindspring.com
Sun Oct 3 16:56:00 PDT 2004


>> dlopen: /usr/X11R6/lib/modules/drivers/radeon_drv.so: undefined symbol:
>> xf86CreateI2CBusRec
>> (EE) Failed to load /usr/X11R6/lib/modules/drivers/radeon_drv.so
>
> The offender is radeon_mm_i2c.c:
>
>    xf86DrvMsg(pScrn->scrnIndex, X_INFO, "*** %p versus %p\n",
>               xf86CreateI2CBusRec, CreateI2CBusRec);
>
> This is not valid under dlloader, it makes the address of xf86CreateI2CBusRec
> a weak data reference, which has to resolve at dlopen time.  Since at dlopen
> time libi2c.so has not been loaded yet, it will not resolve.
>
> There may be more cases like this, I'll do an audit.  For this particular one
> I'm inclined to just delete this line, the user receives absolutely no useful
> information from this message.

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.

Or, are you saying it is the data-like access that is at fault ?

                                    best

                                      Vladimir Dergachev

>
> - ajax
>



More information about the xorg mailing list