From 5139d21430b956d6e27ba1e3118030f874bbc3f2 Mon Sep 17 00:00:00 2001 From: Anthony Green Date: Sat, 10 Jan 2015 13:04:06 -0600 Subject: 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(-) (limited to 'c/src/lib/libbsp/moxie') diff --git a/c/src/lib/libbsp/moxie/moxiesim/configure.ac b/c/src/lib/libbsp/moxie/moxiesim/configure.ac index e073b4bbf0..ff87adda21 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 6b44a247dc..ae712cb3e4 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 -- cgit v1.2.3