[PATCH] Updating trace buffer configuration

Gedare Bloom gedare at rtems.org
Wed May 30 14:44:15 UTC 2018


Vidushi,

For revisions to patches, please use the "-v" option for
git-format-patch before you git-send-email the patch files to append a
version number, in this case, use
git format-patch -v 2 HEAD^ -o ../
to generate a patch from the head commit in the parent directory
having the "v2" appended to it.

https://devel.rtems.org/wiki/Developer/Git/Users#CreatingaPatch

Gedare

On Wed, May 30, 2018 at 10:41 AM, Vidushi Vashishth <reachvidu at gmail.com> wrote:
> ---
>  linkers/rtld-trace-buffer.ini | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/linkers/rtld-trace-buffer.ini b/linkers/rtld-trace-buffer.ini
> index ee68d55..c17f2f1 100644
> --- a/linkers/rtld-trace-buffer.ini
> +++ b/linkers/rtld-trace-buffer.ini
> @@ -27,6 +27,7 @@ header = "#include <stdint.h>"
>  header = "#include <rtems.h>"
>  header = "#include <rtems/rtems/tasksimpl.h>"
>  header = "#include <rtems/score/threadimpl.h>"
> +header = "#include <rtems/score/threadq.h>"
>
>  [trace-buffer-tracers]
>  code = <<<CODE
> @@ -85,7 +86,7 @@ static inline uint32_t __rtld_tbg_executing_id(void)
>  static inline uint32_t __rtld_tbg_executing_status(void)
>  {
>    /* @fixme Add the current CPU for SMP. */
> -  struct _Thread_Control* tc = _Thread_Get_executing();
> +  Thread_Control* tc = _Thread_Get_executing();
>    return (_Thread_Get_priority(tc) << 8) | tc->Real_priority.priority;
>  }
>
> --
> 2.7.4
>
>
> On Wed, May 30, 2018 at 7:24 PM, Vidushi Vashishth <reachvidu at gmail.com>
> wrote:
>>
>> >Based on this error, I believe you need to drop the "struct", given
>> >that Thread_Control is the typedef for "struct _Thread_Control".
>>
>> Oh yes you are right. It was originally written with the "struct" so I
>> somehow overlooked it. I tired it this way. It works thanks.
>>
>> >Minor, but in most other places in RTEMS, I've seen pointers declared
>> >with the asterisk on the variable not on the type ("int *ptr;" instead
>> >of "int* ptr;").
>>
>> The trace linker code was last updated couple of years ago and this isn't
>> the convention used in it. I don't know if the convention has changed but I
>> stuck with how it was done in the configuration files of the trace linker.
>>
>> On Wed, May 30, 2018 at 7:05 PM, Amaan Cheval <amaan.cheval at gmail.com>
>> wrote:
>>>
>>> On Wed, May 30, 2018 at 6:33 PM, Vidushi Vashishth <reachvidu at gmail.com>
>>> wrote:
>>> > Could you please change the
>>> >
>>> > struct _Thread_Control
>>> >
>>> > to
>>> >
>>> > Thread_Control
>>> >
>>> > and check if it still works.
>>> >
>>> > In RTEMS, we use typedefs for structures in general.
>>> >
>>> > I tried to include the threadq.h header file so that I could use the
>>> > variable Thread_Control instead of _Thread_Control. This header file
>>> > has the
>>> > following typedef statement:
>>> >
>>> > typedef struct _Thread_Control Thread_Control;
>>> >
>>> > However this leads to the following error:
>>> >
>>> > fileio-wrapper.c:389:31: warning: initialization from incompatible
>>> > pointer
>>> > type [-Wincompatible-pointer-types]
>>> >    struct Thread_Control* tc = _Thread_Get_executing();
>>> >                                ^~~~~~~~~~~~~~~~~~~~~
>>>
>>> Based on this error, I believe you need to drop the "struct", given
>>> that Thread_Control is the typedef for "struct _Thread_Control".
>>>
>>> Minor, but in most other places in RTEMS, I've seen pointers declared
>>> with the asterisk on the variable not on the type ("int *ptr;" instead
>>> of "int* ptr;").
>>>
>>> > fileio-wrapper.c:390:32: warning: passing argument 1 of
>>> > '_Thread_Get_priority' from incompatible pointer type
>>> > [-Wincompatible-pointer-types]
>>> >    return (_Thread_Get_priority(tc) << 8) | tc->Real_priority.priority;
>>> >
>>> > I had tried this earlier too. So it doesn't work.
>>> >
>>> >
>>> >
>>> > On Wed, May 30, 2018 at 10:59 AM, Sebastian Huber
>>> > <sebastian.huber at embedded-brains.de> wrote:
>>> >>
>>> >>
>>> >>
>>> >> On 29/05/18 17:36, Vidushi Vashishth wrote:
>>> >>>
>>> >>> ---
>>> >>>   linkers/rtld-trace-buffer.ini | 5 +++--
>>> >>>   1 file changed, 3 insertions(+), 2 deletions(-)
>>> >>>
>>> >>> diff --git a/linkers/rtld-trace-buffer.ini
>>> >>> b/linkers/rtld-trace-buffer.ini
>>> >>> index af9fc31..ee68d55 100644
>>> >>> --- a/linkers/rtld-trace-buffer.ini
>>> >>> +++ b/linkers/rtld-trace-buffer.ini
>>> >>> @@ -26,6 +26,7 @@ buffer-local = " uint8_t* in;"
>>> >>>   header = "#include <stdint.h>"
>>> >>>   header = "#include <rtems.h>"
>>> >>>   header = "#include <rtems/rtems/tasksimpl.h>"
>>> >>> +header = "#include <rtems/score/threadimpl.h>"
>>> >>>     [trace-buffer-tracers]
>>> >>>   code = <<<CODE
>>> >>> @@ -84,8 +85,8 @@ static inline uint32_t
>>> >>> __rtld_tbg_executing_id(void)
>>> >>>   static inline uint32_t __rtld_tbg_executing_status(void)
>>> >>>   {
>>> >>>     /* @fixme Add the current CPU for SMP. */
>>> >>> -  struct Thread_Control* tc = _Thread_Get_executing();
>>> >>
>>> >>
>>> >> Could you please change the
>>> >>
>>> >> struct _Thread_Control
>>> >>
>>> >> to
>>> >>
>>> >> Thread_Control
>>> >>
>>> >> and check if it still works.
>>> >>
>>> >> In RTEMS, we use typedefs for structures in general.
>>> >>
>>> >>> -  return (tc->current_priority << 8) | tc->real_priority;
>>> >>> +  struct _Thread_Control* tc = _Thread_Get_executing();
>>> >>> +  return (_Thread_Get_priority(tc) << 8) |
>>> >>> tc->Real_priority.priority;
>>> >>>   }
>>> >>>     static inline uint32_t __rtld_tbg_executing_state(void)
>>> >>
>>> >>
>>> >> --
>>> >> 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.huber at embedded-brains.de
>>> >> PGP     : Public key available on request.
>>> >>
>>> >> Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
>>> >>
>>> >> _______________________________________________
>>> >> devel mailing list
>>> >> devel at rtems.org
>>> >> http://lists.rtems.org/mailman/listinfo/devel
>>> >
>>> >
>>> >
>>> > _______________________________________________
>>> > devel mailing list
>>> > devel at rtems.org
>>> > http://lists.rtems.org/mailman/listinfo/devel
>>
>>
>
>
> _______________________________________________
> devel mailing list
> devel at rtems.org
> http://lists.rtems.org/mailman/listinfo/devel



More information about the devel mailing list