[rtems commit] record: Fix thread names on 64-bit targets

Sebastian Huber sebh at rtems.org
Tue Aug 27 06:47:30 UTC 2019


Module:    rtems
Branch:    master
Commit:    a8af7a14ec15a8e9e3ffed294f3e1bd0af60d549
Changeset: http://git.rtems.org/rtems/commit/?id=a8af7a14ec15a8e9e3ffed294f3e1bd0af60d549

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Mon Aug 26 22:02:32 2019 +0200

record: Fix thread names on 64-bit targets

Also fixes the thread names on signed char targets.

Update #3665.

---

 cpukit/libtrace/record/record-server.c  | 5 ++++-
 cpukit/libtrace/record/record-userext.c | 5 ++++-
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/cpukit/libtrace/record/record-server.c b/cpukit/libtrace/record/record-server.c
index 67495d7..991aef2 100644
--- a/cpukit/libtrace/record/record-server.c
+++ b/cpukit/libtrace/record/record-server.c
@@ -211,7 +211,10 @@ static bool thread_names_visitor( rtems_tcb *tcb, void *arg )
     data = 0;
 
     for ( j = 0; i < n && j < sizeof( data ); ++j ) {
-      data |= name[ i ] << ( j * 8 );
+      rtems_record_data c;
+
+      c = (unsigned char) name[ i ];
+      data |= c << ( j * 8 );
       ++i;
     }
 
diff --git a/cpukit/libtrace/record/record-userext.c b/cpukit/libtrace/record/record-userext.c
index 8e1f041..e03866f 100644
--- a/cpukit/libtrace/record/record-userext.c
+++ b/cpukit/libtrace/record/record-userext.c
@@ -57,7 +57,10 @@ bool _Record_Thread_create(
     data = 0;
 
     for ( k = 0; j < n && k < sizeof( data ); ++k ) {
-      data |= name[ i ] << ( k * 8 );
+      rtems_record_data c;
+
+      c = (unsigned char) name[ i ];
+      data |= c << ( k * 8 );
       ++j;
     }
 



More information about the vc mailing list