obj_run_linker does unnecessary allocations
The contents of lisp::*cmucl-lib*
are copied into a heap buffer allocated by malloc(3)
or strdup(3)
so they can be tokenized with strtok(3)
. After tokenization the contents are copied into a buffer called command
on the stack through sprintf
. In this process, the heap buffer is not necessary. The stack buffer can be populated directly from lisp::*cmucl-lib*
.