aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog10
-rw-r--r--gas/config/tc-microblaze.c11
-rw-r--r--gas/config/tc-microblaze.h4
-rw-r--r--gas/configure.tgt3
-rw-r--r--gas/testsuite/ChangeLog10
-rw-r--r--gas/testsuite/gas/microblaze/reloc_sym.d3
-rw-r--r--gas/testsuite/gas/microblaze/special_reg.d7
7 files changed, 39 insertions, 9 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index a029fbe..ddf1a1e 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,13 @@
+2012-11-09 David Holsgrove <david.holsgrove@xilinx.com>
+
+ * gas/microblaze/endian.exp: New file - endian testcase for microblaze / microblazeel.
+ * gas/microblaze/endian.s: Likewise.
+ * gas/microblaze/endian_be.d: Likewise.
+ * gas/microblaze/endian_le.d: Likewise.
+ * gas/microblaze/endian_le_elf.d: Likewise.
+ * gas/microblaze/reloc_sym.d: Update to accept targets other than elf32-microblaze.
+ * gas/microblaze/special_reg.d: Likewise.
+
2012-11-09 H.J. Lu <hongjiu.lu@intel.com>
* config/atof-ieee.c (gen_to_words): Remove trailing redundant
diff --git a/gas/config/tc-microblaze.c b/gas/config/tc-microblaze.c
index de0efda..04dfa1e 100644
--- a/gas/config/tc-microblaze.c
+++ b/gas/config/tc-microblaze.c
@@ -35,6 +35,9 @@
#define streq(a,b) (strcmp (a, b) == 0)
#endif
+#define OPTION_EB (OPTION_MD_BASE + 0)
+#define OPTION_EL (OPTION_MD_BASE + 1)
+
void microblaze_generate_symbol (char *sym);
static bfd_boolean check_spl_reg (unsigned *);
@@ -1707,6 +1710,8 @@ const char * md_shortopts = "";
struct option md_longopts[] =
{
+ {"EB", no_argument, NULL, OPTION_EB},
+ {"EL", no_argument, NULL, OPTION_EL},
{ NULL, no_argument, NULL, 0}
};
@@ -2304,6 +2309,12 @@ md_parse_option (int c, char * arg ATTRIBUTE_UNUSED)
{
switch (c)
{
+ case OPTION_EB:
+ target_big_endian = 1;
+ break;
+ case OPTION_EL:
+ target_big_endian = 0;
+ break;
default:
return 0;
}
diff --git a/gas/config/tc-microblaze.h b/gas/config/tc-microblaze.h
index db8d227..0651040 100644
--- a/gas/config/tc-microblaze.h
+++ b/gas/config/tc-microblaze.h
@@ -23,8 +23,10 @@
#define TC_MICROBLAZE 1
#define TARGET_ARCH bfd_arch_microblaze
+#ifndef TARGET_BYTES_BIG_ENDIAN
/* Used to initialise target_big_endian. */
#define TARGET_BYTES_BIG_ENDIAN 1
+#endif
#define IGNORE_NONSTANDARD_ESCAPES
@@ -75,7 +77,7 @@ extern const struct relax_type md_relax_table[];
#ifdef OBJ_ELF
-#define TARGET_FORMAT (target_big_endian ? "elf32-microblaze" : "elf32-microblaze-little")
+#define TARGET_FORMAT (target_big_endian ? "elf32-microblaze" : "elf32-microblazeel")
#define ELF_TC_SPECIAL_SECTIONS \
{ ".sdata", SHT_PROGBITS, SHF_ALLOC + SHF_WRITE }, \
diff --git a/gas/configure.tgt b/gas/configure.tgt
index ff4cb3f..774031e 100644
--- a/gas/configure.tgt
+++ b/gas/configure.tgt
@@ -57,7 +57,8 @@ case ${cpu} in
m6811|m6812|m68hc12) cpu_type=m68hc11 ;;
m683??) cpu_type=m68k ;;
mep) cpu_type=mep endian=little ;;
- microblaze*) cpu_type=microblaze ;;
+ microblazeel*) cpu_type=microblaze endian=little;;
+ microblaze*) cpu_type=microblaze endian=big;;
mips*el) cpu_type=mips endian=little ;;
mips*) cpu_type=mips endian=big ;;
mt) cpu_type=mt endian=big ;;
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index b007717..7797e19 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,13 @@
+2012-11-09 David Holsgrove <david.holsgrove@xilinx.com>
+
+ * gas/microblaze/endian.exp: New file - endian testcase for microblaze / microblazeel.
+ * gas/microblaze/endian.s: Likewise.
+ * gas/microblaze/endian_be.d: Likewise.
+ * gas/microblaze/endian_le.d: Likewise.
+ * gas/microblaze/endian_le_elf.d: Likewise.
+ * gas/microblaze/reloc_sym.d: Update to accept targets other than elf32-microblaze.
+ * gas/microblaze/special_reg.d: Likewise.
+
2012-11-08 Maciej W. Rozycki <macro@codesourcery.com>
* gas/mips/lui.d: New test.
diff --git a/gas/testsuite/gas/microblaze/reloc_sym.d b/gas/testsuite/gas/microblaze/reloc_sym.d
index 212d0bb..571ffe1 100644
--- a/gas/testsuite/gas/microblaze/reloc_sym.d
+++ b/gas/testsuite/gas/microblaze/reloc_sym.d
@@ -1,6 +1,5 @@
-reloc_sym.x: file format elf32-microblaze
-
+.*: +file format .*
Disassembly of section .text:
diff --git a/gas/testsuite/gas/microblaze/special_reg.d b/gas/testsuite/gas/microblaze/special_reg.d
index aad0131..c2041fd 100644
--- a/gas/testsuite/gas/microblaze/special_reg.d
+++ b/gas/testsuite/gas/microblaze/special_reg.d
@@ -1,10 +1,7 @@
#as:
-#objdump: -ds
+#objdump: -d
-.*: file format .*
-
-Contents of section .text:
- 0000 9409d000 6c00d000 001ff800 ....l.......
+.*: +file format .*
Disassembly of section .text: