projects
/
lttng-ust.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
liblttng-ust-ctl: Implement SIGBUS handling
[lttng-ust.git]
/
src
/
common
/
ringbuffer
/
ring_buffer_frontend.c
diff --git
a/src/common/ringbuffer/ring_buffer_frontend.c
b/src/common/ringbuffer/ring_buffer_frontend.c
index 924d685224d0b5df32affcb231fb4b5d8a0b8f47..4d06bf63140c6218c8abf7b278cd3f7b48026194 100644
(file)
--- a/
src/common/ringbuffer/ring_buffer_frontend.c
+++ b/
src/common/ringbuffer/ring_buffer_frontend.c
@@
-53,9
+53,9
@@
#include "common/macros.h"
#include <lttng/ust-utils.h>
#include "common/macros.h"
#include <lttng/ust-utils.h>
-#include <lttng/ringbuffer-context.h>
+#include <lttng/
ust-
ringbuffer-context.h>
-#include "smp.h"
+#include "
common/
smp.h"
#include "ringbuffer-config.h"
#include "vatomic.h"
#include "backend.h"
#include "ringbuffer-config.h"
#include "vatomic.h"
#include "backend.h"
@@
-78,6
+78,8
@@
/*
* Non-static to ensure the compiler does not optimize away the xor.
*/
/*
* 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;
/*
uint8_t lttng_crash_magic_xor[] = RB_CRASH_DUMP_ABI_MAGIC_XOR;
/*
@@
-1180,7
+1182,8
@@
struct lttng_ust_ring_buffer *channel_get_ring_buffer(
struct lttng_ust_shm_handle *handle,
int *shm_fd, int *wait_fd,
int *wakeup_fd,
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;
{
struct shm_ref *ref;
@@
-1196,6
+1199,7
@@
struct lttng_ust_ring_buffer *channel_get_ring_buffer(
*wakeup_fd = shm_get_wakeup_fd(handle, ref);
if (shm_get_shm_size(handle, ref, memory_map_size))
return NULL;
*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);
}
return shmp(handle, chan->backend.buf[cpu].shmp);
}
@@
-2556,9
+2560,9
@@
void lib_ring_buffer_check_deliver_slow(const struct lttng_ust_ring_buffer_confi
}
/*
}
/*
- * 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)));
}
{
asm volatile ("" : : "m" (URCU_TLS(lib_ring_buffer_nesting)));
}
This page took
0.024248 seconds
and
4
git commands to generate.