Re: Article: IBM wants to "clean up the license" of Linux

Steve Kump (skump@inch.com)
Wed, 06 Jan 1999 19:48:08 -0500


> Are you sure? I'm pretty sure that ECGS configured for an i686
> will use a few optimized assembly functions that aren't on a i586 in
> libc, which tends to take out a indiscriminate number of programs.
> I got burned by that at one point so now configure everything for
> i586-pc-linux-gnu (forget where I got that "-pc-" bit from) if I
> want it to run on a i586 & i686.

Actually, EGCS configured for i686 uses i686-specific instructions
only when -march=pentiumpro is specified. The default is
-mpentiumpro (equiv. to -mcpu=pentiumpro) which only does
allignment and scheduling suitable for i686, no instructions
specific to i686, so you're safe as far as EGCS itself is concerned.

The problem is that EGCS configured for i686 puts "-D__i686" and kin
in the specs file, so code that includes hand-optimized assembly
specific to i686 when "__i686" is defined yields "illegal
instruction" error. Glibc-2.0.xxx is one example of source code
that looks for the __686 define and uses i686 specific instructions
(in the cmove family, I think). The kernel source code, on the
other hand, does not (yet?) use instructions that are found only
on i686, so it's safe to compile the kernel this way.

--
Steve Kump <skump@inch.com>

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/