From c0ebf023b795036f6f0d8bcf887b3af27c90e85e Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Thu, 13 Jan 2000 15:06:24 +0000 Subject: New patch from Eric Norum plus some minor mods by Joel. --- c/src/lib/libbsp/m68k/gen68360/startup/linkcmds | 48 ++++++------------------- 1 file changed, 10 insertions(+), 38 deletions(-) (limited to 'c/src/lib/libbsp/m68k/gen68360/startup/linkcmds') diff --git a/c/src/lib/libbsp/m68k/gen68360/startup/linkcmds b/c/src/lib/libbsp/m68k/gen68360/startup/linkcmds index c72364b9d3..39f4c8dbd3 100644 --- a/c/src/lib/libbsp/m68k/gen68360/startup/linkcmds +++ b/c/src/lib/libbsp/m68k/gen68360/startup/linkcmds @@ -13,9 +13,10 @@ /* * Declare some sizes. + * A heap size of 0 means `use all available memory for the heap'. */ -HeapSize = DEFINED(HeapSize) ? HeapSize : 0x10000; -StackSize = DEFINED(StackSize) ? StackSize : 0x1000; +_HeapSize = DEFINED(_HeapSize) ? _HeapSize : 0x0; +_StackSize = DEFINED(_StackSize) ? _StackSize : 0x1000; /* * Declare on-board memory. @@ -57,18 +58,6 @@ SECTIONS { /* * Initialization and finalization code. - * - * Various files can provide initialization and finalization - * functions. crtbegin.o and crtend.o are two instances. The - * body of these functions are in .init and .fini sections. We - * accumulate the bodies here, and prepend function prologues - * from crti.o and function epilogues from crtn.o. crti.o must - * be linked first; crtn.o must be linked last. Because these - * are wildcards, it doesn't matter if the user does not - * actually link against crti.o and crtn.o; the linker won't - * look for a file to match a wildcard. The wildcard also - * means that it doesn't matter which directory crti.o and - * crtn.o are in. */ PROVIDE (_init = .); *crti.o(.init) @@ -81,15 +70,6 @@ SECTIONS { /* * C++ constructors/destructors - * - * gcc uses crtbegin.o to find the start of the constructors - * and destructors 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. The - * constructor and destructor list are terminated in - * crtend.o. The same comments apply to it. */ . = ALIGN (16); *crtbegin.o(.ctors) @@ -117,33 +97,27 @@ SECTIONS { PROVIDE (etext = .); } >ram .data : { - copy_start = .; + _copy_start = .; *(.data) *(.gnu.linkonce.d*) *(.gcc_except_table) . = ALIGN (16); - PROVIDE (_edata = .); - copy_end = .; + PROVIDE (edata = .); + _copy_end = .; } >ram .bss : { M68Kvec = .; - _M68Kvec = .; . += (256 * 4); - clear_start = .; + _clear_start = .; *(.bss) *(COMMON) . = ALIGN (16); PROVIDE (end = .); - . += StackSize; - PROVIDE (_stack_init = .); - + . += _StackSize; . = ALIGN (16); - PROVIDE (_HeapStart = .); - . += HeapSize; - PROVIDE (_HeapEnd = .); - - PROVIDE (_clear_end = .); + _stack_init = .; + _clear_end = .; _WorkspaceBase = .; } >ram @@ -153,8 +127,6 @@ SECTIONS { */ dpram : { m360 = .; - _m360 = .; . += (8 * 1024); - } >dpram } -- cgit v1.2.3