diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2019-08-26 22:02:32 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2019-08-27 08:46:33 +0200 |
commit | a8af7a14ec15a8e9e3ffed294f3e1bd0af60d549 (patch) | |
tree | f931f618121dbd1ff2402d48c2a70578f5589ce7 | |
parent | record: Improve overflow handling (diff) | |
download | rtems-a8af7a14ec15a8e9e3ffed294f3e1bd0af60d549.tar.bz2 |
record: Fix thread names on 64-bit targets
Also fixes the thread names on signed char targets.
Update #3665.
-rw-r--r-- | cpukit/libtrace/record/record-server.c | 5 | ||||
-rw-r--r-- | 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 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; } |