That is almost wrong...
> I run a Linux server, transient.net. Currently I use kernel 1.2.13,
> though from time to time I've considered the 1.3.*'s. When 2.0.0 came out,
> I finished updating my system (got gcc-2.7.2, the new libc everything).
> The compilation went fine. In the configuration, I specified [P]entium,
> because I have a NexGen586/90, that can do everything that a Pentium can.
False. There are things that the NexGen can't do.
> I normally (when compiling things) use GCC's -m486,
> and have no problems (and get faster programs).
>
> Things we not good though. I booted from the floppy... It uncompressed
> the kernel... and then died saying that this is a 386, and the kernel has
> been optimized for a 486 or faster. Giving up...
>
> Now, my older (1.2.13) kernel was also -m486 optimized, but It never had
> a problem. I had been aware that sometimes the chip gave false readings,
> but heard it was harmless. uname -a likes to indicate that I have an i386.
> Which is not that big a deal.
You do have a 386. (Yes I know it is fast and they said it was a Pentium)
> I am mailing this to the linux-kernel mailing-list to make the kernel
> developers (developer) aware of this problem, with the hopes that it may
> be fixed, or patched, or what not (though I know you had hopes of not
> having to go beyond 2.0.0 into 2.0.1, and I also don't know if this
> justifies a full patch... however, I, and probably most NexGen owners
> (there are a bunch) would rather not have to use a sub-optimized kernel
> 2, when 1.2.13 lets you optimize...
It lets you optimize for a 486 or Pentium, which you do not have.
> I am mailing this to the GCC-bugs list to let them know of this problem,
> because although it is not a specific error of GCC's, it could be useful
> to implement a warning or change some of the code to route around this
> problem. NexGen has some sample code for fixing this problem, at the
> above url.
Nope, the problem is hand-coded assembly. Gcc will never create
the problem code.
At the very least, your CPU is missing the page invalidate instruction.
Maybe it also lacks 4 MB pages.