X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=liblttng-ust-libc-wrapper%2Flttng-ust-malloc.c;h=d407985f58c9d6abd306bd32ba1d3ebddfc885be;hb=4b4a133740c87d9a851023a7aeb06b78d887e51b;hp=f9081a09d993e9090a7953cbff35927b2f9b56eb;hpb=fb54defd7e47e106bdf3b7eb07d53f0aba0525ec;p=lttng-ust.git diff --git a/liblttng-ust-libc-wrapper/lttng-ust-malloc.c b/liblttng-ust-libc-wrapper/lttng-ust-malloc.c index f9081a09..d407985f 100644 --- a/liblttng-ust-libc-wrapper/lttng-ust-malloc.c +++ b/liblttng-ust-libc-wrapper/lttng-ust-malloc.c @@ -1,20 +1,8 @@ /* - * Copyright (C) 2009 Pierre-Marc Fournier - * Copyright (C) 2011 Mathieu Desnoyers + * SPDX-License-Identifier: LGPL-2.1-or-later * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * Copyright (C) 2009 Pierre-Marc Fournier + * Copyright (C) 2011 Mathieu Desnoyers */ /* @@ -22,17 +10,22 @@ * circular dependency loop between this malloc wrapper, liburcu and * libc. */ -#include +#include #include #include #include +#include + #include #include #include #include #include -#include -#include + +#include + +#include +#include "ust-compat.h" #define TRACEPOINT_DEFINE #define TRACEPOINT_CREATE_PROBES @@ -68,7 +61,10 @@ void *static_calloc(size_t nmemb, size_t size); */ static int ust_malloc_lock; -static __attribute__((unused)) +static +void ust_malloc_spin_lock(pthread_mutex_t *lock) + __attribute__((unused)); +static void ust_malloc_spin_lock(pthread_mutex_t *lock) { /* @@ -80,7 +76,10 @@ void ust_malloc_spin_lock(pthread_mutex_t *lock) caa_cpu_relax(); } -static __attribute__((unused)) +static +void ust_malloc_spin_unlock(pthread_mutex_t *lock) + __attribute__((unused)); +static void ust_malloc_spin_unlock(pthread_mutex_t *lock) { /* @@ -121,7 +120,7 @@ void *static_calloc_aligned(size_t nmemb, size_t size, size_t alignment) res_offset = CMM_LOAD_SHARED(static_calloc_buf_offset); do { prev_offset = res_offset; - aligned_offset = ALIGN(prev_offset + sizeof(size_t), alignment); + aligned_offset = LTTNG_UST_ALIGN(prev_offset + sizeof(size_t), alignment); new_offset = aligned_offset + nmemb * size; if (new_offset > sizeof(static_calloc_buf)) { abort(); @@ -426,8 +425,7 @@ void lttng_ust_fixup_malloc_nesting_tls(void) asm volatile ("" : : "m" (URCU_TLS(malloc_nesting))); } -__attribute__((constructor)) -void lttng_ust_malloc_wrapper_init(void) +void lttng_ust_libc_wrapper_malloc_init(void) { /* Initialization already done */ if (cur_alloc.calloc) {