diff options
Diffstat (limited to 'libgloss/m68k/idp.ld')
-rw-r--r-- | libgloss/m68k/idp.ld | 146 |
1 files changed, 0 insertions, 146 deletions
diff --git a/libgloss/m68k/idp.ld b/libgloss/m68k/idp.ld deleted file mode 100644 index db6d8c5..0000000 --- a/libgloss/m68k/idp.ld +++ /dev/null @@ -1,146 +0,0 @@ -STARTUP(crt0.o) -OUTPUT_ARCH(m68k) -/* Uncomment this if you want srecords. This is needed for a.out - * if you plan to use GDB. -OUTPUT_FORMAT(srec) - */ - -SEARCH_DIR(.) -GROUP(-lidp -lc -lgcc) -__DYNAMIC = 0; - -/* - * Setup the memory map of the MC68ec0x0 Board (IDP) - * stack grows down from high memory. This works for - * both the rom68k and the mon68k monitors. - * - * The memory map look like this: - * +--------------------+ <- low memory - * | .text | - * | _etext | - * | ctor list | the ctor and dtor lists are for - * | dtor list | C++ support - * +--------------------+ - * | .data | initialized data goes here - * | _edata | - * +--------------------+ - * | .bss | - * | __bss_start | start of bss, cleared by crt0 - * | _end | start of heap, used by sbrk() - * +--------------------+ - * . . - * . . - * . . - * | __stack | top of stack - * +--------------------+ - */ - -/* - * When the IDP is not remapped (see rom68k's MP command in the - * "M68EC0x0IDP Users Manual", the first 64K bytes are reserved; - * Otherwise the first 256K bytes are reserved. - * - * The following memory map describes a unmapped IDP w/2MB RAM. - */ - -MEMORY -{ - ram (rwx) : ORIGIN = 0x00010000, LENGTH = 2M-64K - rom0 : ORIGIN = 0x00800000, LENGTH = 1M - rom1 : ORIGIN = 0x00900000, LENGTH = 1M -} - -/* - * allocate the stack to be at the top of memory, since the stack - * grows down - */ - -PROVIDE (__stack = 2M - 8); - -/* - * Initalize some symbols to be zero so we can reference them in the - * crt0 without core dumping. These functions are all optional, but - * we do this so we can have our crt0 always use them if they exist. - * This is so BSPs work better when using the crt0 installed with gcc. - * We have to initalize them twice, so we cover a.out (which prepends - * an underscore) and coff object file formats. - */ -PROVIDE (hardware_init_hook = 0); -PROVIDE (_hardware_init_hook = 0); -PROVIDE (software_init_hook = 0); -PROVIDE (_software_init_hook = 0); -/* - * stick everything in ram (of course) - */ -SECTIONS -{ - .text : - { - CREATE_OBJECT_SYMBOLS - *(.text) - - . = ALIGN(0x4); - /* These are for running static constructors and destructors under ELF. */ - KEEP (*crtbegin.o(.ctors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) - KEEP (*(SORT(.ctors.*))) - KEEP (*(.ctors)) - KEEP (*crtbegin.o(.dtors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) - KEEP (*(SORT(.dtors.*))) - KEEP (*(.dtors)) - - *(.rodata) - - . = ALIGN(0x4); - *(.gcc_except_table) - - . = ALIGN(0x4); - *(.eh_frame) - - . = ALIGN(0x4); - __INIT_SECTION__ = . ; - LONG (0x4e560000) /* linkw %fp,#0 */ - *(.init) - SHORT (0x4e5e) /* unlk %fp */ - SHORT (0x4e75) /* rts */ - - . = ALIGN(0x4); - __FINI_SECTION__ = . ; - LONG (0x4e560000) /* linkw %fp,#0 */ - *(.fini) - SHORT (0x4e5e) /* unlk %fp */ - SHORT (0x4e75) /* rts */ - - _etext = .; - *(.lit) - } > ram - - .data : - { - *(.shdata) - *(.data) - _edata = .; - } > ram - - .bss : - { - . = ALIGN(0x4); - __bss_start = . ; - *(.shbss) - *(.bss) - *(COMMON) - _end = ALIGN (0x8); - __end = _end; - } > ram - - .stab 0 (NOLOAD) : - { - *(.stab) - } - - .stabstr 0 (NOLOAD) : - { - *(.stabstr) - } -} |