diff options
author | Uros Majstorovic <majstor@majstor.org> | 2020-08-05 02:52:42 +0200 |
---|---|---|
committer | Uros Majstorovic <majstor@majstor.org> | 2020-08-05 02:52:42 +0200 |
commit | 0894a1e7664504312a9cdfc826eef89030aaaa1b (patch) | |
tree | 51e37e46d7862437583dbe02e6ebf03997a664be /code/fe310/gloss/sys_sbrk.c | |
parent | dff71bc297b744856e303ad9a175de92c9acae0d (diff) |
new directory sructure for fe310 fw
Diffstat (limited to 'code/fe310/gloss/sys_sbrk.c')
-rw-r--r-- | code/fe310/gloss/sys_sbrk.c | 38 |
1 files changed, 0 insertions, 38 deletions
diff --git a/code/fe310/gloss/sys_sbrk.c b/code/fe310/gloss/sys_sbrk.c deleted file mode 100644 index ce10c90..0000000 --- a/code/fe310/gloss/sys_sbrk.c +++ /dev/null @@ -1,38 +0,0 @@ -#include <sys/types.h> - -/* brk is handled entirely within the C library. This limits METAL programs that - * use the C library to be disallowed from dynamically allocating memory - * without talking to the C library, but that sounds like a sane way to go - * about it. Note that there is no error checking anywhere in this file, users - * will simply get the relevant error when actually trying to use the memory - * that's been allocated. */ -extern char metal_segment_heap_target_start; -extern char metal_segment_heap_target_end; -static char *brk = &metal_segment_heap_target_start; - -int -_brk(void *addr) -{ - brk = addr; - return 0; -} - -char * -_sbrk(ptrdiff_t incr) -{ - char *old = brk; - - /* If __heap_size == 0, we can't allocate memory on the heap */ - if(&metal_segment_heap_target_start == &metal_segment_heap_target_end) { - return (void *)-1; - } - - /* Don't move the break past the end of the heap */ - if ((brk + incr) <= &metal_segment_heap_target_end) { - brk += incr; - } else { - return (void *)-1; - } - - return old; -} |