brk(2) System Calls Manual brk(2) brk, sbrk - (libc -lc) #include int brk(void *addr); void *sbrk(intptr_t increment); glibc ( feature_test_macros(7)): brk() sbrk()(): Since glibc 2.19: _DEFAULT_SOURCE || ((_XOPEN_SOURCE >= 500) && ! (_POSIX_C_SOURCE >= 200112L)) From glibc 2.12 to glibc 2.19: _BSD_SOURCE || _SVID_SOURCE || ((_XOPEN_SOURCE >= 500) && ! (_POSIX_C_SOURCE >= 200112L)) Before glibc 2.12: _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 500 brk() sbrk() ( ). . brk() addr ( setrlimit(2)). sbrk() increment . sbrk() increment 0 . brk() . -1 errno ENOMEM. sbrk() . ( ). (void *) -1 errno ENOMEM. . 4.3BSD SUSv1 LEGACY SUSv2 POSIX.1-2001. brk() sbrk(): malloc(3) . sbrk(). int ssize_t ptrdiff_t intptr_t. C brk() glibc Linux brk(). ( brk() SUSv2.) Linux . . glibc ( addr) 0 -1 . Linux sbrk() brk() . execve(2) getrlimit(2) end(3) malloc(3) 3 . . : . 6.18 8 2026 brk(2)