X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=libustinstr-malloc%2Fmallocwrap.c;h=6e66856908df2cfa0bf5edc8b871c00d186469b3;hb=HEAD;hp=f5d5ce38b669f7184d7a24e18201fb0fb440e93d;hpb=d169a27dd79a872d5c44f0547a2bb33bb8402b80;p=ust.git diff --git a/libustinstr-malloc/mallocwrap.c b/libustinstr-malloc/mallocwrap.c index f5d5ce3..6e66856 100644 --- a/libustinstr-malloc/mallocwrap.c +++ b/libustinstr-malloc/mallocwrap.c @@ -1,4 +1,5 @@ -/* Copyright (C) 2009 Pierre-Marc Fournier +/* + * Copyright (C) 2009 Pierre-Marc Fournier * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -19,55 +20,16 @@ #include #include #include - #include -#if 0 -INTERCEPT_PROTOTYPE(void, malloc, size_t size) -INTERCEPT_TRACE("size %d", size) -INTERCEPT_CALL_ARGS(size) -INTERCEPT() - -#define INTERCEPT_FUNC(type, name, args...) \ -__I_FUNC_TYPE(type) \ -__I_FUNC_NAME(name) \ -__I_FUNC_ARGS(args) - -#define INTERCEPT_TRACE(fmt, args...) \ -#define __I_TRACE_FMT fmt \ -#define __I_TRACE_ARGS args - -#define INTERCEPT_CALL_ARGS(args...) \ -#define __I_CALL_ARGS args - -#define INTERCEPT() \ -__I_FUNC_TYPE __I_FUNC_NAME(__I_FUNC_ARGS) \ -{ \ - static __I_FUNC_TYPE (*plibc_ ## __I_FUNC_NAME)(args) = NULL; \ - \ - if(plibc_ ## __I_FUNC_NAME == NULL) { \ - plibc_ ## __I_FUNC_NAME = dlsym(RTLD_NEXT, "malloc"); \ - if(plibc_ ## __I_FUNC_NAME == NULL) { \ - fprintf(stderr, "mallocwrap: unable to find malloc\n"); \ - return NULL; \ - } \ - } \ - \ - trace_mark(ust, __I_FUNC_NAME, __I_TRACE_FMT, __I_TRACE_ARGS); \ - \ - return plibc_ ## __I_FUNC_NAME (__I_CALL_ARGS); \ -} -#endif - void *malloc(size_t size) { static void *(*plibc_malloc)(size_t size) = NULL; - void *retval; - if(plibc_malloc == NULL) { + if (plibc_malloc == NULL) { plibc_malloc = dlsym(RTLD_NEXT, "malloc"); - if(plibc_malloc == NULL) { + if (plibc_malloc == NULL) { fprintf(stderr, "mallocwrap: unable to find malloc\n"); return NULL; } @@ -75,7 +37,7 @@ void *malloc(size_t size) retval = plibc_malloc(size); - trace_mark(ust, malloc, "size %d ptr %p", (int)size, retval); + ust_marker(malloc, "size %d ptr %p", (int)size, retval); return retval; } @@ -84,17 +46,17 @@ void free(void *ptr) { static void *(*plibc_free)(void *ptr) = NULL; - if(plibc_free == NULL) { + if (plibc_free == NULL) { plibc_free = dlsym(RTLD_NEXT, "free"); - if(plibc_free == NULL) { + if (plibc_free == NULL) { fprintf(stderr, "mallocwrap: unable to find free\n"); return; } } - trace_mark(ust, free, "ptr %p", ptr); + ust_marker(free, "ptr %p", ptr); plibc_free(ptr); } -MARKER_LIB +UST_MARKER_LIB