Today I will remind them.
[[gnu::cold]]
[[nodiscard]]
static inline
u8*
brk(void const* const ptr)
{
register u64 rax asm("rax") = __NR_brk;
register void const* rdi asm("rdi") = ptr;
asm volatile
(
"syscall"
: "+r" (rax)
: "r" (rdi)
: "rcx",
"r11"
);
return reinterpret_cast<u8*>(rax);
}