Re: [uCsimm] Relocation problem

From: Tom Walsh (tom@cyberiansoftware.com)
Date: Wed Jan 03 2001 - 16:37:33 EST


"M. B. Anand" wrote:
>
> Hi,
> I am getting the linker relocation problem that has been mentioned
> several times before compiling an application.
> I do have the 32-bit PIC gcc installed from the RPM by Tom Walsh,
> I have the updated crt0.S from Erwin and I have -fPIC option. I
> still get the relocation errors below:
> m68k-pic-coff-ld -r -o bt.o bluetooth.o btdebug.o btmem.o hci.o l2cap.
> orfcomm.o sdp.o tcs.o bt_proc.o clean.o
> bluetooth.o(.text+0x86):bluetooth.c: relocation truncated to fit: 16 bss
> bluetooth.o(.text+0x602):bluetooth.c: relocation truncated to fit:
> 16 bss
> bluetooth.o(.text+0x67e):bluetooth.c: relocation truncated to fit:
> 16 bss
> .............
>
> BTW, without the -fPIC option many more errors are produced like
> m68k-pic-coff-ld -r -o bt.o bluetooth.o btdebug.o btmem.o hci.o l2cap.
> orfcomm.o sdp.o tcs.o bt_proc.o clean.o
> bluetooth.o(.text+0xa80):bluetooth.c: relocation truncated to fit:
> DISP16 rfcomm_connect_req
> bluetooth.o(.text+0x1078):bluetooth.c: relocation truncated to fit:
> DISP16rfcomm_init
> bluetooth.o(.text+0x107c):bluetooth.c: relocation truncated to fit:
> DISP16sdp_init
> bluetooth.o(.text+0x1080):bluetooth.c: relocation truncated to fit:
> DISP16tcs_init
> bluetooth.o(.text+0x16e4):bluetooth.c: relocation truncated to fit:
> DISP16rfcomm_disconnect_req
> bluetooth.o(.text+0x16fc):bluetooth.c: relocation truncated to fit:
> DISP16rfcomm_close
> bluetooth.o(.text+0x1700):bluetooth.c: relocation truncated to fit:
> DISP16sdp_shutdown
> bluetooth.o(.text+0x1704):bluetooth.c: relocation truncated to fit:
> DISP16tcs_shutdown
> hci.o(.text+0xf24):hci.c: relocation truncated to fit: DISP16 tcs_add_sco_link
> l2cap.o(.text+0x1dc):l2cap.c: relocation truncated to fit: 16 bss
> ..................
>
> All the DISP16 errors go away with the -fPIC but the rest remain.
> I must be missing something simple.
> What else do I need to do ?
>
> Thanks in advance for the help
>
> Regards,
> Anand.

It looks like your error is being reported within the bss section, the
pic32 compiler only relieves the limitation for the code size, the data
is still limited to (I think it is) 32K. Use malloc to get storage for
large arrays / chunks.

TomW

-- 
Tom Walsh - WN3L - Embedded Systems Consultant
'www.openhardware.net', 'www.cyberiansoftware.com'
"Windows? No thanks, I have work to do..."
This message resent by the ucsimm@uclinux.com list server http://www.uClinux.com/



This archive was generated by hypermail 2b30 : Sun Apr 07 2002 - 00:01:39 EST