diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2019-10-04 08:51:13 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2019-10-28 10:00:31 +0100 |
commit | 795b167545ac074509f4b7c5fd7ed1c0da717460 (patch) | |
tree | 03738f140e6a95276eae514e0ee9a1d7a8426e79 /cpukit | |
parent | bsp/xilinx-zynqmp: Fix linkcmds config (diff) | |
download | rtems-795b167545ac074509f4b7c5fd7ed1c0da717460.tar.bz2 |
score: Add RTEMS_DEFINE_GLOBAL_SYMBOL_IN_SECTION()
Update #3799.
Diffstat (limited to 'cpukit')
-rw-r--r-- | cpukit/include/rtems/score/basedefs.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/cpukit/include/rtems/score/basedefs.h b/cpukit/include/rtems/score/basedefs.h index 782958920c..5f38559b6d 100644 --- a/cpukit/include/rtems/score/basedefs.h +++ b/cpukit/include/rtems/score/basedefs.h @@ -344,6 +344,25 @@ #endif /** + * @brief Defines a global symbol with the specified name in the specified + * section. + * + * The name must be a valid designator. + */ +#if defined(__GNUC__) + #define RTEMS_DEFINE_GLOBAL_SYMBOL_IN_SECTION( _name, _section ) \ + __asm__( \ + ".pushsection \"" _section "\"\n" \ + "\t.globl " \ + RTEMS_XSTRING( RTEMS_XCONCAT( __USER_LABEL_PREFIX__, _name ) ) "\n" \ + RTEMS_XSTRING( RTEMS_XCONCAT( __USER_LABEL_PREFIX__, _name ) ) ":\n" \ + "\t.popsection\n" \ + ) +#else + #define RTEMS_DEFINE_GLOBAL_SYMBOL_IN_SECTION( _name, section ) +#endif + +/** * @brief Returns the value of the specified integral expression and tells the * compiler that the predicted value is true (1). * |