From a8af7a14ec15a8e9e3ffed294f3e1bd0af60d549 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Mon, 26 Aug 2019 22:02:32 +0200 Subject: 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 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; } -- cgit v1.2.3