Messages in this thread | | | Subject | Re: Article: IBM wants to "clean up the license" of Linux | Date | Wed, 06 Jan 1999 19:48:08 -0500 | From | Steve Kump <> |
| |
> 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/
| |