<div dir="ltr"><div><div><div>Hi,<br><br></div>I don't know if there's any way to do this directly in the compiler, but most linkers, including LLD, support a "--wrap" option. To wrap malloc(), you can use "--wrap=malloc" (or -Wl,--wrap=malloc if running through the compiler driver). This redirects all calls to malloc to a function called __wrap_malloc. If you want to subsequently call the real malloc function, you then call __real_malloc, so your example code above becomes:<br><br>__wrap_malloc(int size) {<br>    __real_malloc(size+4);  //call the real malloc here<br>}<br><br></div>Hope that helps.<br><br></div>James<br><div><div><div class="gmail_extra"><br><div class="gmail_quote">On 27 December 2017 at 00:40, Barbora Murinová via llvm-dev <span dir="ltr"><<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi,<div><br></div><div>I would like to wrap some of the library functions such as malloc() into for example:<br><br>malloc_wrapper(int size) {<br>    malloc(size+4);  //call the real malloc here<br>}<br><br>and have all uses of malloc replaced with malloc_wrapper. Is there a way to do that?<span class="HOEnZb"><font color="#888888"><br clear="all"><div><br></div>-- <br><div class="m_-8037958175766221074m_-5841365348402289103gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><font color="#999999" size="1">----------------</font></div><div><font color="#999999" size="1">Barbora Murinová</font></div><div><font color="#999999" size="1">The University of Edinburgh</font></div><div><font color="#999999" size="1">SK: <a href="tel:+421%20905%20718%20390" value="+421905718390" target="_blank">+421905718390</a><br>UK: <a href="tel:+44%207477%20833795" value="+447477833795" target="_blank">+447477833795</a></font></div></div></div>
</font></span></div></div>
<br>______________________________<wbr>_________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-dev</a><br>
<br></blockquote></div><br></div></div></div></div>