haciendo su propia función malloc en C

Necesito tu ayuda en esto. Tengo un conocimiento promedio de C y aquí está el problema. Estoy a punto de usar algunos puntos de referencia para probar algunas cosas de la arquitectura de la computadora (fallas de sucursales, fallas de caché) en un nuevo procesador. El problema es que los puntos de referencia están en C, pero no debo incluir ninguna llamada a la biblioteca. Por ejemplo, no puedo usar malloc porque recibo el error

"undefined reference to malloc" 

Incluso si he incluido la biblioteca. Así que tengo que escribir mi propio malloc. No quiero que sea súper eficiente, solo hago lo básico. Como estoy pensando, debo tener una dirección en la memoria y cada vez que ocurre un malloc, devuelvo un puntero a esa dirección e incremento el contador en ese tamaño. Malloc sucede dos veces en mi programa, por lo que ni siquiera necesito una gran memoria.

¿Puedes ayudarme en eso? He diseñado un Verilog y no tengo tanta experiencia en C.

He visto respuestas anteriores, pero todas me parecen demasiado complicadas. Además, no tengo acceso al libro K-R.

¡Aclamaciones!

EDITAR: tal vez esto pueda ayudarlo más: no estoy usando gcc sino el compilador sde-gcc. ¿Hace alguna diferencia? Tal vez es por eso que estoy recibiendo una referencia indefinida de malloc?

EDIT2: Estoy probando una arquitectura MIPS:

He incluido:

#include <stdlib.h>

y los errores son:

undefined reference to malloc
relocation truncated to fit: R_MIPS_26 against malloc

y el id del comando del compilador:

test.o: test.c cap.h
sde-gcc -c -o test.s test.c -EB -march=mips64 -mabi=64 -G -O -ggdb -O2 -S
    sde-as -o test.o test.s EB -march=mips64 -mabi=64 -G -O -ggdb
    as_objects:=test.o init.o

EDIT 3: ok, he usado la implementación anterior y se ejecuta sin problemas. El problema es que al hacer la programación integrada, solo tienes que definir todo lo que estás usando, así que definí mi propio malloc. sde-gcc no reconoció la función malloc.

Respuestas a la pregunta(3)

Su respuesta a la pregunta