This is the mail archive of the
newlib@sourceware.org
mailing list for the newlib project.
V850, interfacing to newlib?
- From: Torsten Mohr <tmohr at s dot netic dot de>
- To: newlib at sourceware dot org
- Date: Sat, 3 Jun 2006 20:55:13 +0200
- Subject: V850, interfacing to newlib?
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.