diff options
Diffstat (limited to 'toolchain/elf2flt/elf2flt/elf2flt.ld')
-rw-r--r-- | toolchain/elf2flt/elf2flt/elf2flt.ld | 179 |
1 files changed, 0 insertions, 179 deletions
diff --git a/toolchain/elf2flt/elf2flt/elf2flt.ld b/toolchain/elf2flt/elf2flt/elf2flt.ld deleted file mode 100644 index cd4e652c3..000000000 --- a/toolchain/elf2flt/elf2flt/elf2flt.ld +++ /dev/null @@ -1,179 +0,0 @@ - -ENTRY (_start) - -MEMORY { - flatmem : ORIGIN = 0x0, LENGTH = 0xfffffff -} - -SECTIONS { - - .text 0x0 : { - . = . + 4; - . = ALIGN(0x4) ; - _stext = . ; - *(.text) - *(.text.*) - *(.gnu.warning) - *(.stub) - *(.gnu.linkonce.t*) - *(.glue_7t) - *(.glue_7) - *(.jcr) - *(.init) - *(.fini) - -W_RODAT *(.rodata) -W_RODAT *(.rodata1) -W_RODAT *(.rodata.*) -W_RODAT *(.gnu.linkonce.r*) - - /* 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 (4) ; - PROVIDE(__ctbp = .); - *(.call_table_data) - *(.call_table_text) - - . = ALIGN(0x20) ; - _etext = . ; - } > flatmem - - .data : { - . = ALIGN(0x4) ; - _sdata = . ; - __data_start = . ; - data_start = . ; - *(.got.plt) - *(.got) - FILL(0) ; - . = ALIGN(0x20) ; - LONG(-1) - . = ALIGN(0x20) ; -R_RODAT *(.rodata) -R_RODAT *(.rodata1) -R_RODAT *(.rodata.*) -R_RODAT *(.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) /* Don't move this! */ - _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) -SINGLE_LINK: /* gcc uses crtbegin.o to find the start of -SINGLE_LINK: the constructors, so we make sure it is -SINGLE_LINK: first. Because this is a wildcard, it -SINGLE_LINK: doesn't matter if the user does not -SINGLE_LINK: actually link against crtbegin.o; the -SINGLE_LINK: linker won't look for a file to match a -SINGLE_LINK: wildcard. The wildcard also means that it -SINGLE_LINK: doesn't matter which directory crtbegin.o -SINGLE_LINK: is in. */ -SINGLE_LINK: KEEP (*crtbegin*.o(.ctors)) -SINGLE_LINK: /* We don't want to include the .ctor section from -SINGLE_LINK: from the crtend.o file until after the sorted ctors. -SINGLE_LINK: The .ctor section from the crtend file contains the -SINGLE_LINK: end of ctors marker and it must be last */ -SINGLE_LINK: KEEP (*(EXCLUDE_FILE (*crtend*.o ) .ctors)) -SINGLE_LINK: KEEP (*(SORT(.ctors.*))) - KEEP (*(.ctors)) - LONG(0) - __CTOR_END__ = .; - __DTOR_LIST__ = .; - LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2) -SINGLE_LINK: KEEP (*crtbegin*.o(.dtors)) -SINGLE_LINK: KEEP (*(EXCLUDE_FILE (*crtend*.o ) .dtors)) -SINGLE_LINK: KEEP (*(SORT(.dtors.*))) - KEEP (*(.dtors)) - LONG(0) - __DTOR_END__ = .; - - PROVIDE (__preinit_array_start = .); - KEEP (*(.preinit_array)) - PROVIDE (__preinit_array_end = .); - - PROVIDE (__init_array_start = .); - KEEP (*(SORT(.init_array.*))) - KEEP (*(.init_array)) - PROVIDE (__init_array_end = .); - - PROVIDE (__fini_array_start = .); - KEEP (*(.fini_array)) - KEEP (*(SORT(.fini_array.*))) - PROVIDE (__fini_array_end = .); - - . = ALIGN(0x10) ; - _edata = . ; - } > flatmem - - .bss : { - . = ALIGN(0x4) ; - _sbss = ALIGN(0x4) ; - __bss_start = . ; - *(.dynsbss) - *(.sbss) - *(.sbss.*) - *(.scommon) - *(.dynbss) - *(.bss) - *(.bss.*) - *(.bss*) - *(.gnu.linkonce.b*) - *(COMMON) - . = ALIGN(0x10) ; - _ebss = . ; - _end = . ; - end = . ; - } > flatmem - - .stack : { - . = ALIGN(0x4); - __stack_start = .; - } - - .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) } -} |