summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1998-10-26 16:18:58 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1998-10-26 16:18:58 +0000
commitdb88957493b8c5f6c586ee3353995286766f2c41 (patch)
treec84662a4f3c98755916dd1b33ac76bea357c6c87
parentUpdated for mvme136. (diff)
downloadrtems-db88957493b8c5f6c586ee3353995286766f2c41.tar.bz2
Patches done in conjunction with Juan Zamorano Flores
<jzamora@avellano.datsi.fi.upm.es>. He debugged enough to let me know what was wrong and I supplied the code. :)
-rw-r--r--c/src/lib/libbsp/m68k/dmv152/startup/linkcmds5
-rw-r--r--c/src/lib/libbsp/m68k/idp/startup/linkcmds6
-rw-r--r--c/src/lib/libbsp/m68k/mvme136/startup/linkcmds4
-rw-r--r--c/src/lib/libbsp/m68k/mvme147/startup/linkcmds5
-rw-r--r--c/src/lib/libbsp/m68k/mvme147s/startup/linkcmds5
-rw-r--r--c/src/lib/libbsp/m68k/mvme162/startup/linkcmds5
-rw-r--r--c/src/lib/start/m68k/start.s15
7 files changed, 31 insertions, 14 deletions
diff --git a/c/src/lib/libbsp/m68k/dmv152/startup/linkcmds b/c/src/lib/libbsp/m68k/dmv152/startup/linkcmds
index ada99e3020..7046b88a20 100644
--- a/c/src/lib/libbsp/m68k/dmv152/startup/linkcmds
+++ b/c/src/lib/libbsp/m68k/dmv152/startup/linkcmds
@@ -13,6 +13,8 @@
* $Id$
*/
+StackSize = DEFINED(StackSize) ? StackSize : 0x1000;
+
MEMORY
{
ram : org = 0x12800, l = 1M
@@ -60,6 +62,9 @@ SECTIONS
_bss_start = . ;
*(.bss)
*(COMMON)
+ . += StackSize; /* XXX -- Old gld can't handle this */
+ . = ALIGN (16);
+ stack_init = .;
end = . ;
_end = . ;
}
diff --git a/c/src/lib/libbsp/m68k/idp/startup/linkcmds b/c/src/lib/libbsp/m68k/idp/startup/linkcmds
index 68026b08f8..d35d1d17ac 100644
--- a/c/src/lib/libbsp/m68k/idp/startup/linkcmds
+++ b/c/src/lib/libbsp/m68k/idp/startup/linkcmds
@@ -11,6 +11,9 @@
* stack grows up towards high memory. This works for
* both the rom68k and the mon68k monitors.
*/
+
+StackSize = DEFINED(StackSize) ? StackSize : 0x1000;
+
MEMORY
{
ram : org = 0x10000, l = 2M
@@ -58,6 +61,9 @@ SECTIONS
_bss_start = . ;
*(.bss)
*(COMMON)
+ . += StackSize; /* XXX -- Old gld can't handle this */
+ . = ALIGN (16);
+ stack_init = .;
end = . ;
_end = . ;
}
diff --git a/c/src/lib/libbsp/m68k/mvme136/startup/linkcmds b/c/src/lib/libbsp/m68k/mvme136/startup/linkcmds
index 8598b870e9..eb88a08bfe 100644
--- a/c/src/lib/libbsp/m68k/mvme136/startup/linkcmds
+++ b/c/src/lib/libbsp/m68k/mvme136/startup/linkcmds
@@ -13,6 +13,7 @@
* $Id$
*/
+StackSize = DEFINED(StackSize) ? StackSize : 0x1000;
MEMORY
{
ram : org = 0x3000, l = 1M
@@ -60,6 +61,9 @@ SECTIONS
_bss_start = . ;
*(.bss)
*(COMMON)
+ . += StackSize; /* XXX -- Old gld can't handle this */
+ . = ALIGN (16);
+ stack_init = .;
end = . ;
_end = . ;
}
diff --git a/c/src/lib/libbsp/m68k/mvme147/startup/linkcmds b/c/src/lib/libbsp/m68k/mvme147/startup/linkcmds
index fec94a5783..4749021258 100644
--- a/c/src/lib/libbsp/m68k/mvme147/startup/linkcmds
+++ b/c/src/lib/libbsp/m68k/mvme147/startup/linkcmds
@@ -17,6 +17,8 @@
* $Id$
*/
+StackSize = DEFINED(StackSize) ? StackSize : 0x1000;
+
MEMORY
{
ram : org = 0x5000, l = 0x3fafff
@@ -64,6 +66,9 @@ SECTIONS
_bss_start = . ;
*(.bss)
*(COMMON)
+ . += StackSize; /* XXX -- Old gld can't handle this */
+ . = ALIGN (16);
+ stack_init = .;
end = . ;
_end = . ;
}
diff --git a/c/src/lib/libbsp/m68k/mvme147s/startup/linkcmds b/c/src/lib/libbsp/m68k/mvme147s/startup/linkcmds
index 4fb36e7301..15c1ecf8e8 100644
--- a/c/src/lib/libbsp/m68k/mvme147s/startup/linkcmds
+++ b/c/src/lib/libbsp/m68k/mvme147s/startup/linkcmds
@@ -17,6 +17,8 @@
* $Id$
*/
+StackSize = DEFINED(StackSize) ? StackSize : 0x1000;
+
MEMORY
{
ram : org = 0x7000, l = 0x3d8fff
@@ -64,6 +66,9 @@ SECTIONS
_bss_start = . ;
*(.bss)
*(COMMON)
+ . += StackSize; /* XXX -- Old gld can't handle this */
+ . = ALIGN (16);
+ stack_init = .;
end = . ;
_end = . ;
}
diff --git a/c/src/lib/libbsp/m68k/mvme162/startup/linkcmds b/c/src/lib/libbsp/m68k/mvme162/startup/linkcmds
index 7e3d734dbe..27bea7d764 100644
--- a/c/src/lib/libbsp/m68k/mvme162/startup/linkcmds
+++ b/c/src/lib/libbsp/m68k/mvme162/startup/linkcmds
@@ -20,6 +20,8 @@
* $Id$
*/
+StackSize = DEFINED(StackSize) ? StackSize : 0x1000;
+
MEMORY
{
ram : org = 0x100000, l = 1M
@@ -62,6 +64,9 @@ SECTIONS
bss_start = . ;
*(.bss)
*(COMMON)
+ . += StackSize; /* XXX -- Old gld can't handle this */
+ . = ALIGN (16);
+ stack_init = .;
end = . ;
_end = . ;
}
diff --git a/c/src/lib/start/m68k/start.s b/c/src/lib/start/m68k/start.s
index e7a58e997b..72849170d9 100644
--- a/c/src/lib/start/m68k/start.s
+++ b/c/src/lib/start/m68k/start.s
@@ -77,10 +77,7 @@ loop: movel #0,a1@+ | to zero out uninitialized
cmpal a0,a1
jlt loop | loop until _end reached
- movel # SYM (end),d0 | d0 = end of bss/start of heap
- addl # SYM (heap_size),d0 | d0 = end of heap
- movel d0, SYM (stack_start) | Save for brk() routine
- addl # SYM (stack_size),d0 | make room for stack
+ movel # SYM (stack_init),d0 | d0 = stop of stack
andl #0xffffffc0,d0 | align it on 16 byte boundary
movw #0x3700,sr | SUPV MODE,INTERRUPTS OFF!!!
movel d0,a7 | set master stack pointer
@@ -124,9 +121,6 @@ BEGIN_DATA
SYM (start_frame):
.space 4,0
- PUBLIC (stack_start)
-SYM (stack_start):
- .space 4,0
END_DATA
BEGIN_BSS
@@ -152,13 +146,6 @@ SYM (initial_usp):
SYM (initial_sr):
.space 2
- PUBLIC (heap_size)
- .set SYM (heap_size),0x2000
-
- PUBLIC (stack_size)
- .set SYM (stack_size),0x1000
-
-
END_DATA
#endif
END