martin.nichols@xxxxxxxxxxxx wrote: > Hi All, > > I'm new to MIPs architecture and Linux so apologies in advance! > > I'm trying to build an application to run on the Au1100. > I have a crosscompiler setup (gcc 3.2) and can build a 'hello world' that > runs on the target. > When I try building a more serious application using Kdevelop - with the > appropriate settings > for the crosstools - I get lots of errors like this: > assert.o(.text+0x1cc): relocation truncated to fit: R_MIPS_GOT16 > __assert_program_name > /opt/crosstool/mipsel-unknown-linux-gnu/gcc-3.2.3-glibc-2.2.3/mipsel-unknown > -linux-gnu/lib/libc.a(dcigettext.o): In function `_nl_find_msg': > dcigettext.o(.text+0x153c): relocation truncated to fit: R_MIPS_CALL16 > _nl_load_domain > /opt/crosstool/mipsel-unknown-linux-gnu/gcc-3.2.3-glibc-2.2.3/mipsel-unknown > -linux-gnu/lib/libc.a(finddomain.o): In function `_nl_find_domain': > > Could someone tell me what I'm doing wrong please. > This is the got overflow problem. Later versions of binutils have multi-got support (2.15 for example), which under most circumstances will fix the problem. If you have extreamly large compilation units you might have to use a 32bit got index. In GCC3.4 and later this is done with the -mxgot option. With eariler versions of GCC you have to pass -xgot to the assembler (-Wa,-xgot IIRC). David Daney.