diff options
author | Shankar Easwaran <shankare@codeaurora.org> | 2015-02-12 05:02:46 +0000 |
---|---|---|
committer | Shankar Easwaran <shankare@codeaurora.org> | 2015-02-12 05:02:46 +0000 |
commit | 2df0c3efd6a0240dba42fd0fed9107a6f0b26c6d (patch) | |
tree | f75f9aed20202d2e4f8572eba23c14cbbc07cc2b /clang/lib/Frontend/InitPreprocessor.cpp | |
parent | f7a8da33845880bfcfed4e7d9afcd993b9cb988e (diff) | |
download | llvm-2df0c3efd6a0240dba42fd0fed9107a6f0b26c6d.zip llvm-2df0c3efd6a0240dba42fd0fed9107a6f0b26c6d.tar.gz llvm-2df0c3efd6a0240dba42fd0fed9107a6f0b26c6d.tar.bz2 |
[ELF] Support --wrap option
Use a wrapper function for symbol. Any undefined reference to symbol will be
resolved to "__wrap_symbol". Any undefined reference to "__real_symbol" will be
resolved to symbol.
This can be used to provide a wrapper for a system function. The wrapper
function should be called "__wrap_symbol". If it wishes to call the system
function, it should call "__real_symbol".
Here is a trivial example:
void * __wrap_malloc (size_t c)
{
printf ("malloc called with %zu\n", c);
return __real_malloc (c);
}
If you link other code with this file using --wrap malloc, then all calls
to "malloc" will call the function "__wrap_malloc" instead. The call to
"__real_malloc" in "__wrap_malloc" will call the real "malloc" function.
llvm-svn: 228906
Diffstat (limited to 'clang/lib/Frontend/InitPreprocessor.cpp')
0 files changed, 0 insertions, 0 deletions