Combine brk() with sbrk(); modify brk() to update the sbrk(0) value.
This commit is contained in:
parent
0b21f18d4c
commit
0aac9aafd3
|
@ -1,17 +0,0 @@
|
||||||
/* $Source: /cvsroot/tack/Ack/plat/linux386/libsys/brk.c,v $
|
|
||||||
* $State: Exp $
|
|
||||||
* $Revision: 1.1 $
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
#include <errno.h>
|
|
||||||
#include "libsys.h"
|
|
||||||
|
|
||||||
int brk(void* end)
|
|
||||||
{
|
|
||||||
int e = _syscall(__NR_brk, (quad) end, 0, 0);
|
|
||||||
if (e == -1)
|
|
||||||
errno = ENOMEM;
|
|
||||||
return e;
|
|
||||||
}
|
|
|
@ -12,6 +12,16 @@
|
||||||
|
|
||||||
static char* current = NULL;
|
static char* current = NULL;
|
||||||
|
|
||||||
|
int brk(void* end)
|
||||||
|
{
|
||||||
|
int e = _syscall(__NR_brk, (quad) end, 0, 0);
|
||||||
|
if (e == -1)
|
||||||
|
errno = ENOMEM;
|
||||||
|
else
|
||||||
|
current = end;
|
||||||
|
return e;
|
||||||
|
}
|
||||||
|
|
||||||
void* sbrk(intptr_t increment)
|
void* sbrk(intptr_t increment)
|
||||||
{
|
{
|
||||||
char* old;
|
char* old;
|
||||||
|
|
Loading…
Reference in a new issue