summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/m68k/gen68360/startup/linkcmds
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1996-04-24 20:05:52 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1996-04-24 20:05:52 +0000
commit11532ca43528633a18572469307f33e48d9568a9 (patch)
tree945a031da9683431b35bed5b09676e2a35f8c90c /c/src/lib/libbsp/m68k/gen68360/startup/linkcmds
parentadded comment regarding stack alignment issues to thread stack allocation (diff)
downloadrtems-11532ca43528633a18572469307f33e48d9568a9.tar.bz2
Hacked so gld will accept this so we can purge the aout toolset. This change
should be undone when the m68k-coff cross toolset is updated next time.
Diffstat (limited to 'c/src/lib/libbsp/m68k/gen68360/startup/linkcmds')
-rw-r--r--c/src/lib/libbsp/m68k/gen68360/startup/linkcmds23
1 files changed, 21 insertions, 2 deletions
diff --git a/c/src/lib/libbsp/m68k/gen68360/startup/linkcmds b/c/src/lib/libbsp/m68k/gen68360/startup/linkcmds
index 0eb212d4b8..74d5855fe8 100644
--- a/c/src/lib/libbsp/m68k/gen68360/startup/linkcmds
+++ b/c/src/lib/libbsp/m68k/gen68360/startup/linkcmds
@@ -21,6 +21,13 @@ MEMORY {
/*
* Declare some sizes
*/
+
+/*
+ * XXX: The assignment of ". += XyzSize;" fails in older gld's if the
+ * number used there is not constant so the calculated sizes are
+ * ignored below and the default number is used instead.
+ */
+
HeapSize = DEFINED(HeapSize) ? HeapSize : 0x10000;
StackSize = DEFINED(StackSize) ? StackSize : 0x1000;
@@ -29,6 +36,7 @@ StackSize = DEFINED(StackSize) ? StackSize : 0x1000;
*/
SECTIONS {
.text : {
+ _RamBase = .;
__RamBase = .;
CREATE_OBJECT_SYMBOLS
*(.text)
@@ -41,6 +49,7 @@ SECTIONS {
_edata = .;
} >ram
.bss : {
+ M68Kvec = .;
_M68Kvec = .;
. += (256 * 4);
clear_start = .;
@@ -49,13 +58,21 @@ SECTIONS {
. = ALIGN (16);
_end = .;
+ _HeapStart = .;
__HeapStart = .;
- . += HeapSize;
- . += StackSize;
+ /* XXX: Temporary to get around a gld bug
+ *
+ * . += HeapSize;
+ * . += StackSize;
+ */
+ . += 0x10000; /* XXX */
+ . += 0x1000; /* XXX */
+
. = ALIGN (16);
stack_init = .;
clear_end = .;
+ _WorkspaceBase = .;
__WorkspaceBase = .;
} >ram
@@ -63,6 +80,7 @@ SECTIONS {
* On-chip memory/peripherals
*/
dpram : {
+ m360 = .;
_m360 = .;
. += (8 * 1024);
@@ -72,6 +90,7 @@ SECTIONS {
* Boot PROM
*/
rom : {
+ _RomBase = .;
__RomBase = .;
} >rom
}