diff options
Diffstat (limited to '')
-rw-r--r-- | c/src/lib/libbsp/m68k/gen68360/startup/linkcmds.prom | 26 |
1 files changed, 11 insertions, 15 deletions
diff --git a/c/src/lib/libbsp/m68k/gen68360/startup/linkcmds.prom b/c/src/lib/libbsp/m68k/gen68360/startup/linkcmds.prom index c9363fae2a..d459f5e922 100644 --- a/c/src/lib/libbsp/m68k/gen68360/startup/linkcmds.prom +++ b/c/src/lib/libbsp/m68k/gen68360/startup/linkcmds.prom @@ -3,26 +3,19 @@ * Variations in hardware type and dynamic memory size can be made * by overriding some values with linker command-line arguments. * - * These linker directives are for producing a BOOTP PROM. - * To create the PROM image from the linker output you must use objcopy - * (--adjust-section-vma) to place the data segment at the end of the text - * segment in the PROM. The start-up code takes care of copying this region - * to RAM. + * These linker directives are for producing a PROM version. + * The data segment is placed at the end of the text segment in the PROM. + * The start-up code takes care of copying this region to RAM. * * Saskatchewan Accelerator Laboratory * University of Saskatchewan * Saskatoon, Saskatchewan, CANADA * eric@skatter.usask.ca - * + * * $Id$ */ /* - * a.out format doesn't handle prom images very well - */ -OUTPUT_FORMAT(coff-m68k) - -/* * Declare some sizes. * XXX: The assignment of ". += XyzSize;" fails in older gld's if the * number used there is not constant. If this happens to you, edit @@ -36,8 +29,8 @@ StackSize = DEFINED(StackSize) ? StackSize : 0x1000; */ MEMORY { ram : ORIGIN = 0x00000000, LENGTH = 64M - rom : ORIGIN = 0xFF000000, LENGTH = 1M - dpram : ORIGIN = 0xFE000000, LENGTH = 8k + rom : ORIGIN = 0x0F000000, LENGTH = 1M + dpram : ORIGIN = 0x0E000000, LENGTH = 8k } /* @@ -63,11 +56,14 @@ SECTIONS { /* * Text, data and bss segments */ - .text : { + .text : AT (0x00000000) { CREATE_OBJECT_SYMBOLS *(.text) . = ALIGN (16); + *(.eh_fram) + . = ALIGN (16); + /* * C++ constructors */ @@ -85,7 +81,7 @@ SECTIONS { etext = .; _etext = .; } >rom - .data : { + .data : AT(SIZEOF(.text)) { copy_start = .; *(.data) . = ALIGN (16); |