In case the LEON3FT back-to-back store workaround is active
(sparc_fix_b2bst), then define the builtin define __FIX_LEON3FT_B2BST on
RTEMS.  The intended use case for this is operating system code in
assembly language.  See also:

https://lists.rtems.org/pipermail/devel/2017-July/018463.html

gcc/
        *  gcc/config/sparc/rtemself.h (TARGET_OS_CPP_BUILTINS): Add
        conditional builtin define __FIX_LEON3FT_B2BST.
---
 gcc/config/sparc/rtemself.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/gcc/config/sparc/rtemself.h b/gcc/config/sparc/rtemself.h
index e5a3f6eae03..10eaa08fe4e 100644
--- a/gcc/config/sparc/rtemself.h
+++ b/gcc/config/sparc/rtemself.h
@@ -26,6 +26,8 @@ along with GCC; see the file COPYING3.  If not see
        builtin_define ("__rtems__");           \
        builtin_define ("__USE_INIT_FINI__");   \
        builtin_assert ("system=rtems");        \
+       if (sparc_fix_b2bst)                    \
+         builtin_define ("__FIX_LEON3FT_B2BST"); \
     }                                          \
   while (0)
 
-- 
2.12.3

Reply via email to