diff options
author | DJ Delorie <dj@redhat.com> | 2009-04-08 02:24:23 +0000 |
---|---|---|
committer | DJ Delorie <dj@redhat.com> | 2009-04-08 02:24:23 +0000 |
commit | 4d28413b409102b3fc5e7ed828e4014895143d4e (patch) | |
tree | 7a5eacf7d86bbb2bcb17943898110a1a563bc33a /gas | |
parent | e0edc2d941be04ac9e4000390cea2c68216e78da (diff) | |
download | gdb-4d28413b409102b3fc5e7ed828e4014895143d4e.zip gdb-4d28413b409102b3fc5e7ed828e4014895143d4e.tar.gz gdb-4d28413b409102b3fc5e7ed828e4014895143d4e.tar.bz2 |
[include/elf]
* 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.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 6 | ||||
-rw-r--r-- | gas/config/tc-mep.c | 31 | ||||
-rw-r--r-- | gas/config/tc-mep.h | 2 |
3 files changed, 35 insertions, 4 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index b809890..e42f0a2 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -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 diff --git a/gas/config/tc-mep.c b/gas/config/tc-mep.c index 5646b3f..eb43492 100644 --- a/gas/config/tc-mep.c +++ b/gas/config/tc-mep.c @@ -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; } diff --git a/gas/config/tc-mep.h b/gas/config/tc-mep.h index 505f53a..0861909 100644 --- a/gas/config/tc-mep.h +++ b/gas/config/tc-mep.h @@ -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 |