On 6/2/06, zhuzhenhua <zzh.hust@xxxxxxxxx> wrote:
On 6/1/06, Nigel Stephens <nigel@xxxxxxxx> wrote: > > > zhuzhenhua wrote: > > On 6/1/06, Thiemo Seufer <ths@xxxxxxxxxxxx> wrote: > >> zhuzhenhua wrote: > >> > i have write a code to link at 0xa2000000(uncached address) > >> > but when link i get the error as > >> > "BFD: Warning: Writing section `.text' to huge (ie negative) file > >> > offset 0xa1ffff10. > >> > BFD: Warning: Writing section `.data' to huge (ie negative) file > >> > offset 0xa200b050. > >> > BFD: Warning: Writing section `.reginfo' to huge (ie negative) file > >> > offset 0xa200c980. > >> > mipsel-linux-objcopy: /root/project/brec_flash/release/brec_flash.bin: > >> > File truncated > >> > make: *** [brec_flash] Error 1" > >> > > >> > my link.xn as follow: > >> > > >> > OUTPUT_ARCH(mips) > >> > ENTRY(brec_flash_entry) > >> > SECTIONS > >> > { > >> > .text 0xa2000000 : > >> > >> Use > >> > >> . = 0xa2000000; > >> .text : > >> > >> instead. "info ld" explains the subtle difference. > >> > >> > >> Thiemo > >> > > > > do you mean use > > . = 0xa2000000; > > .text : > > to replace > > .text 0xa2000000 : > > ? > > i modify as that, and it still get the same message > > > > I think the problem is not with the linker, but in your use of objcopy > to convert your ELF file to a raw binary file. > > 1) What arguments are you giving to mipsel-linux-objcopy? i use objcopy as follow(the brec_flash is elf file) mipsel-linux-objcopy -O binary brec_flash brec_flash.bin > > 2) What is the output from mipsel-linux-objdump -h run on your > intermediate ELF object file? i use mipsel-linux-objdump -h brec_flash and get messages as follow brec_flash: file format elf32-tradlittlemips Sections: Idx Name Size VMA LMA File off Algn 0 .text 0000b140 72000000 72000000 00010000 2**4 CONTENTS, ALLOC, LOAD, READONLY, CODE 1 .data 00001080 7200b140 7200b140 0001b140 2**4 CONTENTS, ALLOC, LOAD, DATA 2 .sbss 00000010 7200c1c0 7200c1c0 0001c1c0 2**2 ALLOC 3 .bss 000008a0 7200c1d0 7200c1d0 0001c1c0 2**4 ALLOC 4 .reginfo 00000018 7200ca70 7200ca70 0001ca70 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA, LINK_ONCE_SAME_SIZE 5 .pdr 000011a0 00000000 00000000 0001ca88 2**2 CONTENTS, READONLY 6 .mdebug.abi32 00000000 00000000 00000000 0001dc28 2**0 CONTENTS, READONLY 7 .comment 000000ea 00000000 00000000 0001dc28 2**0 CONTENTS, READONLY 8 .rodata 00000190 000000f0 000000f0 000000f0 2**4 CONTENTS, ALLOC, LOAD, READONLY, DATA 9 .rodata.str1.4 000005fe 00000280 00000280 00000280 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA
the 0x72xxxxxx should be 0xa2xxxxxx, because i can't pass by set 0xa2000000,so i change the .text to 0x72000000, and it can get the .bin correctly.
> > > Nigel > > -- > Nigel Stephens e. nigel@xxxxxxxx > MIPS Technologies p. +44 1223 203110 > Building 7200 f. +44 1223 203181 > Cambridge Research Park m. +44 7976 686470 > Beach Road, Waterbeach w. http://www.mips.com > Cambridge CB5 9TL, UK > >