*/
void RING_BUFFER_MODE_TEMPLATE_ALLOC_TLS(void)
{
- asm volatile ("" : : "m" (URCU_TLS(private_ctx_stack)));
+ __asm__ __volatile__ ("" : : "m" (URCU_TLS(private_ctx_stack)));
}
static inline uint64_t lib_ring_buffer_clock_read(
* Returns a nesting level >= 0 on success, -EPERM on failure (nesting
* count too high).
*
- * asm volatile and "memory" clobber prevent the compiler from moving
+ * __asm__ __volatile__ and "memory" clobber prevent the compiler from moving
* instructions out of the ring buffer nesting count. This is required to ensure
* that probe side-effects which can cause recursion (e.g. unforeseen traps,
* divisions by 0, ...) are triggered within the incremented nesting count
*/
void lttng_ringbuffer_alloc_tls(void)
{
- asm volatile ("" : : "m" (URCU_TLS(lib_ring_buffer_nesting)));
+ __asm__ __volatile__ ("" : : "m" (URCU_TLS(lib_ring_buffer_nesting)));
}
void lib_ringbuffer_signal_init(void)
*/
void lttng_ust_fd_tracker_alloc_tls(void)
{
- asm volatile ("" : : "m" (URCU_TLS(ust_fd_mutex_nest)));
+ __asm__ __volatile__ ("" : : "m" (URCU_TLS(ust_fd_mutex_nest)));
}
/*
static
void lttng_ust_malloc_nesting_alloc_tls(void)
{
- asm volatile ("" : : "m" (URCU_TLS(malloc_nesting)));
+ __asm__ __volatile__ ("" : : "m" (URCU_TLS(malloc_nesting)));
}
void lttng_ust_libc_wrapper_malloc_ctor(void)
*/
void lttng_cgroup_ns_alloc_tls(void)
{
- asm volatile ("" : : "m" (URCU_TLS(cached_cgroup_ns)));
+ __asm__ __volatile__ ("" : : "m" (URCU_TLS(cached_cgroup_ns)));
}
*/
void lttng_ipc_ns_alloc_tls(void)
{
- asm volatile ("" : : "m" (URCU_TLS(cached_ipc_ns)));
+ __asm__ __volatile__ ("" : : "m" (URCU_TLS(cached_ipc_ns)));
}
*/
void lttng_net_ns_alloc_tls(void)
{
- asm volatile ("" : : "m" (URCU_TLS(cached_net_ns)));
+ __asm__ __volatile__ ("" : : "m" (URCU_TLS(cached_net_ns)));
}
*/
void lttng_ust_perf_counter_alloc_tls(void)
{
- asm volatile ("" : : "m" (URCU_TLS(ust_perf_mutex_nest)));
+ __asm__ __volatile__ ("" : : "m" (URCU_TLS(ust_perf_mutex_nest)));
}
void lttng_perf_lock(void)
{
unsigned int low, high;
- asm volatile("rdpmc" : "=a" (low), "=d" (high) : "c" (counter));
+ __asm__ __volatile__("rdpmc" : "=a" (low), "=d" (high) : "c" (counter));
return low | ((uint64_t) high) << 32;
}
*/
void lttng_procname_alloc_tls(void)
{
- asm volatile ("" : : "m" (URCU_TLS(cached_procname)[0]));
+ __asm__ __volatile__ ("" : : "m" (URCU_TLS(cached_procname)[0]));
}
*/
void lttng_time_ns_alloc_tls(void)
{
- asm volatile ("" : : "m" (URCU_TLS(cached_time_ns)));
+ __asm__ __volatile__ ("" : : "m" (URCU_TLS(cached_time_ns)));
}
*/
void lttng_uts_ns_alloc_tls(void)
{
- asm volatile ("" : : "m" (URCU_TLS(cached_uts_ns)));
+ __asm__ __volatile__ ("" : : "m" (URCU_TLS(cached_uts_ns)));
}
*/
void lttng_vtid_alloc_tls(void)
{
- asm volatile ("" : : "m" (URCU_TLS(cached_vtid)));
+ __asm__ __volatile__ ("" : : "m" (URCU_TLS(cached_vtid)));
}
static
void lttng_nest_count_alloc_tls(void)
{
- asm volatile ("" : : "m" (URCU_TLS(lttng_ust_nest_count)));
+ __asm__ __volatile__ ("" : : "m" (URCU_TLS(lttng_ust_nest_count)));
}
static
void lttng_ust_mutex_nest_alloc_tls(void)
{
- asm volatile ("" : : "m" (URCU_TLS(ust_mutex_nest)));
+ __asm__ __volatile__ ("" : : "m" (URCU_TLS(ust_mutex_nest)));
}
/*