[PATCH] Updating trace buffer configuration

Vidushi Vashishth reachvidu at gmail.com
Wed May 30 13:54:05 UTC 2018


>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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20180530/e3325344/attachment-0002.html>


More information about the devel mailing list