V850, interfacing to newlib?
Torsten Mohr
tmohr@s.netic.de
Mon Jun 5 16:08:00 GMT 2006
Hi,
in newlib-1.14.0/newlib/libc/sys/sysnecv850/sbrk.c i see:
caddr_t _sbrk (int incr)
{
extern char end; /* Defined by the linker */
static char *heap_end;
char *prev_heap_end;
#if 0
char *sp = (char *)stack_ptr;
#else
char *sp = (char *)&sp; // #######################
#endif
if (heap_end == 0)
{
heap_end = &end;
}
prev_heap_end = heap_end;
if (heap_end + incr > sp)
{
_write (1, "Heap and stack collision\n", 25);
abort ();
}
heap_end += incr;
return (caddr_t) prev_heap_end;
}
Does that mean that i need to supply "sp" in the linker script
to have proper stack checking?
If yes, what else do i need to supply? Is there a list of any
other things i need to do?
Best regards,
Torsten.
More information about the Newlib
mailing list