Arnaud Giersch wrote:
I don't know if it is the RightWay(TM), but I am running here a fresh
IP32 kernel (l.m.o git updated yesterday). It was compiled with
CONFIG_BUILD_ELF64=n, and I am using vmlinux.
$ file /boot/vmlinux-2.6.21-rc3-g839fd555
/boot/vmlinux-2.6.21-rc3-g839fd555: ELF 64-bit MSB executable, MIPS, MIPS-IV version 1 (SYSV), statically linked, not stripped
If it makes a difference, I am using arcboot.
I suppose then the question is, which is better for IP32? CONFIG_BUILD_ELF64=y
or CONFIG_BUILD_ELF64=n. The reason the o64 hack used to exist, if my memory
serves me correctly, was that someone once said that when built and run as a
pure 64bit binary converted to 32bit via objcopy, 6 extra insns were run every
cycle (I think), introducing unneeded slowdown. This changed to 2 insns by
going the o64 route, which involved CONFIG_BUILD_ELF64=n. So 4 less insns
technically resulted in a quicker kernel, though the layman might not notice
such. I believe that all changed at some point, which is why
CONFIG_BUILD_ELF64=y was an A-OK thing prior to the __pa() introduction.
Now I guess we're back to CONFIG_BUILD_ELF64=n? I guess the real question is,
which way is the OneWay(TM), RightWay(TM) and OnlyWay(TM)?
Gentoo/MIPS Team Lead
"Such is oft the course of deeds that move the wheels of the world: small hands
do them because they must, while the eyes of the great are elsewhere." --Elrond