[include/elf]
authorDJ Delorie <dj@redhat.com>
Wed, 8 Apr 2009 02:24:23 +0000 (02:24 +0000)
committerDJ Delorie <dj@redhat.com>
Wed, 8 Apr 2009 02:24:23 +0000 (02:24 +0000)
* mep.h (EF_MEP_CPU_C5): New.
[bfd]
* archures.c: Add bfd_mach_mep_c5.
* bfd-in2.h: Likewise.
* cpu-mep.c: Add bfd_c5_arch.
* elf32-mep.c: Support it.
[gas]
* config/tc-mep.c: Add UCI/DSP instruction support.  Add C5 support.
(md_show_usage): Change default endian to little.
* config/tc-mep.h (TARGET_BYTES_BIG_ENDIAN): Change default to little.
[ld]
* emulparams/elf32mep.sh: Change default endian to little.

12 files changed:
bfd/ChangeLog
bfd/archures.c
bfd/bfd-in2.h
bfd/cpu-mep.c
bfd/elf32-mep.c
gas/ChangeLog
gas/config/tc-mep.c
gas/config/tc-mep.h
include/elf/ChangeLog
include/elf/mep.h
ld/ChangeLog
ld/emulparams/elf32mep.sh

index ec604105a6e5e5b0bef1d83af5ed74392a80125e..b0a62b4be5c5db6bd4d9f4d0354a46a5dd12884e 100644 (file)
@@ -1,3 +1,10 @@
+2009-04-07  DJ Delorie  <dj@redhat.com>
+
+       * archures.c: Add bfd_mach_mep_c5.
+       * bfd-in2.h: Likewise.
+       * cpu-mep.c: Add bfd_c5_arch.
+       * elf32-mep.c: Support it.
+
 2009-04-07  H.J. Lu  <hongjiu.lu@intel.com>
 
        * elflink.c (_bfd_elf_section_already_linked): Add `\n' for
index fa03d81a698da7326b3a2a6cd0a1470b78029b27..b0bf14078a356ce1a01200734798ed0fffded9cf 100644 (file)
@@ -335,6 +335,7 @@ DESCRIPTION
 .  bfd_arch_mep,
 .#define bfd_mach_mep          1
 .#define bfd_mach_mep_h1       0x6831
+.#define bfd_mach_mep_c5       0x6335
 .  bfd_arch_ia64,      {* HP/Intel ia64 *}
 .#define bfd_mach_ia64_elf64   64
 .#define bfd_mach_ia64_elf32   32
index 646be2cae15df499a6f58c46649be78b708d4563..6629ed798528144d17a72dc6dad7c63f2047486f 100644 (file)
@@ -1972,6 +1972,7 @@ enum bfd_architecture
   bfd_arch_mep,
 #define bfd_mach_mep           1
 #define bfd_mach_mep_h1        0x6831
+#define bfd_mach_mep_c5        0x6335
   bfd_arch_ia64,      /* HP/Intel ia64 */
 #define bfd_mach_ia64_elf64    64
 #define bfd_mach_ia64_elf32    32
index a1617644e3030acd35a6e9238723f6a35c78dc3b..dfe251d862f9b8972fef886b6cfe7bb2745e5560 100644 (file)
@@ -24,5 +24,6 @@
 #define MA(x, n, def, y) { 32, 32, 8, bfd_arch_mep, x, "mep", n, \
        2, def, bfd_default_compatible, bfd_default_scan, y }
 
-static const bfd_arch_info_type bfd_h1_arch = MA (bfd_mach_mep_h1, "h1", FALSE, NULL);
+static const bfd_arch_info_type bfd_c5_arch = MA (bfd_mach_mep_c5, "c5", FALSE, NULL);
+static const bfd_arch_info_type bfd_h1_arch = MA (bfd_mach_mep_h1, "h1", FALSE, & bfd_c5_arch);
 const bfd_arch_info_type bfd_mep_arch = MA (bfd_mach_mep, "mep", TRUE, & bfd_h1_arch);
index 4e96a788c1f0f7bbce6e6b1e3af34ff68bfcd549..b1e4a1200308b24303f55a6d2198bcbd7cf6a845 100644 (file)
@@ -731,6 +731,7 @@ elf32_mep_machine (bfd * abfd)
     case EF_MEP_CPU_C2: return bfd_mach_mep;
     case EF_MEP_CPU_C3: return bfd_mach_mep;
     case EF_MEP_CPU_C4: return bfd_mach_mep;
+    case EF_MEP_CPU_C5: return bfd_mach_mep_c5;
     case EF_MEP_CPU_H1: return bfd_mach_mep_h1;
     }
 
index b8098902305080dcf3fbe70f64fe5f45c552b238..e42f0a27ac16a96e868f0e34c5a99cc27bd5e474 100644 (file)
@@ -1,3 +1,9 @@
+2009-04-07  DJ Delorie  <dj@redhat.com>
+
+       * config/tc-mep.c: Add UCI/DSP instruction support.  Add C5 support.
+       (md_show_usage): Change default endian to little.
+       * config/tc-mep.h (TARGET_BYTES_BIG_ENDIAN): Change default to little.
+
 2009-04-06  DJ Delorie  <dj@redhat.com>
 
        * tc-h8300.c (do_a_fix_imm): Pass the insn, force relocs for MOVA
index 5646b3f13f4e9ae64ec30caa4e625486fb73b04b..eb43492450a07cac1d7d323972b8e150e0a2273e 100644 (file)
@@ -136,7 +136,11 @@ static struct mep_hi_fixup * mep_hi_fixup_list;
 #define OPTION_NOREPEAT                (OPTION_MD_BASE + 26)
 #define OPTION_DEBUG           (OPTION_MD_BASE + 27)
 #define OPTION_NODEBUG         (OPTION_MD_BASE + 28)
-#define OPTION_LIBRARY         (OPTION_MD_BASE + 29)
+#define OPTION_UCI             (OPTION_MD_BASE + 29)
+#define OPTION_NOUCI           (OPTION_MD_BASE + 30)
+#define OPTION_DSP             (OPTION_MD_BASE + 31)
+#define OPTION_NODSP           (OPTION_MD_BASE + 32)
+#define OPTION_LIBRARY         (OPTION_MD_BASE + 33)
 
 struct option md_longopts[] = {
   { "EB",          no_argument, NULL, OPTION_EB},
@@ -163,6 +167,10 @@ struct option md_longopts[] = {
   { "mcop32",     no_argument, NULL, OPTION_COP32},
   { "mdebug",      no_argument, NULL, OPTION_DEBUG},
   { "mno-debug",   no_argument, NULL, OPTION_NODEBUG},
+  { "muci",        no_argument, NULL, OPTION_UCI},
+  { "mno-uci",     no_argument, NULL, OPTION_NOUCI},
+  { "mdsp",        no_argument, NULL, OPTION_DSP},
+  { "mno-dsp",     no_argument, NULL, OPTION_NODSP},
   { "mlibrary",    no_argument, NULL, OPTION_LIBRARY},
   { NULL, 0, NULL, 0 } };
 size_t md_longopts_size = sizeof (md_longopts);
@@ -283,6 +291,22 @@ md_parse_option (int c, char *arg ATTRIBUTE_UNUSED)
       optbits &= ~(1 << CGEN_INSN_OPTIONAL_DEBUG_INSN);
       optbitset |= 1 << CGEN_INSN_OPTIONAL_DEBUG_INSN;
       break;
+    case OPTION_UCI:
+      optbits |= 1 << CGEN_INSN_OPTIONAL_UCI_INSN;
+      optbitset |= 1 << CGEN_INSN_OPTIONAL_UCI_INSN;
+      break;
+    case OPTION_NOUCI:
+      optbits &= ~(1 << CGEN_INSN_OPTIONAL_UCI_INSN);
+      optbitset |= 1 << CGEN_INSN_OPTIONAL_UCI_INSN;
+      break;
+    case OPTION_DSP:
+      optbits |= 1 << CGEN_INSN_OPTIONAL_DSP_INSN;
+      optbitset |= 1 << CGEN_INSN_OPTIONAL_DSP_INSN;
+      break;
+    case OPTION_NODSP:
+      optbits &= ~(1 << CGEN_INSN_OPTIONAL_DSP_INSN);
+      optbitset |= 1 << CGEN_INSN_OPTIONAL_DSP_INSN;
+      break;
     case OPTION_LIBRARY:
       library_flag = EF_MEP_LIBRARY;
       break;
@@ -299,8 +323,8 @@ void
 md_show_usage (FILE *stream)
 {
   fprintf (stream, _("MeP specific command line options:\n\
-  -EB                     assemble for a big endian system (default)\n\
-  -EL                     assemble for a little endian system\n\
+  -EB                     assemble for a big endian system\n\
+  -EL                     assemble for a little endian system (default)\n\
   -mconfig=<name>         specify a chip configuration to use\n\
   -maverage -mno-average -mmult -mno-mult -mdiv -mno-div\n\
   -mbitops -mno-bitops -mleadz -mno-leadz -mabsdiff -mno-absdiff\n\
@@ -394,6 +418,7 @@ mep_machine (void)
     case EF_MEP_CPU_C2: return bfd_mach_mep;
     case EF_MEP_CPU_C3: return bfd_mach_mep;
     case EF_MEP_CPU_C4: return bfd_mach_mep;
+    case EF_MEP_CPU_C5: return bfd_mach_mep_c5;
     case EF_MEP_CPU_H1: return bfd_mach_mep_h1;
     }
 
index 505f53a7e49f9e3517d9246b6e0a53c1a3a92573..0861909ce5137a68b5465ec4f1a29d3198b976ec 100644 (file)
@@ -34,7 +34,7 @@
 #define TARGET_FORMAT (target_big_endian ? "elf32-mep" : "elf32-mep-little")
 
 /* This is the default.  */
-#define TARGET_BYTES_BIG_ENDIAN 1
+#define TARGET_BYTES_BIG_ENDIAN 0
 
 /* Permit temporary numeric labels. */
 #define LOCAL_LABELS_FB 1
index beb40b62f740eaef2abb540cf3dc0dbfecf9912c..f6e73fd8785bd5a0783e7697374efa72e0a28af0 100644 (file)
@@ -1,3 +1,7 @@
+2009-04-07  DJ Delorie  <dj@redhat.com>
+
+       * mep.h (EF_MEP_CPU_C5): New.
+
 2009-04-01  H.J. Lu  <hongjiu.lu@intel.com>
 
        * common.h (EM_INTEL178): Removed.
index 51eb8d06bc690eb9ee29fcf104d77061aeff33f1..456551669ac3d26e3859673c75854697ce66fe89 100644 (file)
@@ -73,6 +73,8 @@ END_RELOC_NUMBERS(R_MEP_max)
 #define EF_MEP_CPU_C2          0x01000000      /* MEP c2 */
 #define EF_MEP_CPU_C3          0x02000000      /* MEP c3 */
 #define EF_MEP_CPU_C4          0x04000000      /* MEP c4 */
+/* 5..7 are reseved */
+#define EF_MEP_CPU_C5          0x08000000      /* MEP c5 */
 #define EF_MEP_CPU_H1          0x10000000      /* MEP h1 */
 
 #define EF_MEP_LIBRARY         0x00000100      /* Built as a library */
index c0f3b61c5c42967fae62906894d3fefd4e484a70..316130761b7eaf8d1c71bac38ed08bc3e9fa74a8 100644 (file)
@@ -1,3 +1,7 @@
+2009-04-07  DJ Delorie  <dj@redhat.com>
+
+       * emulparams/elf32mep.sh: Change default endian to little.
+
 2009-04-07  Nick Clifton  <nickc@redhat.com>
 
        * ld.texinfo (Output Section Address): Note that specifying an
index 886ca4728515ea0d63b5f6ecde29aa1a46317a01..f72fe2af4d7deb1511cf0f4bcde12788346767a4 100755 (executable)
@@ -1,6 +1,6 @@
 MACHINE=
 SCRIPT_NAME=mep
-OUTPUT_FORMAT="elf32-mep"
+OUTPUT_FORMAT="elf32-mep-little"
 TEXT_START_ADDR=0x1000
 ARCH=mep
 MAXPAGESIZE=256