In the generic vga code it always references xf1bppScreenInit() and
xf4bppScreenInit(). This will cause link errors if XF1Bpp or XF4Bpp is
not defined, as those functions will not be available. I noticed this
when building a striped down server without 1bpp or 4bpp support.
A patch is attached. The line numbers match 6.8.2, but the problem
still exists in cvs head.
Created attachment 2829 [details] [review]
diff to fix 1bpp and 4bpp problem
this shouldn't be an issue. the drivers do not link against anything else, so
those functions are almost always undefined, and in particular they'll only be
defined if the appropriate depth is selected and the associated module loaded.
i suspect you're doing something weird with your build system...
That's true, it is undefined in the driver itself. It may be this is only an
issue when building a statically linked X server (which is what I'm doing) with
all needed drivers and modules linked into one executable. In that case, since
XF1Bpp and XF4Bpp are not defined, that cfb/mfb code is not compiled or linked
into the server, so when the vga driver is linked in, it will get an undefined
symbol error. So, I still think this is a valid bug.
ah! right, static server would definitely have this problem.
this will be a much more general problem than just the vga driver, but i'll take
The 1bpp and 4bpp defines are used in other parts of the server code, and
although I did not link in all the available drivers, the generic vga file was
the only one I had a problem with.
closing, as we no longer support pure-static servers