Re: Problem compiling 'setup.S' in 1.3.86+

Martin Mares (mj@k332.feld.cvut.cz)
Tue, 16 Apr 1996 09:55:58 +0200 (MET DST)


Hello,

> Hello, all. Just ran into a problem in attempting to compile the last few
> Linux kernels. Here's the log from the end of the 'make zImage':

This was a bug in the video mode switcher. Hopefully fixed in .89.

> gcc -D__KERNEL__ -I/usr/src/linux-1.3.88/include -E -D__ELF__ -traditional -DSVGA_MODE=NORMAL_VGA setup.S -o setup.s
> as86 -0 -a -o setup.o setup.s
> 01519 0760 E8 0000 call outidx
> ***** ^unbound label
> ***** ^relocation impossible

> So it appears that 'setup.S' depends on CONFIG_VIDEO_SVGA being defined. Which

Now it doesn't.

> seems flawed, IMHO. While we're on the subject, _WHY_ is all this damned video
> code in the kernel in the first place?!?! I boot up in normal 80x25 mode, and
> then use SVGATextMode to switch to 100x37. SVGATextMode is a perfectly good
> user-mode program for doing this. I really fail to see the point in including
> page after page of code in 'video.S' to detect and set modes for every video
> card on the planet. At the LEAST, there should be a compile-time option to get
> rid of this unnecessary code bloat. It'd be nice if patches like the above
> were not necessary.

SVGATextMode is very nice, but not usuable on all machines -- there are some
cards it doesn't support. And some people prefer even in case of SVGATextMode
to switch the screen to some mode upon bootup and reprogram it later by SVGATextMode
as they like the high-resolution modes so much that they want to see even kernel
bootup messages in them... Anyway, making it a config option is a good idea, I'll
propose it to Linus.

Martin Mares