|
From: Bruce S. <bw...@ar...> - 2003-06-22 16:58:45
|
> The kernel is only being compiled for different CPU's, the applications > are being compiled for 486. > > Reason, the tool chain in the LFS system was built for 486 compilation > and this will be the default -march. To fix this all build scripts will > have to add to the gcc options a -march=<CPU>. Adding this would be > easier during ./configure. eg. CFLAGS= -march=686; ./configure > <options>. And of course it would be very nice if the 686 came from a > shell variable set by the DL config file. > > Now I could still be wrong about this, and someone coming back and > calling me a moron ;-), but one thing that could be happening is an > environment variable could be set that sets the default -march for > gcc??? Maybe Heiko would know the answer to this? But in all the gnu > toolchains that I've built I've never seen documented that the default > arch can be controled by an enviornment variable, but the gcc manual is > pretty thick. We could find out for sure if there was some way to determine what arch a pre-compiled binary was compiled for. (I could check my i686 compiled DL and see). Except I don't know of any way to tell. Does anyone know of a way to tell? > Now a comment that could make this entire discussion mute is compiling > the kernel from a 486 to a 686 makes a huge difference on the system. > But what are you really gaining by changing the applications from a 486 > to 686 compiles??? For some applications it would make no difference. But it can make a big difference for some packages. For example almost all programs use glibc extensively, so it will help a lot there. And it can help stand-alone programs which are CPU intensive, like OpenSSL. We could go through and modify the few packages it would help and forget the rest (like Redhat does on their distribution). Or do everything. - BS |