On Mon, 2007-12-03 at 18:01 -0500, Felix Kühling wrote: > I'm looking at the details in the bugzilla entry right now. This may or > may not apply to michalwd1979's problem. > > I think the problem happens when r128CreateScreen calls > driParseOptionInfo. It gets the two arguments __driConfigOptions and > __driNConfigOptions. Both are defined in the same r128screen.c file. > > The error message indicates that there is a mismatch between the two > variables. I noticed that __driConfigOptions is public, since driconf > needs to be able to access it, while __driNConfigOptions is static. > > Both drivers (shared objects) have a __driConfigOptions symbol with the > same name. I guess what's happening is that the dynamic linker resolves > __driConfigOptions to the same object in both drivers in a dual-screen > system. On the second screen that happens to be the wrong one. > > I'm not sure how to fix this. Some linker magic may be needed. You need > to make sure that in the r128 driver, __driConfigOptions is resolved to > its own version of the symbol in all cases, even when another driver is > linked in that has a symbol with the same name. I hope this analysis > helps.
Your analysis is spot on, Felix. :) I realized what the problem was after one of Michal's later posts, so I came up with a patch to use -Bsymbolic for linking all shared objects, not just libraries, and that seems to do the trick. P.S. -Bsymbolic currently seems to be only ever used on Linux, people working on other platforms with shared objects may want to look out for this kind of problem. -- Earthling Michel Dänzer | http://tungstengraphics.com Libre software enthusiast | Debian, X and DRI developer ------------------------------------------------------------------------- SF.Net email is sponsored by: The Future of Linux Business White Paper from Novell. From the desktop to the data center, Linux is going mainstream. Let it simplify your IT future. http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4 -- _______________________________________________ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel