add remaining lfs64 and locale functions
[ldtrace] / wrap.c
1 #define _GNU_SOURCE
2 #define _FILE_OFFSET_BITS 64
3
4 #include "head.h"
5
6 // dprintf and dlsym are not wrapped
7
8 #define F(ret,name,args,args2) ret (name)args \
9 { \
10         static ret (*p__)args; \
11         dprintf(2, #name "\n"); \
12         if (!p__) p__ = dlsym(RTLD_NEXT, #name); \
13         return p__ args2; \
14 }
15
16 #define V(v,name,args,args2) v (name)args \
17 { \
18         static v (*p__)args; \
19         dprintf(2, #name "\n"); \
20         if (!p__) p__ = dlsym(RTLD_NEXT, #name); \
21         p__ args2; \
22 }
23
24 // vararg functions are not wrapped
25 #define XF(ret,name,args)
26 #define XV(v,name,args)
27
28 #include "func.h"