1 #ifndef _LTTNG_UST_HELPER_H
2 #define _LTTNG_UST_HELPER_H
5 * Copyright (C) 2011 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; version 2.1 of
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
24 static inline __attribute__((always_inline
))
25 void *zmalloc(size_t len
)
27 return calloc(len
, 1);
30 #define max_t(type, x, y) \
34 __max1 > __max2 ? __max1: __max2; \
37 #define min_t(type, x, y) \
41 __min1 <= __min2 ? __min1: __min2; \
44 #define LTTNG_ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
47 * Use of __builtin_return_address(0) sometimes seems to cause stack
48 * corruption on 32-bit PowerPC. Disable this feature on that
49 * architecture for now by always using the NULL value for the ip
52 #if defined(__PPC__) && !defined(__PPC64__)
53 #define LTTNG_UST_CALLER_IP() NULL
54 #else /* #if defined(__PPC__) && !defined(__PPC64__) */
55 #define LTTNG_UST_CALLER_IP() __builtin_return_address(0)
56 #endif /* #else #if defined(__PPC__) && !defined(__PPC64__) */
59 * LTTNG_HIDDEN: set the hidden attribute for internal functions
60 * On Windows, symbols are local unless explicitly exported,
61 * see https://gcc.gnu.org/wiki/Visibility
63 #if defined(_WIN32) || defined(__CYGWIN__)
66 #define LTTNG_HIDDEN __attribute__((visibility("hidden")))
69 #endif /* _LTTNG_UST_HELPER_H */
This page took 0.032718 seconds and 5 git commands to generate.