[ECOS] help compiling redboot : linker problem !!!!

Thomas TESTASECCA thomas.testasecca@etictelecom.com
Wed Feb 27 10:45:00 GMT 2002


hi all,

I work on a cdb89712 evaluation board to embedd a linux kernel (armlinux 
kernel 2.4.rmk2.rayl1)
previously i used hermit bootloader, but it don't supports booting from 
cramfs, jffs2 .... so i decided to
port redboot to my target (it seems relatively easy because 7212 & 7211 
are supported, flash driver is present (28f320b3) ....)
Ok, so firstly i decided to compile for the edb7212, you know just to 
see how it works ....
But i've got a problem : the linker complains about overlapping segments 
.... (this is the rodata which overlaps others), it complains about "no 
memeory region specified for xxxxxxx", and relocation truncated ......

this is what i do :
ecosconfig new ecb7xxx
ecosconfig import edb7212_redboot_ROM.ecm
ecosconfig tree
make

and the result :

arm-linux-gcc -mcpu=arm7tdmi -Wl,--gc-sections -Wl,-static -g -nostdlib 
-L/home/cross-arm/cvs/ecos/toto/install/lib -Ttarget.ld -o 
/home/cross-arm/cvs/ecos/toto/install/bin/redboot.elf 
/home/cross-arm/cvs/ecos/toto/install/lib/version.o
/usr/local/arm/2.95.3/arm-linux/bin/ld: warning: no memory region 
specified for section `._edb7xxx_provide_eth0_esa'
/usr/local/arm/2.95.3/arm-linux/bin/ld: warning: no memory region 
specified for section `.cs8900a_deliver'
/usr/local/arm/2.95.3/arm-linux/bin/ld: warning: no memory region 
specified for section `.cs8900a_int_vector'
/usr/local/arm/2.95.3/arm-linux/bin/ld: warning: no memory region 
specified for section `.cs8900a_init'
/usr/local/arm/2.95.3/arm-linux/bin/ld: warning: no memory region 
specified for section `.cs8900a_stop'
/usr/local/arm/2.95.3/arm-linux/bin/ld: warning: no memory region 
specified for section `.cs8900a_start'
/usr/local/arm/2.95.3/arm-linux/bin/ld: warning: no memory region 
specified for section `.cs8900a_control'
/usr/local/arm/2.95.3/arm-linux/bin/ld: warning: no memory region 


.....


usr/local/arm/2.95.3/arm-linux/bin/ld: warning: no memory region 
specified for section `.vector'
/usr/local/arm/2.95.3/arm-linux/bin/ld: warning: no memory region 
specified for section `.got'
/usr/local/arm/2.95.3/arm-linux/bin/ld: warning: no memory region 
specified for section `.got.plt'
/usr/local/arm/2.95.3/arm-linux/bin/ld: warning: no memory region 
specified for section `.cyg_start

/usr/local/arm/2.95.3/arm-linux/bin/ld: section .rodata [00011508 -> 
00013b57] overlaps section .cyg_start [00012648 -> 000129eb]
/usr/local/arm/2.95.3/arm-linux/bin/ld: section .hexchars [00011508 -> 
0001152f] overlaps section .rodata [00011508 -> 00013b57]
/usr/local/arm/2.95.3/arm-linux/bin/ld: section .hex [00011530 -> 
00011543] overlaps section .rodata [00011508 -> 00013b57]
/usr/local/arm/2.95.3/arm-linux/bin/ld: section .crc16_tab [00011544 -> 
00011743] overlaps section .rodata [00011508 -> 00013b57]
/usr/local/arm/2.95.3/arm-linux/bin/ld: section .crc32_tab [00011744 -> 
00011b43] overlaps section .rodata [00011508 -> 00013b57]
/usr/local/arm/2.95.3/arm-linux/bin/ld: section .posix_crc32_tab 
[00011b44 -> 00011f43] overlaps section .rodata [00011508 -> 00013b57]
/usr/local/arm/2.95.3/arm-linux/bin/ld: section 
.Cyg_libc_str_null_mask_1 [00011f44 -> 00011f4b] overlaps section 
.rodata [00011508 -> 00013b57]
/usr/local/arm/2.95.3/arm-linux/bin/ld: section 
.Cyg_libc_str_null_mask_2 [00011f4c -> 00011f53] overlaps section 
.rodata [00011508 -> 00013b57]
/usr/local/arm/2.95.3/arm-linux/bin/ld: section .RedBoot_version 
[00011f54 -> 00011fcf] overlaps section .rodata [00011508 -> 00013b57]
/usr/local/arm/2.95.3/arm-linux/bin/ld: section .GDB_stubs_version 
[00011fd0 -> 0001200b] overlaps section .rodata [00011508 -> 00013b57]
/usr/local/arm/2.95.3/arm-linux/bin/ld: section .cs8900a_eth0_priv_data 
[0001200c -> 0001204f] overlaps section .rodata [00011508 -> 00013b57]
/usr/local/arm/2.95.3/arm-linux/bin/ld: section .cs8900a_sc_funs 
[00012050 -> 0001207b] overlaps section .rodata [00011508 -> 00013b57]
/usr/local/arm/2.95.3/arm-linux/bin/ld: section .cs8900a_sc [0001207c -> 
00012093] overlaps section .rodata [00011508 -> 00013b57]
/usr/local/arm/2.95.3/arm-linux/bin/ld: section .usage [00012094 -> 
000120ff] overlaps section .rodata [00011508 -> 00013b57]
/usr/local/arm/2.95.3/arm-linux/bin/ld: section .spin [00012100 -> 
00012107] overlaps section .rodata [00011508 -> 

..........



/usr/local/arm/2.95.3/arm-linux/bin/ld: section .num_alloc [00012314 -> 
00012317] overlaps section .rodata [00011508 -> 00013b57]
/usr/local/arm/2.95.3/arm-linux/bin/ld: section .num_free [00012318 -> 
0001231b] overlaps section .rodata [00011508 -> 00013b57]
/usr/local/arm/2.95.3/arm-linux/bin/ld: section .next_arp [0001231c -> 
0001231f] overlaps section .rodata [00011508 -> 00013b57]
/usr/local/arm/2.95.3/arm-linux/bin/ld: section .get_port [00012320 -> 
00012323] overlaps section .rodata [00011508 -> 00013b57]
/usr/local/arm/2.95.3/arm-linux/bin/ld: section .eth_drv_funs [00012324 
-> 0001232f] overlaps section .rodata [00011508 -> 00013b57]
/usr/local/arm/2.95.3/arm-linux/bin/ld: section .cyg_io_eth_net_debug 
[00012330 -> 00012333] overlaps section .rodata [00011508 -> 
00/home/cross-arm/cvs/ecos/toto/install/lib/vectors.o: In function `start':
/home/cross-arm/cvs/ecos/toto/install/lib/vectors.o(.text+0x3c4): 
relocation truncated to fit: R_ARM_PC24 hal_hardware_init
/home/cross-arm/cvs/ecos/toto/install/lib/vectors.o(.text+0x3c8): 
relocation truncated to fit: R_ARM_PC24 initialize_stub
/home/cross-arm/cvs/ecos/toto/install/lib/vectors.o(.text+0x3e4): 
relocation truncated to fit: R_ARM_PC24 hal_ctrlc_isr_init
/home/cross-arm/cvs/ecos/toto/install/lib/vectors.o(.text+0x3e8): 
relocation truncated to fit: R_ARM_PC24 cyg_hal_invoke_constructors
/home/cross-arm/cvs/ecos/toto/install/lib/vectors.o(.text+0x3ec): 
relocation truncated to fit: R_ARM_PC24 cyg_start
/home/cross-arm/cvs/ecos/toto/install/lib/vectors.o: In function 
`call_exception_handler':
/home/cross-arm/cvs/ecos/toto/install/lib/vectors.o(.text+0x5c0): 
relocation truncated to fit: R_ARM_PC24 exception_handler
/home/cross-arm/cvs/ecos/toto/install/lib/vectors.o: In function 
`handle_IRQ_or_FIQ':
/home/cross-arm/cvs/ecos/toto/install/lib/vectors.o(.text+0x6a8): 
relocation truncated to fit: R_ARM_PC24 hal_IRQ_handler
/home/cross-arm/cvs/ecos/toto/install/lib/vectors.o(.text+0x6c8): 
relocation truncated to fit: R_ARM_PC24 hal_spurious_IRQ
/home/cross-arm/cvs/ecos/toto/install/lib/extras.o: In function 
`load_flash_config':
/home/cross-arm/cvs/ecos/packages/redboot/current/src/flash.c:2088: 
relocation truncated to fit: R_ARM_PC24 __udivsi3
/home/cross-arm/cvs/ecos/packages/redboot/current/src/flash.c:2074: 
relocation truncated to fit: R_ARM_PC24 __udivsi3
/home/cross-arm/cvs/ecos/packages/redboot/current/src/flash.c:2058: 
relocation truncated to fit: R_ARM_PC24 __udivsi3
/home/cross-arm/cvs/ecos/toto/install/lib/libtarget.a(hal_common_hal_if.o): 
In function `hal_if_init':
/home/cross-arm/cvs/ecos/packages/hal/common/current/src/hal_if.c:842: 
relocation truncated to fit: R_ARM_PC24 reset_platform
/home/cross-arm/cvs/ecos/toto/install/lib/libtarget.a(infra_diag.o): In 
function `global constructors keyed to 10100.diag_write_char':
/home/cross-arm/cvs/ecos/packages/infra/current/src/diag.cxx:80: 
relocation truncated to fit: R_ARM_PC24 __umoddi3
/home/cross-arm/cvs/ecos/packages/infra/current/src/diag.cxx:80: 
relocation truncated to fit: R_ARM_PC24 __udivdi3
/home/cross-arm/cvs/ecos/packages/infra/current/src/diag.cxx:80: 
relocation truncated to fit: R_ARM_PC24 __umoddi3
/home/cross-arm/cvs/ecos/packages/infra/current/src/diag.cxx:80: 
relocation truncated to fit: R_ARM_PC24 __udivdi3
/home/cross-arm/cvs/ecos/packages/infra/current/src/diag.cxx:80: 
relocation truncated to fit: R_ARM_PC24 __ashrdi3
collect2: ld returned 1 exit status
make[1]: *** [/home/cross-arm/cvs/ecos/toto/install/bin/redboot.elf] 
Erreur 1
make[1]: Quitte le répertoire 
`/home/cross-arm/cvs/ecos/toto/redboot/current'
make: *** [build] Erreur 2
013b57]








-- 
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss



More information about the Ecos-discuss mailing list