2f2a304234
* configure.host (msp430): Add. * libc/include/machine/ieeefp.h: Add MSP430 support. * libc/include/machine/setjmp.h: Likewise. * libc/include/sys/config.h: Likewise. * libc/machine/configure.in (msp430): Add. * libc/machine/configure: Regenerate. * libc/machine/msp430: New directory. [libgloss] * configure.in (msp430*-*-elf): Add. * configure: Regenerate. * msp430: New directory.
34 lines
1.1 KiB
C
34 lines
1.1 KiB
C
/* Copyright (c) 2013 Red Hat, Inc. All rights reserved.
|
|
|
|
This copyrighted material is made available to anyone wishing to use, modify,
|
|
copy, or redistribute it subject to the terms and conditions of the BSD
|
|
License. This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY expressed or implied, including the implied warranties
|
|
of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. A copy of this license
|
|
is available at http://www.opensource.org/licenses. Any Red Hat trademarks that
|
|
are incorporated in the source code or documentation are not subject to the BSD
|
|
License and may only be used or replicated with the express permission of
|
|
Red Hat, Inc.
|
|
*/
|
|
|
|
char *
|
|
_sbrk (int adj)
|
|
{
|
|
extern char end[]; /* Defined in the linker script. */
|
|
static char * heap = end;
|
|
char * rv = heap;
|
|
char * sp = (char *) & sp; /* Stack grows down, heap grows up... */
|
|
|
|
if (heap + adj > sp)
|
|
{
|
|
#define MESSAGE "Heap and stack collision\n"
|
|
write (1, MESSAGE, sizeof MESSAGE);
|
|
abort ();
|
|
}
|
|
|
|
heap += adj;
|
|
return rv;
|
|
}
|
|
|
|
char * sbrk (int) __attribute__((weak, alias ("_sbrk")));
|