/*
* Non-static to ensure the compiler does not optimize away the xor.
*/
+uint8_t lttng_crash_magic_xor[]
+ __attribute__((visibility("hidden")));
uint8_t lttng_crash_magic_xor[] = RB_CRASH_DUMP_ABI_MAGIC_XOR;
/*
struct lttng_ust_shm_handle *handle,
int *shm_fd, int *wait_fd,
int *wakeup_fd,
- uint64_t *memory_map_size)
+ uint64_t *memory_map_size,
+ void **memory_map_addr)
{
struct shm_ref *ref;
*wakeup_fd = shm_get_wakeup_fd(handle, ref);
if (shm_get_shm_size(handle, ref, memory_map_size))
return NULL;
+ *memory_map_addr = handle->table->objects[ref->index].memory_map;
return shmp(handle, chan->backend.buf[cpu].shmp);
}
}
/*
- * Force a read (imply TLS fixup for dlopen) of TLS variables.
+ * Force a read (imply TLS allocation for dlopen) of TLS variables.
*/
-void lttng_fixup_ringbuffer_tls(void)
+void lttng_ringbuffer_alloc_tls(void)
{
asm volatile ("" : : "m" (URCU_TLS(lib_ring_buffer_nesting)));
}