summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bfd/ChangeLog4
-rw-r--r--bfd/config.bfd4
-rw-r--r--gas/ChangeLog8
-rw-r--r--gas/config/tc-moxie.c5
-rw-r--r--gas/config/tc-moxie.h6
-rw-r--r--gas/configure.tgt5
-rw-r--r--ld/ChangeLog8
-rw-r--r--ld/Makefile.am4
-rw-r--r--ld/Makefile.in5
-rw-r--r--ld/configure.tgt2
-rw-r--r--ld/emulparams/moxiebox.sh9
11 files changed, 52 insertions, 8 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 1eb47c91d12..f18776175ce 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,7 @@
+2014-07-27 Anthony Green <green@moxielogic.org>
+
+ * config.bfd: Add moxie-*-moxiebox*.
+
2014-07-21 Joel Sherrill <joel.sherrill@oarcorp.com>
Add or reactivate or1k-*-rtems*
diff --git a/bfd/config.bfd b/bfd/config.bfd
index e082f1d5a08..1950ca01c5f 100644
--- a/bfd/config.bfd
+++ b/bfd/config.bfd
@@ -446,6 +446,10 @@ case "${targ}" in
targ_selvecs=moxie_elf32_le_vec
;;
+ moxie-*-moxiebox*)
+ targ_defvec=moxie_elf32_le_vec
+ ;;
+
h8300*-*-rtemscoff*)
targ_defvec=h8300_coff_vec
targ_underscore=yes
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 1861e37a015..d094926f6b8 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,11 @@
+2014-07-27 Anthony Green <green@moxielogic.com>
+
+ * configure.tgt (generic_target): Add moxie-*-moxiebox*
+ * config/tc-moxie.c: Remove moxie_target_format.
+ (md_begin): Set default target_big_endian.
+ * config/tc-moxie.h: Only set TARGET_BYTES_BIG_ENDIAN if unset.
+ (TARGET_FORMAT): Set based on target_big_endian.
+
2014-07-26 Alan Modra <amodra@gmail.com>
* config/bfin-parse.y: Don't include obstack.h.
diff --git a/gas/config/tc-moxie.c b/gas/config/tc-moxie.c
index 430a1449eb9..02a59b7c708 100644
--- a/gas/config/tc-moxie.c
+++ b/gas/config/tc-moxie.c
@@ -46,7 +46,6 @@ static valueT md_chars_to_number (char * buf, int n);
/* Byte order. */
extern int target_big_endian;
-const char *moxie_target_format = DEFAULT_TARGET_FORMAT;
void
md_operand (expressionS *op __attribute__((unused)))
@@ -75,6 +74,8 @@ md_begin (void)
for (count = 0, opcode = moxie_form3_opc_info; count++ < 10; opcode++)
hash_insert (opcode_hash_control, opcode->name, (char *) opcode);
+ target_big_endian = TARGET_BYTES_BIG_ENDIAN;
+
bfd_set_arch_mach (stdoutput, TARGET_ARCH, 0);
}
@@ -617,11 +618,9 @@ md_parse_option (int c ATTRIBUTE_UNUSED, char *arg ATTRIBUTE_UNUSED)
{
case OPTION_EB:
target_big_endian = 1;
- moxie_target_format = "elf32-bigmoxie";
break;
case OPTION_EL:
target_big_endian = 0;
- moxie_target_format = "elf32-littlemoxie";
break;
default:
return 0;
diff --git a/gas/config/tc-moxie.h b/gas/config/tc-moxie.h
index d5a24cd551b..ed4f273adbb 100644
--- a/gas/config/tc-moxie.h
+++ b/gas/config/tc-moxie.h
@@ -19,13 +19,13 @@
Foundation, 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
#define TC_MOXIE 1
+#ifndef TARGET_BYTES_BIG_ENDIAN
#define TARGET_BYTES_BIG_ENDIAN 1
+#endif
#define WORKING_DOT_WORD
/* This macro is the BFD architecture to pass to `bfd_set_arch_mach'. */
-const char *moxie_target_format;
-#define DEFAULT_TARGET_FORMAT "elf32-bigmoxie"
-#define TARGET_FORMAT moxie_target_format
+#define TARGET_FORMAT (target_big_endian ? "elf32-bigmoxie" : "elf32-littlemoxie")
#define TARGET_ARCH bfd_arch_moxie
diff --git a/gas/configure.tgt b/gas/configure.tgt
index 7ef0c06e93a..877f34d3e81 100644
--- a/gas/configure.tgt
+++ b/gas/configure.tgt
@@ -339,9 +339,10 @@ case ${generic_target} in
mn10300-*-linux*) fmt=elf em=linux ;;
mn10300-*-*) fmt=elf ;;
- moxie-*-uclinux) fmt=elf em=linux;;
+ moxie-*-uclinux) fmt=elf em=linux ;;
+ moxie-*-moxiebox*) fmt=elf endian=little ;;
moxie-*-*) fmt=elf ;;
-
+
mt-*-elf) fmt=elf bfd_gas=yes ;;
msp430-*-*) fmt=elf ;;
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 9354e640eba..e6ed34c9f82 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,11 @@
+2014-07-27 Anthony Green <green@moxielogic.com>
+
+ * Makefile.am (ALL_EMULATION_SOURCES): Add moxiebox support.
+ (emoxiebox.c): Build.
+ * configure.tgt (targ_extra_ofiles): Add moxie-*-moxiebox*.
+ * emulparams/moxiebox.sh (TEXT_START_ADDR): New file.
+ * Makefile.in: Rebuilt.
+
2014-07-17 Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
* emulparams/elf32or1k_linux.sh (TEXT_START_ADDR): Increase from
diff --git a/ld/Makefile.am b/ld/Makefile.am
index 8e8ae202c8a..9575f1f4232 100644
--- a/ld/Makefile.am
+++ b/ld/Makefile.am
@@ -247,6 +247,7 @@ ALL_EMULATION_SOURCES = \
eelf32microblazeel.c \
eelf32microblaze.c \
eelf32moxie.c \
+ emoxiebox.c \
eelf32mt.c \
eelf32or1k.c \
eelf32or1k_linux.c \
@@ -1160,6 +1161,9 @@ eelf32mipswindiss.c: $(srcdir)/emulparams/elf32mipswindiss.sh $(ELF_DEPS) \
eelf32moxie.c: $(srcdir)/emulparams/elf32moxie.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+emoxiebox.c: $(srcdir)/emulparams/moxiebox.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
eelf32mt.c: $(srcdir)/emulparams/elf32mt.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
diff --git a/ld/Makefile.in b/ld/Makefile.in
index 971dc5f8289..f89eaf96adf 100644
--- a/ld/Makefile.in
+++ b/ld/Makefile.in
@@ -555,6 +555,7 @@ ALL_EMULATION_SOURCES = \
eelf32microblazeel.c \
eelf32microblaze.c \
eelf32moxie.c \
+ emoxiebox.c \
eelf32mt.c \
eelf32or1k.c \
eelf32or1k_linux.c \
@@ -1173,6 +1174,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32microblazeel.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32mipswindiss.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32moxie.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emoxiebox.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32mt.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32or1k.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32or1k_linux.Po@am__quote@
@@ -2600,6 +2602,9 @@ eelf32mipswindiss.c: $(srcdir)/emulparams/elf32mipswindiss.sh $(ELF_DEPS) \
eelf32moxie.c: $(srcdir)/emulparams/elf32moxie.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+emoxiebox.c: $(srcdir)/emulparams/moxiebox.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
eelf32mt.c: $(srcdir)/emulparams/elf32mt.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
diff --git a/ld/configure.tgt b/ld/configure.tgt
index e74e9be0799..33fb378a2f8 100644
--- a/ld/configure.tgt
+++ b/ld/configure.tgt
@@ -188,6 +188,8 @@ fr30-*-*) targ_emul=elf32fr30
frv-*-*linux*) targ_emul=elf32frvfd ;;
frv-*-*) targ_emul=elf32frv ; targ_extra_emuls="elf32frvfd"
;;
+moxie-*-moxiebox*) targ_emul=moxiebox
+ ;;
moxie-*-*) targ_emul=elf32moxie
;;
h8300-*-hms* | h8300-*-coff* | h8300-*-rtemscoff*)
diff --git a/ld/emulparams/moxiebox.sh b/ld/emulparams/moxiebox.sh
new file mode 100644
index 00000000000..99b530a9ab6
--- /dev/null
+++ b/ld/emulparams/moxiebox.sh
@@ -0,0 +1,9 @@
+SCRIPT_NAME=elf
+TEMPLATE_NAME=generic
+EXTRA_EM_FILE=genelf
+OUTPUT_FORMAT="elf32-littlemoxie"
+TEXT_START_ADDR=0x1000
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+ARCH=moxie
+EMBEDDED=yes
+STACK_ADDR=0x400000