[rtems commit] Add __synch_synchronize function for arm

Joel Sherril joel at rtems.org
Sat Aug 1 17:19:48 UTC 2015


Module:    rtems
Branch:    master
Commit:    7e798b475803d6d93f1dc616fd1e2ce3169991ec
Changeset: http://git.rtems.org/rtems/commit/?id=7e798b475803d6d93f1dc616fd1e2ce3169991ec

Author:    Jan Sommer <summerspam at web.de>
Date:      Sat Aug  1 05:43:12 2015 -0500

Add __synch_synchronize function for arm

Fixes link failure when linking Ada programs on the raspberry pi

---

 cpukit/score/cpu/arm/Makefile.am              | 1 +
 cpukit/score/cpu/arm/armv4-sync-synchronize.c | 9 +++++++++
 2 files changed, 10 insertions(+)

diff --git a/cpukit/score/cpu/arm/Makefile.am b/cpukit/score/cpu/arm/Makefile.am
index c051a48..4b242f0 100644
--- a/cpukit/score/cpu/arm/Makefile.am
+++ b/cpukit/score/cpu/arm/Makefile.am
@@ -27,6 +27,7 @@ libscorecpu_a_SOURCES += arm_exc_handler_high.c
 libscorecpu_a_SOURCES += arm-exception-frame-print.c
 libscorecpu_a_SOURCES += arm-exception-default.c
 libscorecpu_a_SOURCES += armv4-exception-default.S
+libscorecpu_a_SOURCES += armv4-sync-synchronize.c
 libscorecpu_a_SOURCES += armv7-thread-idle.c
 libscorecpu_a_SOURCES += armv7m-context-initialize.c
 libscorecpu_a_SOURCES += armv7m-context-restore.c
diff --git a/cpukit/score/cpu/arm/armv4-sync-synchronize.c b/cpukit/score/cpu/arm/armv4-sync-synchronize.c
new file mode 100644
index 0000000..6fcac05
--- /dev/null
+++ b/cpukit/score/cpu/arm/armv4-sync-synchronize.c
@@ -0,0 +1,9 @@
+void
+__sync_synchronize (void)
+{
+#ifdef ARM_MULTILIB_HAS_BARRIER_INSTRUCTIONS
+  asm volatile("dmb" : : : "memory");
+#else
+  asm volatile("" : : : "memory");
+#endif
+}
\ No newline at end of file




More information about the vc mailing list