Topic: system Architercture / x86_64 packages

Hi.

I was reading the chagelog of 2.4:

"These marks i486_64 and x86_64
indicate that the package is runnable from i486 machine up to 64 bit systems,
"
but i can't understand how netsecl exactly can use this x86_64 packages...
I think the kernel should be compiled for x86_64 to do that.
These lines, however, don't explain how the kernel is compiled.

Does netsecl use a sort of mixed mode?

thx for the support.

Re: system Architercture / x86_64 packages

Hi,

Kernel configuration actually is not optimized specifically for 64bit CPUs, but uses generic optimization which is available in the kernel as an option - to fit to your CPU instructions. I did a research maybe you'll surprise yourself but I have reviewed Fedoras, Ubuntus, Debians and many other distro's kernel configurations. Since I really think there is no dramatic difference in performance and since we want to run it on all kind of machines I think this is the best for now, we might optimize the kernel in future I'm thinking of it or leave the user deside upon installation. I was runing some tests on some 64 bit tgz/txz distros for now I'm not that impressed from the results - too many things crash and don't work not to mention some applications that don't come with the distros, but generally this comes from the libraries not the kernel itself. Maybe your thoughts are about the RAM in Linux that's not a problem no matter how much that is you just need the right configuration wink. I'll look into the kernel about this, generally we can't just provide only 64 bit optimized kernels too many 32-bit machines still outhere so maybe we'll make 2 or 3 kernels+modules - x86, Intel 64 and AMD 64, but libraries should be untouched to run on all the machines and the packages can be optimized with some options this we do anyway.

Yuriy

Re: system Architercture / x86_64 packages

Hi,

thx for the reply.
I agree with what you said, real performance differences are made with improvements at souce code level.
Also, the kind of distro netsecl is and the presence of many 32bit only machines, are relevant to do this as a secondary target.

But i'm still asking myself.... WHY to compile those packets with arch=x86_64 (that means the slackware package name) ..... those packets would not run in a 32 bit main enviroment/kernel..... i'm missing something?

Re: system Architercture / x86_64 packages

Hi,

This are the flags that we use
CFLAGS="-Wa,--noexecstack -fstack-protector-all -O2 -fPIC"
actually we used arch for some time 4 years ago to optimze for i486 to Athlon 64, but I changed that to this it proved to be a more stable combination of flags - it runs fine on 32 bit, but mainly don't try on i386 smile we don't run netsecl on calculators smile - but a PC with Pentium MMX 166 MHz will do fine with more RAM. There were some suggestions for gcc patches about optimizations, but I don't like the idea of adding stack protector on compilation by default, because of libraries - they don't work after that not all of them for sure.

Yuriy

Re: system Architercture / x86_64 packages

Ok. thank you!

I'll try to compile some software with those flags and add some optimization for my architecture. (PentiumD x64) smile
I see from what you said that libraries will be the hardest part to compile and debug.

bye

Re: system Architercture / x86_64 packages

Hi,

And can you tell what the software is? If you have problems compiling let me know.

Yuriy