From 35a6894d9fd90bec01257e0c9ebe6e6439706069 Mon Sep 17 00:00:00 2001 From: PoliEcho Date: Tue, 8 Jul 2025 10:00:24 +0200 Subject: [PATCH] fix allocator --- src/alloc.asm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/alloc.asm b/src/alloc.asm index 81cc836..ca081a8 100644 --- a/src/alloc.asm +++ b/src/alloc.asm @@ -7,7 +7,7 @@ section .text global init_alloc init_alloc:; initialize allocator, optionaly return brk pointer in rax mov rax, SYS_BRK - mov rdi, 0 + xor rdi, rdi syscall mov [brk_pointer], rax ret @@ -15,9 +15,10 @@ init_alloc:; initialize allocator, optionaly return brk pointer in rax global alloc alloc:; Takes lenght of data in rdi and returns pointer in rax mov rax, SYS_BRK - mov rcx, [brk_pointer] + mov qword rcx, [brk_pointer] + add rdi, rcx; calculate new BRK address push rcx - syscall; size already in rdi + syscall mov [brk_pointer], rax pop rax ret