[binutils]link error on section
zcai@ali.com.tw
zcai@ali.com.tw
Fri Dec 27 00:01:00 GMT 2002
Hi,
? ? ? ? Here is the lds, I split the text section in ROM and RAM. While in ROM text can be jumpped
into. While the text in ROM can't jump to RAM. The cause is, when linking over, the jump addr to RAM
is error. How can I solve this problem?
ENTRY(_start)
OUTPUT_FORMAT("elf32-bigmips")
SEARCH_DIR(.)
__DYNAMIC ?= ?0;
SECTIONS
{
? .flash 0xdfc00000 : {
? ? dt.o(.text)
? ? }
? . = 0x00010000;
? .text : {
? ? ?_ftext = . ;
? ? *(.init)
? ? ?eprol ?= ?.;
? ? *(.text)
? ? *(.text.*)
? ? *(.gnu.linkonce.t*)
? ? *(.mips16.fn.*)
? ? *(.mips16.call.*)
? ? PROVIDE (__runtime_reloc_start = .);
? ? *(.rel.sdata)
? ? PROVIDE (__runtime_reloc_stop = .);
? ? *(.fini)
? ? ?etext ?= ?.;
? ? ?_etext ?= ?.;
? }
? . = ALIGN(16);
? .rodata : {
? ? *(.rdata)
? ? *(.rodata)
? ? *(.rodata.*)
? ? *(.gnu.linkonce.r*)
? }
? ?_fdata = ALIGN(16);
? .data : {
? ? *(.data)
? ? *(.data.*)
? ? *(.gnu.linkonce.d*)
? }
? . = ALIGN(8);
? _gp = . + 0x8000;
? __global = _gp;
? .sdata : {
? ? *(.sdata)
? ? *(.sdata.*)
? ? *(.gnu.linkonce.s*)
? }
? . = ALIGN(4);
? ?edata ?= ?.;
? ?_edata ?= ?.;
? ?_fbss = .;
? .sbss : {
? ? *(.sbss)
? ? *(.scommon)
? }
? .bss : {
? ? _bss_start = . ;
? ? *(.bss)
? ? *(COMMON)
? }
? ?end = .;
? ?_end = .;
? /* DWARF debug sections.
? ? ?Symbols in the DWARF debugging sections are relative to
? ? ?the beginning of the section so we begin them at 0. ?*/
? /* DWARF 1 */
? .debug ? ? ? ? ?0 : { *(.debug) }
? .line ? ? ? ? ? 0 : { *(.line) }
}
when the func in dt.o jump to the ram func, the addr is 0xd......., the correct is 0x0......
Thanks first.
More information about the Binutils
mailing list