summaryrefslogtreecommitdiffstats
path: root/cpukit/libtrace
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2019-08-26 22:02:32 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2019-08-27 08:46:33 +0200
commita8af7a14ec15a8e9e3ffed294f3e1bd0af60d549 (patch)
treef931f618121dbd1ff2402d48c2a70578f5589ce7 /cpukit/libtrace
parentrecord: Improve overflow handling (diff)
downloadrtems-a8af7a14ec15a8e9e3ffed294f3e1bd0af60d549.tar.bz2
record: Fix thread names on 64-bit targets
Also fixes the thread names on signed char targets. Update #3665.
Diffstat (limited to 'cpukit/libtrace')
-rw-r--r--cpukit/libtrace/record/record-server.c5
-rw-r--r--cpukit/libtrace/record/record-userext.c5
2 files changed, 8 insertions, 2 deletions
diff --git a/cpukit/libtrace/record/record-server.c b/cpukit/libtrace/record/record-server.c
index 67495d7f13..991aef2fb4 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 8e1f041da0..e03866f207 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;
}