summaryrefslogtreecommitdiffstats
path: root/c/src/libmisc/stackchk/check.c
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2002-12-03 00:47:10 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2002-12-03 00:47:10 +0000
commite819fefcd279c78d61e4410caa815aa2fe19ae5c (patch)
tree279d2189eef9f2a06c4907153bf0ef93045c95d1 /c/src/libmisc/stackchk/check.c
parent2002-12-02 Joel Sherrill <joel@OARcorp.com> (diff)
downloadrtems-e819fefcd279c78d61e4410caa815aa2fe19ae5c.tar.bz2
2002-12-02 Joel Sherrill <joel@OARcorp.com>
* stackchk/check.c: Better handling of task name.
Diffstat (limited to '')
-rw-r--r--c/src/libmisc/stackchk/check.c34
1 files changed, 23 insertions, 11 deletions
diff --git a/c/src/libmisc/stackchk/check.c b/c/src/libmisc/stackchk/check.c
index 6a2e60c854..c0f1cca992 100644
--- a/c/src/libmisc/stackchk/check.c
+++ b/c/src/libmisc/stackchk/check.c
@@ -420,8 +420,9 @@ void Stack_check_Dump_threads_usage(
void *high_water_mark;
Stack_Control *stack;
unsigned32 u32_name;
- char name[5];
-
+ char name_str[5];
+ char *name;
+ Objects_Information *info;
if ( !the_thread )
return;
@@ -453,16 +454,27 @@ void Stack_check_Dump_threads_usage(
else
used = 0;
- if ( the_thread )
- u32_name = *(unsigned32 *)the_thread->Object.name;
- else
+ info = _Objects_Get_information(the_thread->Object.id);
+ name = name_str;
+ if ( the_thread ) {
+ if ( info->is_string ) {
+ name = (char *) the_thread->Object.name;
+ } else {
+ u32_name = (unsigned32 *)the_thread->Object.name;
+ name[ 0 ] = (u32_name >> 24) & 0xff;
+ name[ 1 ] = (u32_name >> 16) & 0xff;
+ name[ 2 ] = (u32_name >> 8) & 0xff;
+ name[ 3 ] = (u32_name >> 0) & 0xff;
+ name[ 4 ] = '\0';
+ }
+ } else {
u32_name = rtems_build_name('I', 'N', 'T', 'R');
-
- name[ 0 ] = (u32_name >> 24) & 0xff;
- name[ 1 ] = (u32_name >> 16) & 0xff;
- name[ 2 ] = (u32_name >> 8) & 0xff;
- name[ 3 ] = (u32_name >> 0) & 0xff;
- name[ 4 ] = '\0';
+ name[ 0 ] = (u32_name >> 24) & 0xff;
+ name[ 1 ] = (u32_name >> 16) & 0xff;
+ name[ 2 ] = (u32_name >> 8) & 0xff;
+ name[ 3 ] = (u32_name >> 0) & 0xff;
+ name[ 4 ] = '\0';
+ }
printf( "0x%08x %4s 0x%08x 0x%08x %8d %8d\n",
the_thread ? the_thread->Object.id : ~0,