aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/InitPreprocessor.cpp
diff options
context:
space:
mode:
authorShankar Easwaran <shankare@codeaurora.org>2015-02-12 05:02:46 +0000
committerShankar Easwaran <shankare@codeaurora.org>2015-02-12 05:02:46 +0000
commit2df0c3efd6a0240dba42fd0fed9107a6f0b26c6d (patch)
treef75f9aed20202d2e4f8572eba23c14cbbc07cc2b /clang/lib/Frontend/InitPreprocessor.cpp
parentf7a8da33845880bfcfed4e7d9afcd993b9cb988e (diff)
downloadllvm-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