On 06/08/2019 13:26, Ravindra Kumar Meena wrote:
     > Yes, I tried that also. I can't see the 8 char for multiple
     > RTEMS_RECORD_THREAD_NAME in print_item(). Still, I tried to
    follow the
     > previously mentioned algorithm.
     >
     >
    
https://github.com/rmeena840/rtems-tools/commit/33c217642e36b91926dfd823e5b3b59974790084

    The code is more complicated than necessary, but it looks mostly all
    right.

All variables are defined inside if()..else() scope. It can be made easy if we use global variables. You asked once not to use global variables. So I did in this way.


    Setting

    +        cctx->thread_id_name[ item->cpu ].name_index = 0;

    if the name_index was 1, is wrong. You have to increment it.

Done
https://github.com/rmeena840/rtems-tools/commit/8ceb3ccb97422044fb30b3c562fc736cf0686d48

There is another bug here:

size_t api_id = ( ( cctx->thread_id_name[ item->cpu ].thread_id >> 24 ) & 0x7 );

Please make sure that you don't have an out of bounds access. Check the dimensions of your array against the values you get from the line above.

--
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.hu...@embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to