When you don't have a floating point coprocessor or built in floating point support, the processor will throw an exception when a program tries to execute floating point instructions. The FP emulation code traps those exceptions and emulates the coprocessor.
As for other insructions, outside the kernel its pretty rare to use embedded assembly, so the 586&beyond-specific code would only be present because gcc saw an optimisation if it used it. However, during the lfs build process, you'll be specifying the build target, so gcc will know it can't use those instructions. That's why it was suggested you look at cross-lfs: your target environment is really a different environment than the one you're planning to build on, and therefore you need a cross-compiler. Sent from my BlackBerry device on the Rogers Wireless Network -----Original Message----- From: Andreas Hofer <[EMAIL PROTECTED]> Date: Tue, 04 Dec 2007 10:45:45 To:LFS Support List <lfs-support@linuxfromscratch.org> Subject: Re: Install LFS on Vortex86SX (486SX core) -------- Original Message -------- Subject: Install LFS on Vortex86SX (486SX core) From: Wilco Beekhuizen <[EMAIL PROTECTED]> To: LFS Support List <lfs-support@linuxfromscratch.org> Date: Montag, 03. Dezember 2007 22:59:51 > 2007/12/3, Andreas Hofer <[EMAIL PROTECTED]>: >> Hi all, >> >> I want to install LFS on a Vortex86SX controller produced by the >> taiwanese company DMP. Its instruction set is claimed to be 100% >> compatible to i486SX, thus lacking floating point instructions and >> anything beyond a 486. >> >> First thing I tried was boot the live CD on that thing but the kernel >> crashes very soon. So I want to sort of cross build LFS for the >> Vortex86SX on my notebook (Core2Duo 1.6GHz Ubuntu 7.10). >> >> Question: Is that possible and how? What do I have to do that the >> binaries incl. tool chain will run on the target? > It's not that difficult. > First of all you probably need the math emulation from the kernel. > That way linux can use the floating point instructions which some apps > probably need. > After that optimize everything for i386 or i486 (see gcc optimization > manual) on your core 2 duo. The compiled binaries can run both on your > core 2 duo and on your 486 so no need to cross compile! But wouldn't some of the compiled packages eventually require floating point instructions or instructions not covered by the 486 instruction set if I dont explicitly specify that target cpu? How does the build procedure of vanilla LFS know which instruction set to use and if floating point instructions are allowed? Cheers, Andreas -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page