fazendo sua própria função malloc em C

Eu preciso da sua ajuda nisso. Eu tenho um conhecimento médio de C e aqui está o problema. Estou prestes a usar alguns benchmarks para testar algumas coisas de arquitetura de computadores (erros de ramificação, erros de cache) em um novo processador. O importante é que os benchmarks estão em C, mas não devo incluir nenhuma chamada de biblioteca. Por exemplo, não posso usar malloc porque estou recebendo o erro

"undefined reference to malloc" 

mesmo que eu tenha incluído a biblioteca. Então eu tenho que escrever meu próprio malloc. Eu não quero que seja super eficiente - apenas faça o básico. Como estou pensando, devo ter um endereço na memória e toda vez que um malloc acontece, eu retorno um ponteiro para aquele endereço e incremento o contador por esse tamanho. Malloc acontece duas vezes no meu programa, então eu nem preciso de muita memória.

Você pode me ajudar nisso? Eu projetei um Verilog e não tenho muita experiência em C.

Eu já vi respostas anteriores, mas todas parecem muito complicadas para mim. Além disso, não tenho acesso ao livro do K-R.

Felicidades!

EDIT: talvez isso possa ajudá-lo mais: Eu não estou usando o gcc, mas o compilador sde-gcc. Isso faz alguma diferença? Talvez seja por isso que estou recebendo uma referência indefinida ao malloc?

EDIT2: Estou testando uma arquitetura MIPS:

Eu incluí:

#include <stdlib.h>

e os erros são:

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

e o id do comando do 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, eu usei a implementação acima e é executado sem problemas. O problema é que ao fazer a programação embarcada, você só precisa definir tudo o que está usando, então eu defini meu próprio malloc. O sde-gcc não reconheceu a função malloc.

questionAnswers(3)

yourAnswerToTheQuestion