From 7025fbcab1fa5fd055782cd89a6802ae8359dc79 Mon Sep 17 00:00:00 2001 From: Matthias Kruk Date: Sat, 8 Aug 2020 17:31:40 +0900 Subject: [PATCH] libc: Remove brk() and sbrk() syscalls --- include/unistd.h | 2 -- libc/syscall.S | 30 ------------------------------ 2 files changed, 32 deletions(-) diff --git a/include/unistd.h b/include/unistd.h index 5011b68..211d3d7 100644 --- a/include/unistd.h +++ b/include/unistd.h @@ -10,7 +10,5 @@ extern pid_t vfork(void); extern int execfve(void*, const char**, const char**); extern int execeve(void*, size_t, char *const [], char *const []); extern unsigned int sleep(unsigned int); -extern int brk(void*); -extern void* sbrk(int); #endif /* _UNISTD_H */ diff --git a/libc/syscall.S b/libc/syscall.S index d662ea4..832db24 100644 --- a/libc/syscall.S +++ b/libc/syscall.S @@ -15,8 +15,6 @@ .global vfork .global _exit .global execeve - .global brk - .global sbrk .global mmap .global munmap .global sigaction @@ -99,34 +97,6 @@ execeve: popl %ebx ret -brk: - pushl $0 - call sbrk - - /* - * The eax register contains the current sbrk, 8(%esp) the desired sbrk. - * We have to pass the difference to sbrk() to increase or decrease it. - */ - movl 8(%esp), %edx - subl %eax, %edx - - /* sbrk(8(%esp) - sbrk(0)) */ - movl %edx, (%esp) - call sbrk - - addl $4, %esp - ret - -sbrk: - pushl %ebx - - movl $SYS_SBRK, %eax - movl 8(%esp), %ebx - int $SYSCALL_POSIX - - popl %ebx - ret - mmap: pushl %ebx pushl %ebp -- 2.47.3