Atsushi Nemoto wrote: > On Fri, 23 Mar 2007 23:31:57 -0400, Kumba <kumba@xxxxxxxxxx> wrote: > > Well, o64 went away as we all know. It was never a favourable > > option for very good reasons (although I used it right up until it > > died and I was forced off of it). The replacement for it, that was > > more preferred and resulted in similar code was building a kernel > > for any of these three systems using CONFIG_BUILD_ELF64 + -msym32 > > (auto selected in the Makefile) + the make vmlinux.32 target. I > > believe this method is what Debian uses for building their mips > > kernels for SGI systems, but don't quote me on that. If someone > > from Debian wants to comment, please do. > > The replacement is CONFIG_BUILD_ELF64=n (it adds -msym32 option) + > CONFIG_BOOT_ELF32=y (it adds vmlinux.32 to "all" target). Not > CONFIG_BUILD_ELF64=y. > > CONFIG_BUILD_ELF64=n enables -msym32 option, which means the kernel > load address should be CKSEG0. This sounds wrong to me, since CONFIG_BUILD_ELF64=n will build a ELF64 kernel (from compiler/linker POV). This tricks people into believing they need no ELF64 capable toolchain for a 64bit kernel. IMO -msym32 should depend on: ((Compiler can do -msym32) && (load address is in ckseg0) && CONFIG_64BIT) which obsoletes the whole CONFIG_BUILD_ELF* stuff. Thiemo