2002-08-05 Joel Sherrill <joel@OARcorp.com>

* startup/bspstart.c, startup/linkcmds: Per PR247 , fix the linkcmds
	to avoid overlapping sections and reworked the way the heap and
	workspace are calculated.
This commit is contained in:
Joel Sherrill
2002-08-05 16:55:50 +00:00
parent 6ada2b1ea1
commit db3ca1f596
3 changed files with 17 additions and 10 deletions

View File

@@ -1,3 +1,9 @@
2002-08-05 Joel Sherrill <joel@OARcorp.com>
* startup/bspstart.c, startup/linkcmds: Per PR247 , fix the linkcmds
to avoid overlapping sections and reworked the way the heap and
workspace are calculated.
2002-07-21 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* start/Makefile.am: Eliminate PGM.

View File

@@ -56,12 +56,16 @@ void bsp_libc_init( void *, unsigned32, int );
void bsp_pretasking_hook(void)
{
extern int HeapBase;
extern int HeapSize;
void *heapStart = &HeapBase;
unsigned long heapSize = (unsigned long)&HeapSize;
void *heapStart;
unsigned long heapSize;
unsigned long ramSpace;
extern int WorkspaceBase;
heapStart = (void *)
((unsigned long)&WorkspaceBase + BSP_Configuration.work_space_size);
if ( (unsigned long) heapStart > (256 * 1024) )
rtems_fatal_error_occurred (('H'<<24) | ('E'<<16) | ('A'<<8) | 'P');
heapSize = (256 * 1024) - (unsigned long)(heapStart);
bsp_libc_init(heapStart, heapSize, 0);
#ifdef RTEMS_DEBUG
@@ -78,7 +82,6 @@ void bsp_pretasking_hook(void)
void bsp_start( void )
{
extern int _end;
extern int WorkspaceBase;
/* Configure Number of Register Caches */

View File

@@ -53,7 +53,7 @@ SECTIONS
_etext = .;
} >ram
.tors : {
.tors SIZEOF(.text) + ADDR(.text): {
___ctors = . ;
*(.ctors)
___ctors_end = . ;
@@ -61,9 +61,10 @@ SECTIONS
*(.dtors)
___dtors_end = . ;
} >ram
.data SIZEOF(.text) + ADDR(.text):
.data SIZEOF(.tors) + ADDR(.tors):
{
*(.data)
*(.gcc_exc*)
CONSTRUCTORS
_edata = .;
} >ram
@@ -77,9 +78,6 @@ SECTIONS
_stack_init = .;
_clear_end = .;
_WorkspaceBase = .;
. += 64K; /* reserve some memory for workspace */
_HeapBase = .;
. += _HeapSize; /* reserve some memory for heap */
_end = .;
__end = .;
} >ram