[U-Boot-Users] linking u-boot for mips little endian w/ hardhat tools.

C Michael Sundius
2004-10-08T18:26:38Z

Hi,

I am trying to port u-boot to a system w/ a mips 4kc little endian processor.

in looking at other cpu/boards to use as a starting point/template, I chose
the tb0229 board as it looked to also be a 4kc little endian cpu.

when I build, I get the an undefined reference to _GLOBAL_OFFSET_TABLE_.

I did some fiddling aroud, and comparing to linker command files for other
boards and I found that the line:

OUTPUT_FORMAT("elf32-tradlittlemips", "elf32-tradlittlemips",\
"elf32-tradlittlemips")

if changed to:

OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradbigmips")

will allow me to compile and link fine...

my question is then:

1) what does this really do?
2) if I'm using a little endian cpu, do I really need it set to
elf32-tradlittlemips?
3) if so how do I solve my problem?
4) if not why?

one more note the compiler/toolchain that I'm using is from montavista, the -v
option displays the following:

======================================
mips_fp_le-gcc -v
Reading specs from /opt/hardhat/devkit/mips/fp_le/lib/gcc-lib/
mipsel-hardhat-linux/3.2.1/specs
Configured with: ../configure --host=i686-pc-linux-gnu
--target=mipsel-hardhat-linux --prefix=/opt/hardhat/devkit/mips/fp_le
--exec-prefix=/opt/hardhat/devkit/mips/fp_le --bindir=/opt/hardhat/devkit/
mips/fp_le/bin --sbindir=/opt/hardhat/devkit/mips/fp_le/sbin --sysconfdir=/
opt/hardhat/devkit/mips/fp_le/etc --datadir=/opt/hardhat/devkit/mips/fp_le/
share --includedir=/opt/hardhat/devkit/mips/fp_le/include --libdir=/opt/
hardhat/devkit/mips/fp_le/lib --libexecdir=/opt/hardhat/devkit/mips/fp_le/
libexec --localstatedir=/opt/hardhat/devkit/mips/fp_le/var --sharedstatedir=/
opt/hardhat/devkit/mips/fp_le/share --mandir=/opt/hardhat/devkit/mips/fp_le/
man --infodir=/opt/hardhat/devkit/mips/fp_le/info
--program-transform-name=s,^,mips_fp_le-, --enable-cross
--with-gxx-include-dir=${prefix}/mipsel-hardhat-linux/include/g++-v3
--enable-shared --enable-languages=c,c++ --enable-threads=posix
--enable-__cxa_atexit --disable-multilib
Thread model: posix
gcc version 3.2.1 20020930 (MontaVista)
=======================================

thanks for any help you can offer...(sorry this is maybe more of a tool
related question, but monta vista has not been much help as of yet).

Mike
~