[prev in list] [next in list] [prev in thread] [next in thread]
List: linaro-toolchain
Subject: perf issue: etm traces are dumped to the wrong AUX buffer
From: Zied Guermazi <zied.guermazi () trande ! de>
Date: 2020-12-14 23:25:37
Message-ID: 83709771-efc5-5ff5-01d6-956890d14f9b () trande ! de
[Download RAW message or body]
hi
I am using perf syscall to collect etm traces for btraces implementation
in GDB running on Linux kernel 5.9.1 on a cortex A7. in this test case,
I am debugging a multi-threaded process (2 pthreads). For each thread,
GDB is calling the sys call perf_event_open and gives the corresponding
thread ptid.lwp as argument. for each syscall, the AUX buffer is
mmap(ped) to a dedicated memory. this is working for almost all test
cases I have, except this one, where it has 50% failure rate when
executed manually. 90% failure rate when executed from a script.
the source code for debugged program is listed below.
/* This testcase is part of GDB, the GNU debugger.
Copyright 2013-2019 Free Software Foundation, Inc.
Contributed by Intel Corp. <markus.t.metzger@intel.com>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program 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 General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
#include <pthread.h>
static pthread_barrier_t barrier;
static int global;
static void *
test(void *arg)
{
pthread_barrier_wait(&barrier);
global= 42; /* bp.1 */
pthread_barrier_wait(&barrier);
global= 42; /* bp.2 */
return arg;
}
int
main (void)
{
pthread_t th;
pthread_barrier_init(&barrier, NULL, 2);
pthread_create(&th, NULL, test, NULL);
test(NULL);
pthread_join(th, NULL);
pthread_barrier_destroy(&barrier);
return 0; /* bp.3 */
}
in this test case, a breakpoint is set at the line containing the
comment /* bp.1 */ , and we start collecting traces. a second breakpoint
is set at the line containing the comment /* bp.2 */, and we analyze
collected traces.
in a successful testcase we get both threads traces in dedicated buffers
thread 1
[Switching to thread 1 (Thread 0xb6ff9ca0 (LWP 8813))]
#0test (arg=0x0) at/home/ubuntu/development/gdb/build/gdb/testsuite/../../../binutils-gdb/gdb/testsuite/gdb.btrace/multi-thread-step.c:34
34 global = 42; /* bp.2 */
(gdb) info record
Active record target: record-btrace
Recording format: arm Processor CoreSight ETM Trace.
Buffer size: 8kB.
Recorded 126 instructions in 15 functions (0 gaps) for thread 1 (Thread 0xb6ff9ca0 \
(LWP 8813)). (gdb) record function-call-history /ilc
1 test inst 1,9 at/home/ubuntu/development/gdb/build/gdb/testsuite/../../../binutils-gdb/gdb/testsuite/gdb.btrace/multi-thread-step.c:30,32
2 pthread_barrier_wait@plt inst 10,12 at
3 pthread_barrier_wait inst 13,32 at
4 __aeabi_uidivmod inst 33,36 at
5 __udivsi3 inst 37,39 at
6 __udivsi3 inst 40,48 at
7 __aeabi_uidivmod inst 49,52 at
8 pthread_barrier_wait inst 53,77 at
9 __libc_do_syscall inst 78,80 at
10 pthread_barrier_wait inst 81,102 at
11 __aeabi_uidivmod inst 103,106 at
12 __udivsi3 inst 107,109 at
13 __udivsi3 inst 110,118 at
14 __aeabi_uidivmod inst 119,122 at
15 pthread_barrier_wait inst 123,126 at
here is a log of the collected trace generic elements
cs_etm_decoder_trace_element_callback: elem->elem_type OCSD_GEN_TRC_ELEM_NO_SYNC
cs_etm_decoder_trace_element_callback: elem->elem_type OCSD_GEN_TRC_ELEM_TRACE_ON
cs_etm_decoder_trace_element_callback: elem->elem_type OCSD_GEN_TRC_ELEM_PE_CONTEXT
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_EXCEPTION
cs_etm_decoder_trace_element_callback: elem->elem_type OCSD_GEN_TRC_ELEM_TRACE_ON
cs_etm_decoder_trace_element_callback: elem->elem_type OCSD_GEN_TRC_ELEM_PE_CONTEXT
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_EXCEPTION
thread 2
[Switching to thread 2 (Thread 0xb6ea7460 (LWP 8816))]
#0test (arg=0x0) at/home/ubuntu/development/gdb/build/gdb/testsuite/../../../binutils-gdb/gdb/testsuite/gdb.btrace/multi-thread-step.c:34
34 global = 42; /* bp.2 */
(gdb) info record
Active record target: record-btrace
Recording format: arm Processor CoreSight ETM Trace.
Buffer size: 8kB.
Recorded 150 instructions in 20 functions (0 gaps) for thread 2 (Thread 0xb6ea7460 \
(LWP 8816)). (gdb) record function-call-history /ilc
1 test inst 1,9 at/home/ubuntu/development/gdb/build/gdb/testsuite/../../../binutils-gdb/gdb/testsuite/gdb.btrace/multi-thread-step.c:30,32
2 pthread_barrier_wait@plt inst 10,12 at
3 pthread_barrier_wait inst 13,32 at
4 __aeabi_uidivmod inst 33,36 at
5 __udivsi3 inst 37,39 at
6 __udivsi3 inst 40,48 at
7 __aeabi_uidivmod inst 49,52 at
8 pthread_barrier_wait inst 53,66 at
9 __aeabi_uidivmod inst 67,70 at
10 __udivsi3 inst 71,73 at
11 __udivsi3 inst 74,82 at
12 __aeabi_uidivmod inst 83,86 at
13 pthread_barrier_wait inst 87,103 at
14 __libc_do_syscall inst 104,106 at
15 pthread_barrier_wait inst 107,126 at
16 __aeabi_uidivmod inst 127,130 at
17 __udivsi3 inst 131,133 at
18 __udivsi3 inst 134,142 at
19 __aeabi_uidivmod inst 143,146 at
20 pthread_barrier_wait inst 147,150 at
here is a log of the collected trace generic elements
cs_etm_decoder_trace_element_callback: elem->elem_type OCSD_GEN_TRC_ELEM_NO_SYNC
cs_etm_decoder_trace_element_callback: elem->elem_type OCSD_GEN_TRC_ELEM_TRACE_ON
cs_etm_decoder_trace_element_callback: elem->elem_type OCSD_GEN_TRC_ELEM_PE_CONTEXT
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_EXCEPTION
cs_etm_decoder_trace_element_callback: elem->elem_type OCSD_GEN_TRC_ELEM_TRACE_ON
cs_etm_decoder_trace_element_callback: elem->elem_type OCSD_GEN_TRC_ELEM_PE_CONTEXT
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_EXCEPTION
in the failing test we got all traces in one buffer, the second one is empty
(gdb) thread 1
[Switching to thread 1 (Thread 0xb6ff9ca0 (LWP 8826))]
#0 test (arg=0x0) at \
/home/ubuntu/development/gdb/build/gdb/testsuite/../../../binutils-gdb/gdb/testsuite/gdb.btrace/multi-thread-step.c:34
34 global = 42; /* bp.2 */
(gdb) info record
Active record target: record-btrace
Recording format: arm Processor CoreSight ETM Trace.
Buffer size: 8kB.
Recorded 276 instructions in 36 functions (0 gaps) for thread 1 (Thread 0xb6ff9ca0 \
(LWP 8826)). (gdb) record function-call-history /ilc 1
1 test inst 1,9 at/home/ubuntu/development/gdb/build/gdb/testsuite/../../../binutils-gdb/gdb/testsuite/gdb.btrace/multi-thread-step.c:30,32
2 pthread_barrier_wait@plt inst 10,12 at
3 pthread_barrier_wait inst 13,32 at
4 __aeabi_uidivmod inst 33,36 at
5 __udivsi3 inst 37,39 at
6 __udivsi3 inst 40,48 at
7 __aeabi_uidivmod inst 49,52 at
8 pthread_barrier_wait inst 53,77 at
9 __libc_do_syscall inst 78,80 at
10 test inst 81,88 at/home/ubuntu/development/gdb/build/gdb/testsuite/../../../binutils-gdb/gdb/testsuite/gdb.btrace/multi-thread-step.c:30,32
11 pthread_barrier_wait@plt inst 89,91 at
12 pthread_barrier_wait inst 92,111 at
13 __aeabi_uidivmod inst 112,115 at
14 __udivsi3 inst 116,118 at
15 __udivsi3 inst 119,127 at
16 __aeabi_uidivmod inst 128,131 at
17 pthread_barrier_wait inst 132,145 at
18 __aeabi_uidivmod inst 146,149 at
19 __udivsi3 inst 150,152 at
20 __udivsi3 inst 153,161 at
21 __aeabi_uidivmod inst 162,165 at
22 pthread_barrier_wait inst 166,182 at
23 __libc_do_syscall inst 183,185 at
24 pthread_barrier_wait inst 186,205 at
25 __aeabi_uidivmod inst 206,209 at
26 __udivsi3 inst 210,212 at
27 __udivsi3 inst 213,221 at
28 __aeabi_uidivmod inst 222,225 at
29 pthread_barrier_wait inst 226,229 at
30 test inst 230,230 at/home/ubuntu/development/gdb/build/gdb/testsuite/../../../binutils-gdb/gdb/testsuite/gdb.btrace/multi-thread-step.c:34
31 pthread_barrier_wait inst 231,252 at
32 __aeabi_uidivmod inst 253,256 at
33 __udivsi3 inst 257,259 at
34 __udivsi3 inst 260,268 at
35 __aeabi_uidivmod inst 269,272 at
36 pthread_barrier_wait inst 273,276 at
here is a log of the collected trace generic elements
cs_etm_decoder_trace_element_callback: elem->elem_type OCSD_GEN_TRC_ELEM_NO_SYNC
cs_etm_decoder_trace_element_callback: elem->elem_type OCSD_GEN_TRC_ELEM_TRACE_ON
cs_etm_decoder_trace_element_callback: elem->elem_type OCSD_GEN_TRC_ELEM_PE_CONTEXT
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_EXCEPTION
cs_etm_decoder_trace_element_callback: elem->elem_type
OCSD_GEN_TRC_ELEM_NO_SYNC
cs_etm_decoder_trace_element_callback: elem->elem_type OCSD_GEN_TRC_ELEM_TRACE_ON
cs_etm_decoder_trace_element_callback: elem->elem_type OCSD_GEN_TRC_ELEM_PE_CONTEXT
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_EXCEPTION
cs_etm_decoder_trace_element_callback: elem->elem_type OCSD_GEN_TRC_ELEM_TRACE_ON
cs_etm_decoder_trace_element_callback: elem->elem_type OCSD_GEN_TRC_ELEM_PE_CONTEXT
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_EXCEPTION
cs_etm_decoder_trace_element_callback: elem->elem_type OCSD_GEN_TRC_ELEM_TRACE_ON
cs_etm_decoder_trace_element_callback: elem->elem_type OCSD_GEN_TRC_ELEM_PE_CONTEXT
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_INSTR_RANGE
--->cs_etm_decoder_trace_element_callback: elem->elem_type \
OCSD_GEN_TRC_ELEM_EXCEPTION
(gdb) thread 2
[Switching to thread 2 (Thread 0xb6ea7460 (LWP 8827))]
#0test (arg=0x0) at/home/ubuntu/development/gdb/build/gdb/testsuite/../../../binutils-gdb/gdb/testsuite/gdb.btrace/multi-thread-step.c:34
34 global = 42; /* bp.2 */
(gdb) info record
Active record target: record-btrace
Recording format: arm Processor CoreSight ETM Trace.
Buffer size: 8kB.
Recorded 0 instructions in 0 functions (0 gaps) for thread 2 (Thread 0xb6ea7460 (LWP \
8827)). (gdb) record function-call-history /ilc 1
No trace.
(gdb)
is there any known issues for calling perf_event_open twice for two
different threads?
is there any known issues for flushing traces when a switch between two
threads takes place?
is there any known issue for tracing threads when switching happens due
to a pthread_barrier_wait?
do you have any other hint to provide here?
Kind regards
Zied Guermazi
_______________________________________________
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/linaro-toolchain
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic