[PATCH] record: Add wrappers for malloc() functions

Sebastian Huber sebastian.huber at embedded-brains.de
Fri Aug 30 13:07:23 UTC 2019


Introduce new library librtemsrecordwrap.a which contains wrappers for
operating system functions which produce entry/exit events.

The wrappers can be selected during link time via the GNU ld --wrap
option.

Update #3665.
---
 cpukit/Makefile.am                          |   5 +
 cpukit/libtrace/record/record-wrap-malloc.c | 145 ++++++
 testsuites/libtests/Makefile.am             |   8 +
 testsuites/libtests/record02/init.c         |  23 +-
 testsuites/libtests/record02/record02.scn   | 691 +++++++++++++++++++---------
 5 files changed, 642 insertions(+), 230 deletions(-)
 create mode 100644 cpukit/libtrace/record/record-wrap-malloc.c

diff --git a/cpukit/Makefile.am b/cpukit/Makefile.am
index 01ee40980f..3914b3d363 100644
--- a/cpukit/Makefile.am
+++ b/cpukit/Makefile.am
@@ -1831,6 +1831,11 @@ project_lib_LIBRARIES += librtemsdefaultconfig.a
 librtemsdefaultconfig_a_SOURCES =
 librtemsdefaultconfig_a_SOURCES += libmisc/dummy/default-configuration.c
 
+project_lib_LIBRARIES += librtemsrecordwrap.a
+
+librtemsrecordwrap_a_SOURCES =
+librtemsrecordwrap_a_SOURCES += libtrace/record/record-wrap-malloc.c
+
 project_lib_LIBRARIES += librtemstest.a
 
 librtemstest_a_SOURCES =
diff --git a/cpukit/libtrace/record/record-wrap-malloc.c b/cpukit/libtrace/record/record-wrap-malloc.c
new file mode 100644
index 0000000000..2ec3e9c023
--- /dev/null
+++ b/cpukit/libtrace/record/record-wrap-malloc.c
@@ -0,0 +1,145 @@
+/*
+ * SPDX-License-Identifier: BSD-2-Clause
+ *
+ * Copyright (C) 2018, 2019 embedded brains GmbH
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#if HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <rtems/record.h>
+
+#include <stdlib.h>
+
+typedef void *Record_Aligned_alloc(size_t, size_t);
+
+Record_Aligned_alloc aligned_alloc;
+Record_Aligned_alloc __real_aligned_alloc;
+Record_Aligned_alloc __wrap_aligned_alloc;
+
+void *__wrap_aligned_alloc( size_t alignment, size_t size )
+{
+  void *ptr;
+
+  rtems_record_entry_2(
+    RTEMS_RECORD_ALIGNED_ALLOC_ENTRY,
+    alignment,
+    size
+  );
+  ptr = __real_aligned_alloc( alignment, size );
+  rtems_record_exit_1(
+    RTEMS_RECORD_ALIGNED_ALLOC_EXIT,
+    (rtems_record_data) ptr
+  );
+  return ptr;
+}
+
+typedef void *Record_Calloc( size_t, size_t );
+
+Record_Calloc calloc;
+Record_Calloc __real_calloc;
+Record_Calloc __wrap_calloc;
+
+void *__wrap_calloc( size_t nelem, size_t elsize )
+{
+  void *ptr;
+
+  rtems_record_entry_2( RTEMS_RECORD_CALLOC_ENTRY, nelem, elsize );
+  ptr = __real_calloc( nelem, elsize );
+  rtems_record_exit_1( RTEMS_RECORD_CALLOC_EXIT, (rtems_record_data) ptr );
+  return ptr;
+}
+
+typedef void *Record_Malloc( size_t );
+
+Record_Malloc malloc;
+Record_Malloc __real_malloc;
+Record_Malloc __wrap_malloc;
+
+void *__wrap_malloc( size_t size )
+{
+  void *ptr;
+
+  rtems_record_entry_1( RTEMS_RECORD_MALLOC_ENTRY, size );
+  ptr = __real_malloc( size );
+  rtems_record_exit_1( RTEMS_RECORD_MALLOC_EXIT, (rtems_record_data) ptr );
+  return ptr;
+}
+
+typedef void Record_Free( void *ptr );
+
+Record_Free free;
+Record_Free __real_free;
+Record_Free __wrap_free;
+
+void __wrap_free( void *ptr )
+{
+  rtems_record_entry_1( RTEMS_RECORD_FREE_ENTRY, (rtems_record_data) ptr );
+  __real_free( ptr );
+  rtems_record_entry( RTEMS_RECORD_FREE_EXIT );
+}
+
+typedef int Record_POSIX_memalign( void **, size_t, size_t );
+
+Record_POSIX_memalign posix_memalign;
+Record_POSIX_memalign __real_posix_memalign;
+Record_POSIX_memalign __wrap_posix_memalign;
+
+int __wrap_posix_memalign( void **memptr, size_t alignment, size_t size )
+{
+  int eno;
+
+  rtems_record_entry_3(
+    RTEMS_RECORD_POSIX_MEMALIGN_ENTRY,
+    (rtems_record_data) memptr,
+    alignment,
+    size
+  );
+  eno = __real_posix_memalign( memptr, alignment, size );
+  rtems_record_exit_2(
+    RTEMS_RECORD_POSIX_MEMALIGN_EXIT,
+    eno,
+    (rtems_record_data) ( memptr != NULL ? *memptr : NULL )
+  );
+  return eno;
+}
+
+typedef void *Record_Realloc( void *, size_t );
+
+Record_Realloc realloc;
+Record_Realloc __real_realloc;
+Record_Realloc __wrap_realloc;
+
+void *__wrap_realloc( void *ptr, size_t size )
+{
+  rtems_record_entry_2(
+    RTEMS_RECORD_REALLOC_ENTRY,
+    (rtems_record_data) ptr,
+    size
+  );
+  ptr = __real_realloc( ptr, size );
+  rtems_record_exit_1( RTEMS_RECORD_REALLOC_EXIT, (rtems_record_data) ptr );
+  return ptr;
+}
diff --git a/testsuites/libtests/Makefile.am b/testsuites/libtests/Makefile.am
index 1b80283123..406961ca73 100644
--- a/testsuites/libtests/Makefile.am
+++ b/testsuites/libtests/Makefile.am
@@ -1160,6 +1160,14 @@ lib_docs += record02/record02.doc
 record02_SOURCES = record02/init.c
 record02_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_FLAGS_record02) \
 	$(support_includes)
+record02_LDADD = $(LDADD) $(RTEMS_ROOT)cpukit/librtemsrecordwrap.a $(LDADD)
+record02_LDFLAGS = $(AM_LDFLAGS)
+record02_LDFLAGS += -Wl,--wrap=aligned_alloc
+record02_LDFLAGS += -Wl,--wrap=calloc
+record02_LDFLAGS += -Wl,--wrap=malloc
+record02_LDFLAGS += -Wl,--wrap=free
+record02_LDFLAGS += -Wl,--wrap=posix_memalign
+record02_LDFLAGS += -Wl,--wrap=realloc
 endif
 
 if TEST_rtmonuse
diff --git a/testsuites/libtests/record02/init.c b/testsuites/libtests/record02/init.c
index 22671a7c0a..220e240d60 100644
--- a/testsuites/libtests/record02/init.c
+++ b/testsuites/libtests/record02/init.c
@@ -33,6 +33,7 @@
 #include <rtems/recordclient.h>
 #include <rtems.h>
 
+#include <stdlib.h>
 #include <string.h>
 
 #include "tmacros.h"
@@ -94,6 +95,24 @@ static void drain_visitor(
   rtems_test_assert(cs == RTEMS_RECORD_CLIENT_SUCCESS);
 }
 
+static void call_malloc_functions(void)
+{
+  void *p;
+  int eno;
+
+  p = aligned_alloc(1, 1);
+  free(p);
+  p = calloc(1, 1);
+  free(p);
+  p = malloc(1);
+  free(p);
+  eno = posix_memalign(&p, 32, 32);
+  rtems_test_assert(eno == 0);
+  free(p);
+  p = realloc(NULL, 1);
+  free(p);
+}
+
 static void Init(rtems_task_argument arg)
 {
   test_context *ctx;
@@ -161,6 +180,8 @@ static void Init(rtems_task_argument arg)
   level = rtems_record_interrupt_disable();
   rtems_record_interrupt_enable(level);
 
+  call_malloc_functions();
+
   rtems_record_client_init(&ctx->client, client_handler, NULL);
   size = _Record_Stream_header_initialize(&header);
   cs = rtems_record_client_run(&ctx->client, &header, size);
@@ -182,7 +203,7 @@ static void Init(rtems_task_argument arg)
 
 #define CONFIGURE_RTEMS_INIT_TASKS_TABLE
 
-#define CONFIGURE_RECORD_PER_PROCESSOR_ITEMS 256
+#define CONFIGURE_RECORD_PER_PROCESSOR_ITEMS 512
 
 #define CONFIGURE_RECORD_EXTENSIONS_ENABLED
 
diff --git a/testsuites/libtests/record02/record02.scn b/testsuites/libtests/record02/record02.scn
index aa886df9c6..4f0ec037d3 100644
--- a/testsuites/libtests/record02/record02.scn
+++ b/testsuites/libtests/record02/record02.scn
@@ -1,241 +1,474 @@
 *** BEGIN OF TEST RECORD 2 ***
-*** TEST VERSION: 5.0.0.807ea677b298ed13796d27c493c726c0bfe6e036
+*** TEST VERSION: 5.0.0.1c72ad73ae2a2ee74a33edd1f8b6303444c76d01
 *** TEST STATE: EXPECTED-PASS
 *** TEST BUILD: RTEMS_NETWORKING RTEMS_POSIX_API
 *** TEST TOOLS: 7.4.1 20190514 (RTEMS 5, RSB e047d64adf806d37393eb12d02a7ce26633d2eba, Newlib 5c2a3661c)
-*:0:VERSION:6
+*:0:VERSION:8
 *:0:PROCESSOR_MAXIMUM:0
-*:0:PER_CPU_COUNT:100
+*:0:PER_CPU_COUNT:200
 *:0:FREQUENCY:f4240
+*:0:ARCH:52415053
+*:0:ARCH:43
+*:0:MULTILIB:50462f77
+*:0:MULTILIB:55
+*:0:BSP:33637265
+*:0:BSP:32
+*:0:VERSION_CONTROL_KEY:33646134
+*:0:VERSION_CONTROL_KEY:34636161
+*:0:VERSION_CONTROL_KEY:30376432
+*:0:VERSION_CONTROL_KEY:35663061
+*:0:VERSION_CONTROL_KEY:62313434
+*:0:VERSION_CONTROL_KEY:62626363
+*:0:VERSION_CONTROL_KEY:66343631
+*:0:VERSION_CONTROL_KEY:64616437
+*:0:VERSION_CONTROL_KEY:30336466
+*:0:VERSION_CONTROL_KEY:38633536
+*:0:VERSION_CONTROL_KEY:646f6d2d
+*:0:VERSION_CONTROL_KEY:65696669
+*:0:VERSION_CONTROL_KEY:64
+*:0:TOOLS:2e342e37
+*:0:TOOLS:30322031
+*:0:TOOLS:35303931
+*:0:TOOLS:28203431
+*:0:TOOLS:4d455452
+*:0:TOOLS:2c352053
+*:0:TOOLS:42535220
+*:0:TOOLS:34306520
+*:0:TOOLS:34366437
+*:0:TOOLS:38666461
+*:0:TOOLS:33643630
+*:0:TOOLS:33393337
+*:0:TOOLS:32316265
+*:0:TOOLS:61323064
+*:0:TOOLS:32656337
+*:0:TOOLS:33333636
+*:0:TOOLS:62653264
+*:0:TOOLS:4e202c61
+*:0:TOOLS:696c7765
+*:0:TOOLS:63352062
+*:0:TOOLS:36336132
+*:0:TOOLS:29633136
 *:0:PROCESSOR:0
 *:0:PER_CPU_TAIL:0
-*:0:PER_CPU_HEAD:e3
-0.994328000:0:THREAD_CREATE:9010001
-0.994328000:0:THREAD_NAME:49494949
-0.994514999:0:THREAD_START:9010001
+*:0:PER_CPU_HEAD:19e
+0.994056000:0:THREAD_CREATE:9010001
+0.994056000:0:THREAD_NAME:454c4449
+0.994243999:0:THREAD_START:9010001
+0.994505000:0:CALLOC_ENTRY:20029b4
+0.994505000:0:ARG_0:1
+0.994505000:0:ARG_1:68
+0.994534000:0:MALLOC_ENTRY:202cef8
+0.994534000:0:ARG_0:68
+0.994793999:0:MALLOC_EXIT:202cef8
+0.994793999:0:RETURN_0:204d0d8
+0.994831999:0:CALLOC_EXIT:20029b4
+0.994831999:0:RETURN_0:204d0d8
+0.995667000:0:CALLOC_ENTRY:2015338
+0.995667000:0:ARG_0:1
+0.995667000:0:ARG_1:53
+0.995701000:0:MALLOC_ENTRY:202cef8
+0.995701000:0:ARG_0:53
+0.995955999:0:MALLOC_EXIT:202cef8
+0.995955999:0:RETURN_0:204d168
+0.995992999:0:CALLOC_EXIT:2015338
+0.995992999:0:RETURN_0:204d168
+0.999338000:0:CALLOC_ENTRY:2015338
+0.999338000:0:ARG_0:1
+0.999338000:0:ARG_1:4f
+0.999366000:0:MALLOC_ENTRY:202cef8
+0.999366000:0:ARG_0:4f
+0.999616000:0:MALLOC_EXIT:202cef8
+0.999616000:0:RETURN_0:204d1e0
+0.999653999:0:CALLOC_EXIT:2015338
+0.999653999:0:RETURN_0:204d1e0
 *:0:UPTIME_LOW:9b307
 *:0:UPTIME_HIGH:1
-1.000563999:0:THREAD_CREATE:a010001
-1.000563999:0:THREAD_NAME:55555555
-1.000876999:0:THREAD_START:a010001
-1.003730999:0:THREAD_BEGIN:a010001
-1.005493999:0:THREAD_SWITCH_OUT:a010001
-1.005493999:0:THREAD_STACK_CURRENT:d38
-1.005493999:0:THREAD_SWITCH_IN:9010001
-1.005597999:0:THREAD_BEGIN:9010001
-1.013811999:0:THREAD_SWITCH_OUT:9010001
-1.013811999:0:THREAD_STACK_CURRENT:d40
-1.013811999:0:THREAD_SWITCH_IN:a010001
-1.014068999:0:THREAD_SWITCH_OUT:a010001
-1.014068999:0:THREAD_STACK_CURRENT:d38
-1.014068999:0:THREAD_SWITCH_IN:9010001
-1.023800999:0:THREAD_SWITCH_OUT:9010001
-1.023800999:0:THREAD_STACK_CURRENT:d40
-1.023800999:0:THREAD_SWITCH_IN:a010001
-1.024057999:0:THREAD_SWITCH_OUT:a010001
-1.024057999:0:THREAD_STACK_CURRENT:d38
-1.024057999:0:THREAD_SWITCH_IN:9010001
-1.033800999:0:THREAD_SWITCH_OUT:9010001
-1.033800999:0:THREAD_STACK_CURRENT:d40
-1.033800999:0:THREAD_SWITCH_IN:a010001
-1.034057999:0:THREAD_SWITCH_OUT:a010001
-1.034057999:0:THREAD_STACK_CURRENT:d38
-1.034057999:0:THREAD_SWITCH_IN:9010001
-1.043800999:0:THREAD_SWITCH_OUT:9010001
-1.043800999:0:THREAD_STACK_CURRENT:d40
-1.043800999:0:THREAD_SWITCH_IN:a010001
-1.044057999:0:THREAD_SWITCH_OUT:a010001
-1.044057999:0:THREAD_STACK_CURRENT:d38
-1.044057999:0:THREAD_SWITCH_IN:9010001
-1.053800999:0:THREAD_SWITCH_OUT:9010001
-1.053800999:0:THREAD_STACK_CURRENT:d40
-1.053800999:0:THREAD_SWITCH_IN:a010001
-1.054057999:0:THREAD_SWITCH_OUT:a010001
-1.054057999:0:THREAD_STACK_CURRENT:d38
-1.054057999:0:THREAD_SWITCH_IN:9010001
-1.063800999:0:THREAD_SWITCH_OUT:9010001
-1.063800999:0:THREAD_STACK_CURRENT:d40
-1.063800999:0:THREAD_SWITCH_IN:a010001
-1.064057999:0:THREAD_SWITCH_OUT:a010001
-1.064057999:0:THREAD_STACK_CURRENT:d38
-1.064057999:0:THREAD_SWITCH_IN:9010001
-1.073800999:0:THREAD_SWITCH_OUT:9010001
-1.073800999:0:THREAD_STACK_CURRENT:d40
-1.073800999:0:THREAD_SWITCH_IN:a010001
-1.074057999:0:THREAD_SWITCH_OUT:a010001
-1.074057999:0:THREAD_STACK_CURRENT:d38
-1.074057999:0:THREAD_SWITCH_IN:9010001
-1.083800999:0:THREAD_SWITCH_OUT:9010001
-1.083800999:0:THREAD_STACK_CURRENT:d40
-1.083800999:0:THREAD_SWITCH_IN:a010001
-1.084057999:0:THREAD_SWITCH_OUT:a010001
-1.084057999:0:THREAD_STACK_CURRENT:d38
-1.084057999:0:THREAD_SWITCH_IN:9010001
-1.093800999:0:THREAD_SWITCH_OUT:9010001
-1.093800999:0:THREAD_STACK_CURRENT:d40
-1.093800999:0:THREAD_SWITCH_IN:a010001
-1.094057999:0:THREAD_SWITCH_OUT:a010001
-1.094057999:0:THREAD_STACK_CURRENT:d38
-1.094057999:0:THREAD_SWITCH_IN:9010001
-1.103800999:0:THREAD_SWITCH_OUT:9010001
-1.103800999:0:THREAD_STACK_CURRENT:d40
-1.103800999:0:THREAD_SWITCH_IN:a010001
-1.103883999:0:LINE:2001290
-1.103897999:0:LINE:200129c
-1.103897999:0:USER_0:0
-1.103914999:0:LINE:20012b0
-1.103914999:0:USER_1:1
-1.103914999:0:USER_2:2
-1.103940999:0:LINE:20012b8
-1.103940999:0:ARG_0:0
-1.103958999:0:LINE:20012c4
-1.103958999:0:ARG_0:0
-1.103958999:0:ARG_1:1
-1.103987999:0:LINE:20012d4
-1.103987999:0:ARG_0:0
-1.103987999:0:ARG_1:1
-1.103987999:0:ARG_2:2
-1.104021999:0:LINE:20012e8
-1.104021999:0:ARG_0:0
-1.104021999:0:ARG_1:1
-1.104021999:0:ARG_2:2
-1.104021999:0:ARG_3:3
-1.104060999:0:LINE:2001300
-1.104060999:0:ARG_0:0
-1.104060999:0:ARG_1:1
-1.104060999:0:ARG_2:2
-1.104060999:0:ARG_3:3
-1.104060999:0:ARG_4:4
-1.104104999:0:LINE:200131c
-1.104104999:0:ARG_0:0
-1.104104999:0:ARG_1:1
-1.104104999:0:ARG_2:2
-1.104104999:0:ARG_3:3
-1.104104999:0:ARG_4:4
-1.104104999:0:ARG_5:5
-1.104153999:0:LINE:200133c
-1.104153999:0:ARG_0:0
-1.104153999:0:ARG_1:1
-1.104153999:0:ARG_2:2
-1.104153999:0:ARG_3:3
-1.104153999:0:ARG_4:4
-1.104153999:0:ARG_5:5
-1.104153999:0:ARG_6:6
-1.104208999:0:LINE:2001364
-1.104208999:0:ARG_0:0
-1.104208999:0:ARG_1:1
-1.104208999:0:ARG_2:2
-1.104208999:0:ARG_3:3
-1.104208999:0:ARG_4:4
-1.104208999:0:ARG_5:5
-1.104208999:0:ARG_6:6
-1.104208999:0:ARG_7:7
-1.104269999:0:LINE:2001390
-1.104269999:0:ARG_0:0
-1.104269999:0:ARG_1:1
-1.104269999:0:ARG_2:2
-1.104269999:0:ARG_3:3
-1.104269999:0:ARG_4:4
-1.104269999:0:ARG_5:5
-1.104269999:0:ARG_6:6
-1.104269999:0:ARG_7:7
-1.104269999:0:ARG_8:8
-1.104335999:0:LINE:20013c0
-1.104335999:0:ARG_0:0
-1.104335999:0:ARG_1:1
-1.104335999:0:ARG_2:2
-1.104335999:0:ARG_3:3
-1.104335999:0:ARG_4:4
-1.104335999:0:ARG_5:5
-1.104335999:0:ARG_6:6
-1.104335999:0:ARG_7:7
-1.104335999:0:ARG_8:8
-1.104335999:0:ARG_9:9
-1.104394999:0:CALLER:200cc20
-1.104394999:0:LINE:20013c8
-1.104412999:0:CALLER:200cc20
-1.104412999:0:LINE:20013d8
-1.104412999:0:USER_0:0
-1.104441999:0:CALLER:200cc20
-1.104441999:0:LINE:20013f0
-1.104441999:0:USER_1:1
-1.104441999:0:USER_2:2
-1.104473999:0:CALLER:200cc20
-1.104473999:0:LINE:20013fc
-1.104473999:0:ARG_0:0
-1.104502999:0:CALLER:200cc20
-1.104502999:0:LINE:200140c
-1.104502999:0:ARG_0:0
-1.104502999:0:ARG_1:1
-1.104537999:0:CALLER:200cc20
-1.104537999:0:LINE:2001420
-1.104537999:0:ARG_0:0
-1.104537999:0:ARG_1:1
-1.104537999:0:ARG_2:2
-1.104576999:0:CALLER:200cc20
-1.104576999:0:LINE:2001438
-1.104576999:0:ARG_0:0
-1.104576999:0:ARG_1:1
-1.104576999:0:ARG_2:2
-1.104576999:0:ARG_3:3
-1.104620999:0:CALLER:200cc20
-1.104620999:0:LINE:2001454
-1.104620999:0:ARG_0:0
-1.104620999:0:ARG_1:1
-1.104620999:0:ARG_2:2
-1.104620999:0:ARG_3:3
-1.104620999:0:ARG_4:4
-1.104669999:0:CALLER:200cc20
-1.104669999:0:LINE:2001478
-1.104669999:0:ARG_0:0
-1.104669999:0:ARG_1:1
-1.104669999:0:ARG_2:2
-1.104669999:0:ARG_3:3
-1.104669999:0:ARG_4:4
-1.104669999:0:ARG_5:5
-1.104724999:0:CALLER:200cc20
-1.104724999:0:LINE:200149c
-1.104724999:0:ARG_0:0
-1.104724999:0:ARG_1:1
-1.104724999:0:ARG_2:2
-1.104724999:0:ARG_3:3
-1.104724999:0:ARG_4:4
-1.104724999:0:ARG_5:5
-1.104724999:0:ARG_6:6
-1.104785999:0:CALLER:200cc20
-1.104785999:0:LINE:20014c4
-1.104785999:0:ARG_0:0
-1.104785999:0:ARG_1:1
-1.104785999:0:ARG_2:2
-1.104785999:0:ARG_3:3
-1.104785999:0:ARG_4:4
-1.104785999:0:ARG_5:5
-1.104785999:0:ARG_6:6
-1.104785999:0:ARG_7:7
-1.104850999:0:CALLER:200cc20
-1.104850999:0:LINE:20014f0
-1.104850999:0:ARG_0:0
-1.104850999:0:ARG_1:1
-1.104850999:0:ARG_2:2
-1.104850999:0:ARG_3:3
-1.104850999:0:ARG_4:4
-1.104850999:0:ARG_5:5
-1.104850999:0:ARG_6:6
-1.104850999:0:ARG_7:7
-1.104850999:0:ARG_8:8
-1.104921999:0:CALLER:200cc20
-1.104921999:0:LINE:2001520
-1.104921999:0:ARG_0:0
-1.104921999:0:ARG_1:1
-1.104921999:0:ARG_2:2
-1.104921999:0:ARG_3:3
-1.104921999:0:ARG_4:4
-1.104921999:0:ARG_5:5
-1.104921999:0:ARG_6:6
-1.104921999:0:ARG_7:7
-1.104921999:0:ARG_8:8
-1.104921999:0:ARG_9:9
-1.104986999:0:ISR_DISABLE:2001528
-1.104996999:0:ISR_ENABLE:2001530
+1.000571999:0:THREAD_CREATE:a010001
+1.000571999:0:THREAD_NAME:20314955
+1.000885999:0:THREAD_START:a010001
+1.003739999:0:THREAD_BEGIN:a010001
+1.005501999:0:THREAD_SWITCH_OUT:a010001
+1.005501999:0:THREAD_STACK_CURRENT:b30
+1.005501999:0:THREAD_SWITCH_IN:9010001
+1.005606999:0:THREAD_BEGIN:9010001
+1.013535999:0:THREAD_SWITCH_OUT:9010001
+1.013535999:0:THREAD_STACK_CURRENT:d40
+1.013535999:0:THREAD_SWITCH_IN:a010001
+1.013792999:0:THREAD_SWITCH_OUT:a010001
+1.013792999:0:THREAD_STACK_CURRENT:b30
+1.013792999:0:THREAD_SWITCH_IN:9010001
+1.023524999:0:THREAD_SWITCH_OUT:9010001
+1.023524999:0:THREAD_STACK_CURRENT:d40
+1.023524999:0:THREAD_SWITCH_IN:a010001
+1.023781999:0:THREAD_SWITCH_OUT:a010001
+1.023781999:0:THREAD_STACK_CURRENT:b30
+1.023781999:0:THREAD_SWITCH_IN:9010001
+1.033524999:0:THREAD_SWITCH_OUT:9010001
+1.033524999:0:THREAD_STACK_CURRENT:d40
+1.033524999:0:THREAD_SWITCH_IN:a010001
+1.033781999:0:THREAD_SWITCH_OUT:a010001
+1.033781999:0:THREAD_STACK_CURRENT:b30
+1.033781999:0:THREAD_SWITCH_IN:9010001
+1.043524999:0:THREAD_SWITCH_OUT:9010001
+1.043524999:0:THREAD_STACK_CURRENT:d40
+1.043524999:0:THREAD_SWITCH_IN:a010001
+1.043781999:0:THREAD_SWITCH_OUT:a010001
+1.043781999:0:THREAD_STACK_CURRENT:b30
+1.043781999:0:THREAD_SWITCH_IN:9010001
+1.053524999:0:THREAD_SWITCH_OUT:9010001
+1.053524999:0:THREAD_STACK_CURRENT:d40
+1.053524999:0:THREAD_SWITCH_IN:a010001
+1.053781999:0:THREAD_SWITCH_OUT:a010001
+1.053781999:0:THREAD_STACK_CURRENT:b30
+1.053781999:0:THREAD_SWITCH_IN:9010001
+1.063524999:0:THREAD_SWITCH_OUT:9010001
+1.063524999:0:THREAD_STACK_CURRENT:d40
+1.063524999:0:THREAD_SWITCH_IN:a010001
+1.063781999:0:THREAD_SWITCH_OUT:a010001
+1.063781999:0:THREAD_STACK_CURRENT:b30
+1.063781999:0:THREAD_SWITCH_IN:9010001
+1.073524999:0:THREAD_SWITCH_OUT:9010001
+1.073524999:0:THREAD_STACK_CURRENT:d40
+1.073524999:0:THREAD_SWITCH_IN:a010001
+1.073781999:0:THREAD_SWITCH_OUT:a010001
+1.073781999:0:THREAD_STACK_CURRENT:b30
+1.073781999:0:THREAD_SWITCH_IN:9010001
+1.083524999:0:THREAD_SWITCH_OUT:9010001
+1.083524999:0:THREAD_STACK_CURRENT:d40
+1.083524999:0:THREAD_SWITCH_IN:a010001
+1.083781999:0:THREAD_SWITCH_OUT:a010001
+1.083781999:0:THREAD_STACK_CURRENT:b30
+1.083781999:0:THREAD_SWITCH_IN:9010001
+1.093524999:0:THREAD_SWITCH_OUT:9010001
+1.093524999:0:THREAD_STACK_CURRENT:d40
+1.093524999:0:THREAD_SWITCH_IN:a010001
+1.093781999:0:THREAD_SWITCH_OUT:a010001
+1.093781999:0:THREAD_STACK_CURRENT:b30
+1.093781999:0:THREAD_SWITCH_IN:9010001
+1.103524999:0:THREAD_SWITCH_OUT:9010001
+1.103524999:0:THREAD_STACK_CURRENT:d40
+1.103524999:0:THREAD_SWITCH_IN:a010001
+1.103607999:0:LINE:20013bc
+1.103621999:0:LINE:20013c8
+1.103621999:0:USER_0:0
+1.103638999:0:LINE:20013dc
+1.103638999:0:USER_1:1
+1.103638999:0:USER_2:2
+1.103664999:0:LINE:20013e4
+1.103664999:0:ARG_0:0
+1.103682999:0:LINE:20013f0
+1.103682999:0:ARG_0:0
+1.103682999:0:ARG_1:1
+1.103711999:0:LINE:2001400
+1.103711999:0:ARG_0:0
+1.103711999:0:ARG_1:1
+1.103711999:0:ARG_2:2
+1.103745999:0:LINE:2001414
+1.103745999:0:ARG_0:0
+1.103745999:0:ARG_1:1
+1.103745999:0:ARG_2:2
+1.103745999:0:ARG_3:3
+1.103784999:0:LINE:200142c
+1.103784999:0:ARG_0:0
+1.103784999:0:ARG_1:1
+1.103784999:0:ARG_2:2
+1.103784999:0:ARG_3:3
+1.103784999:0:ARG_4:4
+1.103828999:0:LINE:2001448
+1.103828999:0:ARG_0:0
+1.103828999:0:ARG_1:1
+1.103828999:0:ARG_2:2
+1.103828999:0:ARG_3:3
+1.103828999:0:ARG_4:4
+1.103828999:0:ARG_5:5
+1.103877999:0:LINE:2001468
+1.103877999:0:ARG_0:0
+1.103877999:0:ARG_1:1
+1.103877999:0:ARG_2:2
+1.103877999:0:ARG_3:3
+1.103877999:0:ARG_4:4
+1.103877999:0:ARG_5:5
+1.103877999:0:ARG_6:6
+1.103932999:0:LINE:2001490
+1.103932999:0:ARG_0:0
+1.103932999:0:ARG_1:1
+1.103932999:0:ARG_2:2
+1.103932999:0:ARG_3:3
+1.103932999:0:ARG_4:4
+1.103932999:0:ARG_5:5
+1.103932999:0:ARG_6:6
+1.103932999:0:ARG_7:7
+1.103993999:0:LINE:20014bc
+1.103993999:0:ARG_0:0
+1.103993999:0:ARG_1:1
+1.103993999:0:ARG_2:2
+1.103993999:0:ARG_3:3
+1.103993999:0:ARG_4:4
+1.103993999:0:ARG_5:5
+1.103993999:0:ARG_6:6
+1.103993999:0:ARG_7:7
+1.103993999:0:ARG_8:8
+1.104059999:0:LINE:20014ec
+1.104059999:0:ARG_0:0
+1.104059999:0:ARG_1:1
+1.104059999:0:ARG_2:2
+1.104059999:0:ARG_3:3
+1.104059999:0:ARG_4:4
+1.104059999:0:ARG_5:5
+1.104059999:0:ARG_6:6
+1.104059999:0:ARG_7:7
+1.104059999:0:ARG_8:8
+1.104059999:0:ARG_9:9
+1.104118999:0:CALLER:200dae0
+1.104118999:0:LINE:20014f4
+1.104136999:0:CALLER:200dae0
+1.104136999:0:LINE:2001504
+1.104136999:0:USER_0:0
+1.104165999:0:CALLER:200dae0
+1.104165999:0:LINE:200151c
+1.104165999:0:USER_1:1
+1.104165999:0:USER_2:2
+1.104197999:0:CALLER:200dae0
+1.104197999:0:LINE:2001528
+1.104197999:0:ARG_0:0
+1.104226999:0:CALLER:200dae0
+1.104226999:0:LINE:2001538
+1.104226999:0:ARG_0:0
+1.104226999:0:ARG_1:1
+1.104261999:0:CALLER:200dae0
+1.104261999:0:LINE:200154c
+1.104261999:0:ARG_0:0
+1.104261999:0:ARG_1:1
+1.104261999:0:ARG_2:2
+1.104300999:0:CALLER:200dae0
+1.104300999:0:LINE:2001564
+1.104300999:0:ARG_0:0
+1.104300999:0:ARG_1:1
+1.104300999:0:ARG_2:2
+1.104300999:0:ARG_3:3
+1.104344999:0:CALLER:200dae0
+1.104344999:0:LINE:2001580
+1.104344999:0:ARG_0:0
+1.104344999:0:ARG_1:1
+1.104344999:0:ARG_2:2
+1.104344999:0:ARG_3:3
+1.104344999:0:ARG_4:4
+1.104393999:0:CALLER:200dae0
+1.104393999:0:LINE:20015a4
+1.104393999:0:ARG_0:0
+1.104393999:0:ARG_1:1
+1.104393999:0:ARG_2:2
+1.104393999:0:ARG_3:3
+1.104393999:0:ARG_4:4
+1.104393999:0:ARG_5:5
+1.104448999:0:CALLER:200dae0
+1.104448999:0:LINE:20015c8
+1.104448999:0:ARG_0:0
+1.104448999:0:ARG_1:1
+1.104448999:0:ARG_2:2
+1.104448999:0:ARG_3:3
+1.104448999:0:ARG_4:4
+1.104448999:0:ARG_5:5
+1.104448999:0:ARG_6:6
+1.104509999:0:CALLER:200dae0
+1.104509999:0:LINE:20015f0
+1.104509999:0:ARG_0:0
+1.104509999:0:ARG_1:1
+1.104509999:0:ARG_2:2
+1.104509999:0:ARG_3:3
+1.104509999:0:ARG_4:4
+1.104509999:0:ARG_5:5
+1.104509999:0:ARG_6:6
+1.104509999:0:ARG_7:7
+1.104574999:0:CALLER:200dae0
+1.104574999:0:LINE:200161c
+1.104574999:0:ARG_0:0
+1.104574999:0:ARG_1:1
+1.104574999:0:ARG_2:2
+1.104574999:0:ARG_3:3
+1.104574999:0:ARG_4:4
+1.104574999:0:ARG_5:5
+1.104574999:0:ARG_6:6
+1.104574999:0:ARG_7:7
+1.104574999:0:ARG_8:8
+1.104645999:0:CALLER:200dae0
+1.104645999:0:LINE:200164c
+1.104645999:0:ARG_0:0
+1.104645999:0:ARG_1:1
+1.104645999:0:ARG_2:2
+1.104645999:0:ARG_3:3
+1.104645999:0:ARG_4:4
+1.104645999:0:ARG_5:5
+1.104645999:0:ARG_6:6
+1.104645999:0:ARG_7:7
+1.104645999:0:ARG_8:8
+1.104645999:0:ARG_9:9
+1.104709999:0:USER_3:200dae0
+1.104722999:0:USER_3:200dae0
+1.104722999:0:ARG_0:0
+1.104740999:0:USER_3:200dae0
+1.104740999:0:ARG_0:0
+1.104740999:0:ARG_1:1
+1.104769999:0:USER_3:200dae0
+1.104769999:0:ARG_0:0
+1.104769999:0:ARG_1:1
+1.104769999:0:ARG_2:2
+1.104803999:0:USER_3:200dae0
+1.104803999:0:ARG_0:0
+1.104803999:0:ARG_1:1
+1.104803999:0:ARG_2:2
+1.104803999:0:ARG_3:3
+1.104843999:0:USER_3:200dae0
+1.104843999:0:ARG_0:0
+1.104843999:0:ARG_1:1
+1.104843999:0:ARG_2:2
+1.104843999:0:ARG_3:3
+1.104843999:0:ARG_4:4
+1.104888999:0:USER_3:200dae0
+1.104888999:0:ARG_0:0
+1.104888999:0:ARG_1:1
+1.104888999:0:ARG_2:2
+1.104888999:0:ARG_3:3
+1.104888999:0:ARG_4:4
+1.104888999:0:ARG_5:5
+1.104938999:0:USER_3:200dae0
+1.104938999:0:ARG_0:0
+1.104938999:0:ARG_1:1
+1.104938999:0:ARG_2:2
+1.104938999:0:ARG_3:3
+1.104938999:0:ARG_4:4
+1.104938999:0:ARG_5:5
+1.104938999:0:ARG_6:6
+1.104994999:0:USER_3:200dae0
+1.104994999:0:ARG_0:0
+1.104994999:0:ARG_1:1
+1.104994999:0:ARG_2:2
+1.104994999:0:ARG_3:3
+1.104994999:0:ARG_4:4
+1.104994999:0:ARG_5:5
+1.104994999:0:ARG_6:6
+1.104994999:0:ARG_7:7
+1.105055999:0:USER_3:200dae0
+1.105055999:0:ARG_0:0
+1.105055999:0:ARG_1:1
+1.105055999:0:ARG_2:2
+1.105055999:0:ARG_3:3
+1.105055999:0:ARG_4:4
+1.105055999:0:ARG_5:5
+1.105055999:0:ARG_6:6
+1.105055999:0:ARG_7:7
+1.105055999:0:ARG_8:8
+1.105122999:0:USER_3:200dae0
+1.105122999:0:ARG_0:0
+1.105122999:0:ARG_1:1
+1.105122999:0:ARG_2:2
+1.105122999:0:ARG_3:3
+1.105122999:0:ARG_4:4
+1.105122999:0:ARG_5:5
+1.105122999:0:ARG_6:6
+1.105122999:0:ARG_7:7
+1.105122999:0:ARG_8:8
+1.105122999:0:ARG_9:9
+1.105181999:0:USER_4:200dae0
+1.105195999:0:USER_4:200dae0
+1.105195999:0:RETURN_0:0
+1.105212999:0:USER_4:200dae0
+1.105212999:0:ARG_0:0
+1.105212999:0:ARG_1:1
+1.105241999:0:USER_4:200dae0
+1.105241999:0:RETURN_0:0
+1.105241999:0:RETURN_1:1
+1.105241999:0:RETURN_2:2
+1.105276999:0:USER_4:200dae0
+1.105276999:0:RETURN_0:0
+1.105276999:0:RETURN_1:1
+1.105276999:0:RETURN_2:2
+1.105276999:0:RETURN_3:3
+1.105315999:0:USER_4:200dae0
+1.105315999:0:RETURN_0:0
+1.105315999:0:RETURN_1:1
+1.105315999:0:RETURN_2:2
+1.105315999:0:RETURN_3:3
+1.105315999:0:RETURN_4:4
+1.105360999:0:USER_4:200dae0
+1.105360999:0:RETURN_0:0
+1.105360999:0:RETURN_1:1
+1.105360999:0:RETURN_2:2
+1.105360999:0:RETURN_3:3
+1.105360999:0:RETURN_4:4
+1.105360999:0:RETURN_5:5
+1.105411999:0:USER_4:200dae0
+1.105411999:0:RETURN_0:0
+1.105411999:0:RETURN_1:1
+1.105411999:0:RETURN_2:2
+1.105411999:0:RETURN_3:3
+1.105411999:0:RETURN_4:4
+1.105411999:0:RETURN_5:5
+1.105411999:0:RETURN_6:6
+1.105466999:0:USER_4:200dae0
+1.105466999:0:RETURN_0:0
+1.105466999:0:RETURN_1:1
+1.105466999:0:RETURN_2:2
+1.105466999:0:RETURN_3:3
+1.105466999:0:RETURN_4:4
+1.105466999:0:RETURN_5:5
+1.105466999:0:RETURN_6:6
+1.105466999:0:RETURN_7:7
+1.105528999:0:USER_4:200dae0
+1.105528999:0:RETURN_0:0
+1.105528999:0:RETURN_1:1
+1.105528999:0:RETURN_2:2
+1.105528999:0:RETURN_3:3
+1.105528999:0:RETURN_4:4
+1.105528999:0:RETURN_5:5
+1.105528999:0:RETURN_6:6
+1.105528999:0:RETURN_7:7
+1.105528999:0:RETURN_8:8
+1.105594999:0:USER_4:200dae0
+1.105594999:0:RETURN_0:0
+1.105594999:0:RETURN_1:1
+1.105594999:0:RETURN_2:2
+1.105594999:0:RETURN_3:3
+1.105594999:0:RETURN_4:4
+1.105594999:0:RETURN_5:5
+1.105594999:0:RETURN_6:6
+1.105594999:0:RETURN_7:7
+1.105594999:0:RETURN_8:8
+1.105594999:0:RETURN_9:9
+1.105655999:0:ISR_DISABLE:2001920
+1.105665999:0:ISR_ENABLE:2001928
+1.105677999:0:MALLOC_ENTRY:2001930
+1.105677999:0:ARG_0:1
+1.105928999:0:MALLOC_EXIT:2001930
+1.105928999:0:RETURN_0:204d298
+1.105948999:0:FREE_ENTRY:2001938
+1.105948999:0:ARG_0:204d298
+1.106153999:0:FREE_EXIT:2001938
+1.106170999:0:POSIX_MEMALIGN_ENTRY:2001948
+1.106170999:0:ARG_0:204ccc4
+1.106170999:0:ARG_1:20
+1.106170999:0:ARG_2:20
+1.106504999:0:POSIX_MEMALIGN_EXIT:2001948
+1.106504999:0:ARG_0:0
+1.106504999:0:ARG_1:23ffe40
+1.106536999:0:FREE_ENTRY:2001960
+1.106536999:0:ARG_0:23ffe40
+1.106743999:0:FREE_EXIT:2001960
+1.106760999:0:REALLOC_ENTRY:200196c
+1.106760999:0:ARG_0:0
+1.106760999:0:ARG_1:1
+1.106787999:0:MALLOC_ENTRY:202cbcc
+1.106787999:0:ARG_0:1
+1.107043999:0:MALLOC_EXIT:202cbcc
+1.107043999:0:RETURN_0:204d2c8
+1.107063999:0:REALLOC_EXIT:200196c
+1.107063999:0:RETURN_0:204d2c8
+1.107083999:0:FREE_ENTRY:2001974
+1.107083999:0:ARG_0:204d2c8
+1.107288999:0:FREE_EXIT:2001974
+1.108696999:0:MALLOC_ENTRY:200646c
+1.108696999:0:ARG_0:180c
+1.108960999:0:MALLOC_EXIT:200646c
+1.108960999:0:RETURN_0:204d2f8
 
 *** END OF TEST RECORD 2 ***
-- 
2.16.4



More information about the devel mailing list