Index: c/src/lib/libbsp/m68k/efi332/startup/Makefile.in
===================================================================
--- c/src/lib/libbsp/m68k/efi332/startup/Makefile.in	(revision 9b2c9693692991016e1674856fa147b65156a718)
+++ c/src/lib/libbsp/m68k/efi332/startup/Makefile.in	(revision b8c98837559029b807fc80b54d170b2c3184df1f)
@@ -17,6 +17,6 @@
 
 # C source names, if any, go here -- minus the .c
-C_PIECES = bsplibc bsppost bspstart bspclean bootcard main sbrk setvec \
-    gnatinstallhandler
+C_PIECES = bsplibc bsppost bspstart bspclean bootcard m68kpretaskinghook \
+    main sbrk setvec gnatinstallhandler
 C_FILES = $(C_PIECES:%=%.c)
 C_O_FILES = $(C_PIECES:%=${ARCH}/%.o)
Index: c/src/lib/libbsp/m68k/efi332/startup/bspstart.c
===================================================================
--- c/src/lib/libbsp/m68k/efi332/startup/bspstart.c	(revision 9b2c9693692991016e1674856fa147b65156a718)
+++ c/src/lib/libbsp/m68k/efi332/startup/bspstart.c	(revision b8c98837559029b807fc80b54d170b2c3184df1f)
@@ -39,41 +39,5 @@
 void bsp_postdriver_hook(void);
 void bsp_libc_init( void *, unsigned32, int );
-
-/*
- *  Function:   bsp_pretasking_hook
- *  Created:    95/03/10
- *
- *  Description:
- *      BSP pretasking hook.  Called just before drivers are initialized.
- *      Used to setup libc and install any BSP extensions.
- *
- *  NOTES:
- *      Must not use libc (to do io) from here, since drivers are
- *      not yet initialized.
- *
- */
- 
-void bsp_pretasking_hook(void)
-{
-/*   extern int end; */
-  rtems_unsigned32        heap_start;
-  
-  heap_start = (rtems_unsigned32) BSP_Configuration.work_space_start +
-               (rtems_unsigned32) BSP_Configuration.work_space_size;
-  if (heap_start & (CPU_ALIGNMENT-1))
-    heap_start = (heap_start + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1);
-  
-  if (heap_start > (rtems_unsigned32) RAM_END) {
-    /* rtems_fatal_error_occurred can not be used before initalization */
-    RAW_PUTS("\n\rRTEMS: Out of memory.\n\r");
-    RAW_PUTS("RTEMS:    Check RAM_END and the size of the work space.\n\r");
-  }
-
-  bsp_libc_init((void *) heap_start, (RAM_END - heap_start), 0);
- 
-#ifdef RTEMS_DEBUG
-    rtems_debug_enable( RTEMS_DEBUG_ALL_MASK );
-#endif
-}
+void bsp_pretasking_hook(void);               /* m68k version */
  
 /*
@@ -86,5 +50,5 @@
 {
   void           *vbr;
-  extern 	unsigned int _WorkspaceBase;
+  extern void    *_WorkspaceBase;
 
   /*
@@ -98,10 +62,5 @@
   Cpu_table.interrupt_vector_table = vbr;
 
-  BSP_Configuration.work_space_start = (void *)
-    (((unsigned int)_WorkspaceBase + STACK_SIZE + 0x100) & 0xffffff00);
-
-#if 0
-    (((unsigned int)_end + STACK_SIZE + 0x100) & 0xffffff00);
-#endif
+  BSP_Configuration.work_space_start = (void *) &_WorkspaceBase;
 
   /* Clock_exit is done as an atexit() function */
Index: c/src/lib/libbsp/m68k/efi332/startup/linkcmds
===================================================================
--- c/src/lib/libbsp/m68k/efi332/startup/linkcmds	(revision 9b2c9693692991016e1674856fa147b65156a718)
+++ c/src/lib/libbsp/m68k/efi332/startup/linkcmds	(revision b8c98837559029b807fc80b54d170b2c3184df1f)
@@ -34,6 +34,6 @@
  * Declare some sizes.
  */
-HeapSize = DEFINED(HeapSize) ? HeapSize : 0x10000;
-StackSize = DEFINED(StackSize) ? StackSize : 0x1000;
+_HeapSize = DEFINED(_HeapSize) ? _HeapSize : 0x10000;
+_StackSize = DEFINED(_StackSize) ? _StackSize : 0x1000;
 
 MEMORY
@@ -41,4 +41,7 @@
   ram     : ORIGIN = 0x80000, LENGTH = 512K
 }
+
+_RamBase = 0x80000;
+_RamSize = 0x80000;
 
 __end_of_ram = 0x100000;
@@ -136,5 +139,5 @@
         } >ram
         .bss : {
-                PROVIDE (_clear_start = .);
+                _clear_start = .;
                 *(.bss)
                 *(COMMON)
@@ -142,15 +145,10 @@
                 PROVIDE (end = .);
 
-                . += StackSize;
-                PROVIDE (_stack_init = .);
+                . += _StackSize;
+                . = ALIGN (16);
+                _stack_init = .;
+                _clear_end = .;
 
-                . = ALIGN (16);
-                PROVIDE (_HeapStart = .);
-                . += HeapSize;
-                PROVIDE (_HeapEnd = .);
-
-                PROVIDE (_clear_end = .);
-
-                PROVIDE (_WorkspaceBase = .);
+                _WorkspaceBase = .;
         } >ram
 }
