[PATCH 1/2] score: Add and use RTEMS_SYMBOL_NAME()

Gedare Bloom gedare at rtems.org
Mon Apr 6 19:40:16 UTC 2020


On Mon, Apr 6, 2020 at 11:57 AM Sebastian Huber
<sebastian.huber at embedded-brains.de> wrote:
>
> Update #3799.
> ---
>  cpukit/include/rtems/score/basedefs.h | 21 +++++++++++++++++----
>  1 file changed, 17 insertions(+), 4 deletions(-)
>
> diff --git a/cpukit/include/rtems/score/basedefs.h b/cpukit/include/rtems/score/basedefs.h
> index 4589bea4aa..a2eb14a642 100644
> --- a/cpukit/include/rtems/score/basedefs.h
> +++ b/cpukit/include/rtems/score/basedefs.h
> @@ -321,6 +321,19 @@
>  #define RTEMS_DECLARE_GLOBAL_SYMBOL( _name ) \
>    extern char _name[]
>
> +/**
> + * @brief Constructs a symbol name.
> + *
> + * @param _name The user defined name of the symbol.  The name must be a valid
> + *   designator.  On the name a macro expansion is performed.
> + */
> +#if defined(__USER_LABEL_PREFIX__)
> +  #define RTEMS_SYMBOL_NAME( _name ) RTEMS_XCONCAT( __USER_LABEL_PREFIX__, _name )
> +#else
> +  #define _RTEMS_SYMBOL_NAME( _name ) _name
> +  #define RTEMS_SYMBOL_NAME( _name ) _RTEMS_SYMBOL_NAME( _name )
Am just  curious why there is _RTEMS_SYMBOL_NAME here and not in the other path

> +#endif
> +
>  /**
>   * @brief Defines a global symbol with the specified name and value.
>   *
> @@ -335,8 +348,8 @@
>  #if defined(__GNUC__)
>    #define RTEMS_DEFINE_GLOBAL_SYMBOL( _name, _value ) \
>      __asm__( \
> -      "\t.globl " RTEMS_XSTRING( __USER_LABEL_PREFIX__ ) #_name \
> -      "\n\t.set " RTEMS_XSTRING( __USER_LABEL_PREFIX__ ) #_name \
> +      "\t.globl " RTEMS_XSTRING( RTEMS_SYMBOL_NAME( _name ) ) \
> +      "\n\t.set " RTEMS_XSTRING( RTEMS_SYMBOL_NAME( _name ) ) \
>        ", " RTEMS_STRING( _value ) "\n" \
>      )
>  #else
> @@ -355,8 +368,8 @@
>      __asm__( \
>        ".pushsection \"" _section "\"\n" \
>        "\t.globl " \
> -      RTEMS_XSTRING( RTEMS_XCONCAT( __USER_LABEL_PREFIX__, _name ) ) "\n" \
> -      RTEMS_XSTRING( RTEMS_XCONCAT( __USER_LABEL_PREFIX__, _name ) ) ":\n" \
> +      RTEMS_XSTRING( RTEMS_SYMBOL_NAME( _name ) ) "\n" \
> +      RTEMS_XSTRING( RTEMS_SYMBOL_NAME( _name ) ) ":\n" \
>        "\t.popsection\n" \
>      )
>  #else
> --
> 2.16.4
>
> _______________________________________________
> devel mailing list
> devel at rtems.org
> http://lists.rtems.org/mailman/listinfo/devel


More information about the devel mailing list