URL
https://opencores.org/ocsvn/openfire2/openfire2/trunk
Subversion Repositories openfire2
Compare Revisions
- This comparison shows the changes necessary to convert path
/openfire2/trunk/sw/link
- from Rev 3 to Rev 6
- ↔ Reverse comparison
Rev 3 → Rev 6
/script-bram.ld
0,0 → 1,139
SEARCH_DIR(/cygdrive/c/edk/gnu/microblaze/nt/microblaze/lib); |
_STACK_START = DEFINED(_STACK_START) ? _STACK_START : 0x2000; /* initial stack at end of block-ram */ |
|
ENTRY (_start) |
MEMORY { |
flatmem : ORIGIN = 0x0, LENGTH = 0xfffffff /* flat memory model */ |
} |
|
SECTIONS { |
.text 0x0 : { |
. = ALIGN(0x4) ; |
_stext = . ; |
*(.text) |
*(.text.*) |
*(.gnu.warning) |
*(.stub) |
*(.gnu.linkonce.t*) |
*(.glue_7t) |
*(.glue_7) |
*(.jcr) |
*(.init) |
*(.fini) |
|
*(.rodata) |
*(.rodata1) |
*(.rodata.*) |
|
/* This is special code area at the end of the normal |
text section. It contains a small lookup table at |
the start followed by the code pointed to by entries |
in the lookup table. */ |
. = ALIGN (0x4) ; |
PROVIDE(__ctbp = .); |
*(.call_table_data) |
*(.call_table_text) |
|
. = ALIGN(0x4) ; |
_etext = . ; |
} > flatmem |
.data : { |
. = ALIGN(0x4) ; |
_sdata = . ; |
__data_start = . ; |
data_start = . ; |
*(.got.plt) |
*(.got) |
/* FILL(0) ; |
. = ALIGN(0x04) ; |
LONG(-1) |
. = ALIGN(0x04) ; */ |
*(.rodata) |
*(.rodata1) |
*(.rodata.*) |
*(.gnu.linkonce.r*) |
*(.data) |
*(.data1) |
*(.data.*) |
*(.gnu.linkonce.d*) |
*(.data1) |
*(.eh_frame) |
*(.gcc_except_table) |
|
/* Microblaze has .sdata and .sbss (small bss). They must |
be contiguous, so please don't move any of this. JW */ |
_ssrw = . ; |
*(.sdata) |
*(.sdata.*) |
__sbss_start = . ; |
*(.sbss) /* Don't move this! */ |
__sbss_end = . ; |
_essrw = . ; |
|
_ssrw_size = _essrw - _ssrw; |
PROVIDE(_SDA_BASE_ = _ssrw + (_ssrw_size / 2)); |
|
*(.gnu.linkonce.s.*) |
*(__libc_atexit) |
*(__libc_subinit) |
*(__libc_subfreeres) |
*(.note.ABI-tag) |
|
/* microblaze-specific read-only small data area |
and associated locating symbols */ |
_ssro = . ; |
*(.sdata2) |
_essro = . ; |
_ssro_size = _essro - _ssro; |
PROVIDE(_SDA2_BASE_ = _ssro + (_ssro_size / 2)); |
|
. = ALIGN(4) ; |
__CTOR_LIST__ = .; |
LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2) |
*(.ctors) |
LONG(0) |
__CTOR_END__ = .; |
__DTOR_LIST__ = .; |
LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2) |
*(.dtors) |
LONG(0) |
__DTOR_END__ = .; |
|
. = ALIGN(0x4) ; |
_edata = . ; |
} > flatmem |
.bss : { |
. = ALIGN(0x4) ; |
_sbss = ALIGN(0x4) ; |
__bss_start = . ; |
*(.dynsbss) |
*(.sbss) |
*(.sbss.*) |
*(.scommon) |
*(.dynbss) |
*(.bss) |
*(.bss.*) |
*(.bss*) |
*(.gnu.linkonce.b*) |
*(COMMON) |
__bss_end = . ; |
_ebss = . ; |
_end = . ; |
end = . ; |
} > flatmem |
|
.junk 0 : { *(.rel*) *(.rela*) } |
/* Stabs debugging sections. */ |
.stab 0 : { *(.stab) } |
.stabstr 0 : { *(.stabstr) } |
.stab.excl 0 : { *(.stab.excl) } |
.stab.exclstr 0 : { *(.stab.exclstr) } |
.stab.index 0 : { *(.stab.index) } |
.stab.indexstr 0 : { *(.stab.indexstr) } |
.comment 0 : { *(.comment) } |
.debug_abbrev 0 : { *(.debug_abbrev) } |
.debug_info 0 : { *(.debug_info) } |
.debug_line 0 : { *(.debug_line) } |
.debug_pubnames 0 : { *(.debug_pubnames) } |
.debug_aranges 0 : { *(.debug_aranges) } |
} |
/sp3sk-sram.ld
0,0 → 1,169
SEARCH_DIR(/cygdrive/c/xilinx/microblaze/bin/../lib/gcc/microblaze/3.4.1); |
SEARCH_DIR(/cygdrive/c/xilinx/microblaze/bin/../lib/gcc); |
SEARCH_DIR(/cygdrive/c/xilinx/microblaze/bin/../lib/gcc/microblaze/3.4.1/../../../../microblaze/lib); |
|
SEARCH_DIR(/cygdrive/d/xilinx/microblaze/bin/../lib/gcc/microblaze/3.4.1); |
SEARCH_DIR(/cygdrive/d/xilinx/microblaze/bin/../lib/gcc); |
SEARCH_DIR(/cygdrive/d/xilinx/microblaze/bin/../lib/gcc/microblaze/3.4.1/../../../../microblaze/lib); |
|
/*INPUT( -lgcc );*/ |
/*GROUP( libxil.a libc.a libm.a ); |
INPUT( -lgcc );*/ |
|
ENTRY(_start) |
|
_TEXT_START_ADDR = DEFINED(_TEXT_START_ADDR) ? _TEXT_START_ADDR : 0x04000000; /* SRAM start */ |
_MEMORY_SIZE = DEFINED(_MEMORY_SIZE) ? _MEMORY_SIZE : 0x00100000; /* SRAM size (1Mbyte) */ |
_STACK_SIZE = DEFINED(_STACK_SIZE) ? _STACK_SIZE : 0x00008000; /* Stack size */ |
_VIDEO_RAM_ADDR = DEFINED(_VIDEO_RAM_ADDR) ? _VIDEO_RAM_ADDR : 0x040E2000; /* VRAM start */ |
|
SECTIONS |
{ |
. = _TEXT_START_ADDR; |
_ftext = .; |
.text : { |
*(.text) |
*(.text.*) |
*(.gnu.linkonce.t.*) |
} |
_etext = .; |
.init : { KEEP (*(.init)) } =0 |
.fini : { KEEP (*(.fini)) } =0 |
PROVIDE (__CTOR_LIST__ = .); |
PROVIDE (___CTOR_LIST__ = .); |
.ctors : |
{ |
/* gcc uses crtbegin.o to find the start of |
the constructors, so we make sure it is |
first. Because this is a wildcard, it |
doesn't matter if the user does not |
actually link against crtbegin.o; the |
linker won't look for a file to match a |
wildcard. The wildcard also means that it |
doesn't matter which directory crtbegin.o |
is in. */ |
KEEP (*crtbegin.o(.ctors)) |
/* We don't want to include the .ctor section from |
from the crtend.o file until after the sorted ctors. |
The .ctor section from the crtend file contains the |
end of ctors marker and it must be last */ |
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) |
KEEP (*(SORT(.ctors.*))) |
KEEP (*(.ctors)) |
} |
PROVIDE (__CTOR_END__ = .); |
PROVIDE (___CTOR_END__ = .); |
PROVIDE (__DTOR_LIST__ = .); |
PROVIDE (___DTOR_LIST__ = .); |
.dtors : |
{ |
KEEP (*crtbegin.o(.dtors)) |
KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) |
KEEP (*(SORT(.dtors.*))) |
KEEP (*(.dtors)) |
} |
PROVIDE (__DTOR_END__ = .); |
PROVIDE (___DTOR_END__ = .); |
. = ALIGN(4); |
_frodata = . ; |
.rodata : { |
*(.rodata) |
*(.gnu.linkonce.r.*) |
CONSTRUCTORS; /* Is this needed? */ |
} |
_erodata = .; |
/* Alignments by 8 to ensure that _SDA2_BASE_ on a word boundary */ |
/* Note that .sdata2 and .sbss2 must be contiguous */ |
. = ALIGN(8); |
_ssrw = .; |
.sdata2 : { |
*(.sdata2) |
*(.gnu.linkonce.s2.*) |
} |
. = ALIGN(4); |
.sbss2 : { |
PROVIDE (__sbss2_start = .); |
*(.sbss2) |
*(.gnu.linkonce.sb2.*) |
PROVIDE (__sbss2_end = .); |
} |
. = ALIGN(8); |
_essrw = .; |
_ssrw_size = _essrw - _ssrw; |
PROVIDE (_SDA2_BASE_ = _ssrw + (_ssrw_size / 2 )); |
. = ALIGN(4); |
_fdata = .; |
.data : { |
*(.data) |
*(.gnu.linkonce.d.*) |
CONSTRUCTORS; /* Is this needed? */ |
} |
_edata = . ; |
/* Added to handle pic code */ |
.got : { |
*(.got) |
} |
.got1 : { |
*(.got1) |
} |
.got2 : { |
*(.got2) |
} |
/* Added by Sathya to handle C++ exceptions */ |
.eh_frame : { |
*(.eh_frame) |
} |
.jcr : { |
*(.jcr) |
} |
.gcc_except_table : { |
*(.gcc_except_table) |
} |
/* Alignments by 8 to ensure that _SDA_BASE_ on a word boundary */ |
/* Note that .sdata and .sbss must be contiguous */ |
. = ALIGN(8); |
_ssro = .; |
.sdata : { |
*(.sdata) |
*(.gnu.linkonce.s.*) |
} |
. = ALIGN(4); |
.sbss : { |
PROVIDE (__sbss_start = .); |
*(.sbss) |
*(.gnu.linkonce.sb.*) |
PROVIDE (__sbss_end = .); |
} |
. = ALIGN(8); |
_essro = .; |
_ssro_size = _essro - _ssro; |
PROVIDE (_SDA_BASE_ = _ssro + (_ssro_size / 2 )); |
. = ALIGN(4); |
_fbss = .; |
.bss : { |
PROVIDE (__bss_start = .); |
*(.bss) |
*(.gnu.linkonce.b.*) |
*(COMMON) |
. = ALIGN(4); |
PROVIDE (__bss_end = .); |
_heap = .; |
_heap_start = .; |
. = (_VIDEO_RAM_ADDR - _STACK_SIZE - 16); |
_heap_end = .; |
_stack_end = .; |
. += _STACK_SIZE; |
. = ALIGN(8); |
_stack = .; |
_end = .; |
_HEAP_SIZE = _heap_end - _heap_start; /* calculate heap size */ |
} |
.tdata : { |
*(.tdata) |
*(.gnu.linkonce.td.*) |
} |
.tbss : { |
*(.tbss) |
*(.gnu.linkonce.tb.*) |
} |
} |
/script-sram.ld
0,0 → 1,149
SEARCH_DIR(/cygdrive/c/edk/gnu/microblaze/nt/lib/gcc/microblaze/3.4.1); |
SEARCH_DIR(/cygdrive/c/edk/gnu/microblaze/nt/microblaze/lib); |
|
SEARCH_DIR(/cygdrive/d/xilinx/microblaze/lib/gcc/microblaze/3.4.1); |
SEARCH_DIR(/cygdrive/d/xilinx/microblaze/microblaze/lib); |
|
_STACK_START = DEFINED(_STACK_START) ? _STACK_START : 0x040e2000; /* initial stack at end of sram (non video)*/ |
_SRAM_START = DEFINED(_SRAM_START) ? _SRAM_START : 0x04000000; /* external sram starts here */ |
|
INPUT( -lgcc ); |
GROUP( libc.a libm.a ); |
INPUT( -lgcc ); |
|
ENTRY (_start) |
MEMORY { |
flatmem : ORIGIN = 0x0, LENGTH = 0xfffffff /* flat memory model */ |
} |
|
SECTIONS { |
.text _SRAM_START : { |
. = ALIGN(0x4) ; |
_stext = . ; |
*(.text) |
*(.text.*) |
*(.gnu.warning) |
*(.stub) |
*(.gnu.linkonce.t*) |
*(.glue_7t) |
*(.glue_7) |
*(.jcr) |
*(.init) |
*(.fini) |
|
*(.rodata) |
*(.rodata1) |
*(.rodata.*) |
|
/* This is special code area at the end of the normal |
text section. It contains a small lookup table at |
the start followed by the code pointed to by entries |
in the lookup table. */ |
. = ALIGN (0x4) ; |
PROVIDE(__ctbp = .); |
*(.call_table_data) |
*(.call_table_text) |
|
. = ALIGN(0x4) ; |
_etext = . ; |
} > flatmem |
.data : { |
. = ALIGN(0x4) ; |
_sdata = . ; |
__data_start = . ; |
data_start = . ; |
*(.got.plt) |
*(.got) |
/* FILL(0) ; |
. = ALIGN(0x04) ; |
LONG(-1) |
. = ALIGN(0x04) ; */ |
*(.rodata) |
*(.rodata1) |
*(.rodata.*) |
*(.gnu.linkonce.r*) |
*(.data) |
*(.data1) |
*(.data.*) |
*(.gnu.linkonce.d*) |
*(.data1) |
*(.eh_frame) |
*(.gcc_except_table) |
|
/* Microblaze has .sdata and .sbss (small bss). They must |
be contiguous, so please don't move any of this. JW */ |
_ssrw = . ; |
*(.sdata) |
*(.sdata.*) |
__sbss_start = . ; |
*(.sbss) /* Don't move this! */ |
__sbss_end = . ; |
_essrw = . ; |
|
_ssrw_size = _essrw - _ssrw; |
PROVIDE(_SDA_BASE_ = _ssrw + (_ssrw_size / 2)); |
|
*(.gnu.linkonce.s.*) |
*(__libc_atexit) |
*(__libc_subinit) |
*(__libc_subfreeres) |
*(.note.ABI-tag) |
|
/* microblaze-specific read-only small data area |
and associated locating symbols */ |
_ssro = . ; |
*(.sdata2) |
_essro = . ; |
_ssro_size = _essro - _ssro; |
PROVIDE(_SDA2_BASE_ = _ssro + (_ssro_size / 2)); |
|
. = ALIGN(4) ; |
__CTOR_LIST__ = .; |
LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2) |
*(.ctors) |
LONG(0) |
__CTOR_END__ = .; |
__DTOR_LIST__ = .; |
LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2) |
*(.dtors) |
LONG(0) |
__DTOR_END__ = .; |
|
. = ALIGN(0x4) ; |
_edata = . ; |
} > flatmem |
.bss : { |
. = ALIGN(0x4) ; |
_sbss = ALIGN(0x4) ; |
__bss_start = . ; |
*(.dynsbss) |
*(.sbss) |
*(.sbss.*) |
*(.scommon) |
*(.dynbss) |
*(.bss) |
*(.bss.*) |
*(.bss*) |
*(.gnu.linkonce.b*) |
*(COMMON) |
__bss_end = . ; |
_ebss = . ; |
_end = . ; |
end = . ; |
} > flatmem |
|
.junk 0 : { *(.rel*) *(.rela*) } |
/* Stabs debugging sections. */ |
.stab 0 : { *(.stab) } |
.stabstr 0 : { *(.stabstr) } |
.stab.excl 0 : { *(.stab.excl) } |
.stab.exclstr 0 : { *(.stab.exclstr) } |
.stab.index 0 : { *(.stab.index) } |
.stab.indexstr 0 : { *(.stab.indexstr) } |
.comment 0 : { *(.comment) } |
.debug_abbrev 0 : { *(.debug_abbrev) } |
.debug_info 0 : { *(.debug_info) } |
.debug_line 0 : { *(.debug_line) } |
.debug_pubnames 0 : { *(.debug_pubnames) } |
.debug_aranges 0 : { *(.debug_aranges) } |
} |