[rtems commit] moxiesim: Add conditional logic to handle old and new gas syntax

Joel Sherril joel at rtems.org
Sat Jan 10 19:05:04 UTC 2015


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

Author:    Anthony Green <green at moxielogic.com>
Date:      Sat Jan 10 13:04:06 2015 -0600

moxiesim: Add conditional logic to handle old and new gas syntax

---

 c/src/lib/libbsp/moxie/moxiesim/configure.ac  | 13 +++++++++++++
 c/src/lib/libbsp/moxie/moxiesim/start/start.S | 10 ++++++++--
 2 files changed, 21 insertions(+), 2 deletions(-)

diff --git a/c/src/lib/libbsp/moxie/moxiesim/configure.ac b/c/src/lib/libbsp/moxie/moxiesim/configure.ac
index e073b4b..ff87add 100644
--- a/c/src/lib/libbsp/moxie/moxiesim/configure.ac
+++ b/c/src/lib/libbsp/moxie/moxiesim/configure.ac
@@ -17,6 +17,19 @@ RTEMS_PROG_CCAS
 
 RTEMS_BSP_CLEANUP_OPTIONS(0, 0)
 
+AC_MSG_CHECKING([for old moxie assembly syntax])
+AC_COMPILE_IFELSE(
+  [AC_LANG_PROGRAM(
+    [],
+    [asm("sub.l $r0, $r0");])],
+  [HAVE_OLD_MOXIE_ASM=yes],
+  [HAVE_OLD_MOXIE_ASM=no])
+AC_MSG_RESULT([$HAVE_OLD_MOXIE_ASM])
+if test "x$HAVE_OLD_MOXIE_ASM" = xyes; then
+  AC_DEFINE(HAVE_OLD_MOXIE_ASM, 
+            1, [Define if you are using old moxie asm syntax (sub.l)])
+fi
+
 # Explicitly list all Makefiles here
 AC_CONFIG_FILES([Makefile])
 AC_OUTPUT
diff --git a/c/src/lib/libbsp/moxie/moxiesim/start/start.S b/c/src/lib/libbsp/moxie/moxiesim/start/start.S
index 6b44a24..ae712cb 100644
--- a/c/src/lib/libbsp/moxie/moxiesim/start/start.S
+++ b/c/src/lib/libbsp/moxie/moxiesim/start/start.S
@@ -1,7 +1,13 @@
-/* Copyright (C) 2011, 2013  Anthony Green */
+/* Copyright (C) 2011, 2013, 2014  Anthony Green */
 
 /* moxie start up file. */
 
+#include "bspopts.h"
+
+#if defined(HAVE_OLD_MOXIE_ASM)
+#define sub sub.l
+#endif
+	
         .text
         .global _start
 _start:
@@ -12,7 +18,7 @@ _start:
         ldi.l   $r0, __bss_start__
         xor     $r1, $r1
         ldi.l   $r2, __bss_end__
-        sub.l   $r2, $r0
+        sub     $r2, $r0
         jsra    memset
 
         ldi.l   $r0, 0x0        # pass in NULL



More information about the vc mailing list